01-了解微服务架构的演变过程和微服务技术栈

微服务

微服务架构演变

单体架构:将业务的所有功能集中在一个项目中开发最后打成一个包部署

  • 优点: 架构简单, 部署成本低,适合小型项目
  • 缺点: 耦合度高, 升级维护困难

在这里插入图片描述

分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发称为一个服务

  • 优点: 降低服务耦合, 有利于服务升级和拓展, 适合大型互联网项目

  • 缺点: 服务调用关系错综复杂,服务拆分时需要制定一套标准约定服务拆分的细粒度,服务之间如何实现远程调用,服务的调用关系如何管理等问题

在这里插入图片描述

微服务架构: 随着互联网行业的发展对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构(经过良好架构设计的分布式架构方案)

  • 优点:拆分力度更小、服务更独立、耦合度更低
  • 缺点:架构非常复杂,运维、监控、部署难度提高

在这里插入图片描述

微服务架构方案

微服务的架构特性: 就是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性, 做到高内聚,低耦合

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
  • 自治:团队独立、技术独立、数据独立,独立部署和交付
  • 面向服务:服务提供统一标准的接口与语言和技术无关
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题,例如积分服务挂了,不能影响到用户服务等其他服务

人们需要指定一套行之有效的标准来约束分布式架构,而微服务就是一种经过良好架构设计的分布式架构方案,不同厂商提供了不同的架构方案

在这里插入图片描述

SpringCloud

SpringCloud是目前使用最广泛的微服务架构方案,它集成了各种微服务功能组件并基于SpringBoot实现了组件的自动装配,从而提供了良好的开箱即用体验

功能组件
微服务注册与发现Eureka, Nacos, Consul
服务远程调用OpenFeign, Dubbo
服务链路监控Zipkin, Sleuth
统一配置管理SpringCloudConfig, Nacos
统一网关路由SpringCloudGateway, Zuul
流控、降级、保护Hystix, Sentinel

SpringCloud底层是依赖于SpringBoot的并且有版本的兼容关系

Release TrainBoot Version
2020.0.x aka llford2.4.x
Hoxton2.2.x,2.3.x (对应SR5以上的版本)
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.X

微服务技术栈

微服务架构在项目中的具体应用

在这里插入图片描述

微服务架构中涉及到的组件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/199930.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqli-labs关卡18(基于http头部报错盲注)通关思路

文章目录 前言一、靶场通关需要了解的知识点1、什么是http请求头2、为什么http头部可以进行注入 二、靶场第十八关通关思路1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识,禁止用于做…

代码随想录Day51 完结篇 LeetCode T84 柱状图的最大矩形

前言 今天代码随想录一刷也告一段落了,没想到我居然坚持下来了,一节都没有落下,学习到了很多种不同的解题思路,也和大家一块交流了很多,哈哈也许不久以后我还得再次二刷代码随想录,希望这一系列的题解能给大家带来帮助,如想要系统学习,请参照代码随想录网站的题解以及b站的配套…

数据库系统原理与实践 笔记 #9

文章目录 数据库系统原理与实践 笔记 #9存储管理与索引文件和记录的组织文件组织定长记录变长记录分槽的页结构文件中记录的组织顺序文件组织多表聚簇文件组织 数据库系统原理与实践 笔记 #9 存储管理与索引 文件和记录的组织 文件组织 数据库是以一系列文件的形式存储的。…

第四代智能井盖传感器,实时守护井盖位安全

城市管理中井盖的安全问题始终是一个不容忽视的方面。传统的巡检方式不仅效率低下,无法实现实时监测,而且很难准确掌握井盖的异动状态。因此智能井盖传感器的应用具有重要意义。这种智能传感器可以帮助政府实时掌握井盖的状态,一旦发现异常情…

OpenCV快速入门:窗口交互

文章目录 前言一、鼠标操作1.1 鼠标操作简介1.2 鼠标事件类型(event类型)1.3 鼠标事件标志(flags)1.4 代码示例1.4.1 获取鼠标坐标位置1.4.2 监听鼠标滚轮事件1.4.3 在图像中显示鼠标坐标 二、键盘操作2.1 代码示例2.2 waitKey的等…

JS判断是否存在某个元素(includes、indexOf、find、findeIndex、some)(every 数组内所有值是否相同)

方法一:array.includes(searcElement[,fromIndex]) 此方法判断数组中是否存在某个值,如果存在返回true,否则返回false。 searchElement:需要查找的元素,必选。fromIndex:可选,从该索引处开始查…

SQLMAP --TAMPER的编写

跟着师傅的文章进行学习 sqlmap之tamper脚本编写_sqlmap tamper编写-CSDN博客 这里学习一下tamper的编写 这里的tamper 其实就是多个绕过waf的插件 通过编写tamper 我们可以学会 在不同过滤下 执行sql注入 我们首先了解一下 tamper的结构 这里我们首先看一个最简单的例子…

动捕设备如何推动线下活动以虚拟主持人创新升级互动形式

随着元宇宙概念兴起,虚拟主持人结合全身动捕设备可以依托大屏、全息等形式直观呈现于线下活动,通过动捕设备实时驱动虚拟主持人,将现实活动场景与虚拟相连接,让活动以科技感、多元化的形式呈现,给活动参与者一种新的视…

YOLOv8优化策略:轻量级Backbone改进 | VanillaNet极简神经网络模型 | 华为诺亚2023

🚀🚀🚀本文改进:一种极简的神经网络模型 VanillaNet,支持vanillanet_5, vanillanet_6, vanillanet_7, vanillanet_8, vanillanet_9, vanillanet_10, vanillanet_11等版本 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,…

【自动驾驶解决方案】C++取整与保留小数位

一、C基础 1.1double型保留小数为&#xff0c;并以字符输出 #include <iostream> #include <sstream> #include <iomanip> // 包含std::fixedint main() {//浮点数double number 3.1415926;//转换工具类streamstd::stringstream stream;stream << s…

从入门到精通,mac电脑录屏软件使用教程!

“mac电脑怎么录屏呀&#xff0c;刚买了一台mac电脑&#xff0c;用了几个月感觉挺流畅的&#xff0c;最近因为工作原因&#xff0c;需要用到录屏功能&#xff0c;但是我不会操作&#xff0c;想问问大家有没有简单易懂的录屏教程&#xff0c;谢谢啦。” 在日常生活中&#xff0…

常见Web安全

一.Web安全概述 以下是百度百科对于web安全的解释&#xff1a; Web安全&#xff0c;计算机术语&#xff0c;随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生&#xff0c;基于Web环境的互联网应用越来越广泛&#xff0c;企业信息化的过程中各种应用都架设在Web平台…

客户端性能优化实践

背景 双十一大促时&#xff0c;客户客服那边反馈商品信息加载卡顿&#xff0c;在不断有订单咨询时&#xff0c;甚至出现了商品信息一直处于加载状态的情况&#xff0c;显然&#xff0c;在这种高峰期接待客户时&#xff0c;是没法进行正常的接待工作的。 起初&#xff0c;页面一…

音视频技术在手机上的应用与挑战

// 编者按&#xff1a;随着手机相机功能日益强大&#xff0c;4k&#xff0c;8k&#xff0c;各类特色短视频的拍摄&#xff0c;编辑、播放需求日益增长&#xff0c;短视频应用的火爆也对当前的手机音视频技术提出了更高的要求&#xff0c;如何更好地提高用户体验成为了行业共同…

基于SpringBoot+Mybatis+layui的学生成绩管理系统

基于SpringBootMybatislayui的学生成绩管理系统 随着全球信息化的发展&#xff0c;人们的生活节奏越来越快&#xff0c;对信息的时效性越来越重视。以传统的宣传方式为载体的传统媒介早已不能满足用户对获取信息的方式、便捷性的需求。所以平时成绩管理系统渐渐成为用户关注的…

redis--高可用之持久化

redis高可用相关知识 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供正常服务( 如主…

es的优势

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…

白鳝:聊聊IvorySQL的Oracle兼容技术细节与实现原理

两年前听瀚高的一个朋友说他们要做一个开源数据库项目&#xff0c;基于PostgreSQL&#xff0c;主打与Oracle的兼容性&#xff0c;并且与PG社区版内核同步发布。当时我听了有点不太相信&#xff0c;瀚高的Highgo是在PG内核上增加了一定的Oracle兼容性的特性&#xff0c;一般也会…

vue和uni-app的递归组件排坑

有这样一个数组数据&#xff0c;实际可能有很多级。 tree: [{id: 1,name: 1,children: [{ id: 2, name: 1-1, children: [{id: 7, name: 1-1-1,children: []}]},{ id: 3, name: 1-2 }]},{id: 4,name: 2,children: [{ id: 5, name: 2-1 },{ id: 6, name: 2-2 }]} ]要渲染为下面…

11.15 监控目录文件变化

监视对指定目录的更改&#xff0c;并将有关更改的信息打印到控制台&#xff0c;该功能的实现不仅可以在内核层&#xff0c;在应用层同样可以。程序中使用ReadDirectoryChangesW函数来监视目录中的更改&#xff0c;并使用FILE_NOTIFY_INFORMATION结构来获取有关更改的信息。 Re…