SpringCloud全家桶---常用微服务组件(1)

在这里插入图片描述

注册中心:
*作用: 服务管理
Eureka(不推荐)[读音: 优瑞卡]
Nacos(推荐)
Zookeeper [读音: 如k波]
Consul [读音:康寿]

**注册中心的核心功能原理(nacos)**
服务注册: 当服务启动时,会通过rest接口请求的方式向Nacos注册自己的服务
服务心跳:  NacosClient 会维护一个定时心跳持续通知NacosServer,默认5秒一次,超过15秒,会将服务健康状态设置为false(拉去时会忽略),超过30秒会剔除
服务发现: nacosClient定时任务,实时去拉去健康服务
服务终止: NacosClient会主动通过Rest请求NacosService,

负载均衡:
* 作用: 客户端的负载均衡
ribbon [读音: 瑞本]
LodaBalancer(推荐)

服务调用
*作用: 能像调用本地方法一样优雅
Feign(不推荐)
OpenFeign(推荐)
Dubbo

配置中心
SpringCloud config
NacosConfig(推荐)

服务熔断:
*防止服务雪崩,防止流量激增打垮冷系统
Hystrix
sentinel(推荐) [读音: 申特闹 ]

分布式事务
Seata

有四种模式: AT、TCC、SAGA 和XA Seata实现原理:
两个阶段,三个角色
TC: 事务协调者,独立运行seata-server,用于接受事务注册,提交和回滚
TM: 事务管理者(发起者),告诉TC全局事务提交回滚
RM: 事务资源,每一个RM都会作为一个分支事务注册在TCAT模式: 
第一阶段: 
TM(事务发起者)向TC申请开启一个全局事务,事务创建并生成一个全局唯一的XID
XID在微服务调用链路的上下文中传播
① seata会拦截"业务sql",解析sql语句
②查询 “业务SQL” 要更新的业务数据,在业务数据被更新前,将其保存成 “before image”
③执行 “业务SQL” ,更新业务数据
④查询更新后的数据,将其保存成 “after image”
⑤将 before image 和 after image 保存至 Undo Log 表中
生成行锁
以上操作全部在一个数据库事务内完成,这样保证了一阶段操作的原子性。
提交前RM(事务资源)会向TC(事务协调者)注册分支;
TM(事务发起者)向TC(事务协调者)发起针对XID的全局提交或回滚,将本地事务提交结果上报给TC第二阶段:
提交:   因为 “业务SQL” 在一阶段已经提交至数据库,所以 Seata 框架只需将一阶段保存的快照数据(Undo Log )和行锁删掉,完成数据清理即可。
回滚:   校验当前数据和 after image 数据,数据一致说明没脏写,可以还原数据,脏写了就要转人工处理;
用before image 还原数据,删除undolog数据和行锁

服务网关
*作用: 一些本身跟业务无关的公共逻辑,鉴权,日志,限流,跨域
zuul
SpringCloudGateway(推荐)
linkred
Kong

业务网关: 降级/熔断,负载均衡,鉴权,业务规则,参数校验
流量网关:  安全策略,流量分发,跨域实现

链路追踪
*作用: 追踪服务健康状况
Skywalking(推荐)
Zipkin

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

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

相关文章

基于SpringBoot的教师宿舍管理系统设计与实现(源码+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的教师宿…

盘点被吹爆的桌面便签小工具

桌面便签小工具有很多,任何一款桌面便签小工具都有它的优缺点,而那些被吹爆了好用的桌面便签小工具往往是优点远多于缺点,从而深受用户的喜爱,今天我们来给大家盘点一款被很多行业吹爆了的桌面便签小工具:好用便签。 …

高盛:日本这轮通胀是否可持续,关键看房租

租金在日本CPI中的权重高达20%,高盛预计短期内租金将继续拖累通胀至1.7%或以下,长期有望温和上行,使通胀稳在2%的水平。 日本正在转向“去通缩”,房租能否支撑通胀态势? 在日股今年一路高歌、有望“收复失地”时&…

openEuler2203 LTS安装VMware WorkStation Pro 17并远程桌面连接Linux服务器

openEuler 2203 LTS默认只有命令行,没有GUI图形界面,在其中安装VMware WorkStation需要有图形界面的支持。这里以安装深度的DDE桌面环境,最后通过VNC远程桌面连接Linux服务器操作VMware WorkStation。 以下操作请保持网络能正常连接 1、安装…

零到大师:嵌入式Linux学习书单分享

大家好,我是知微! 上一篇推荐的书单嵌入式软件必读10本书_单片机篇,收到反响很好。再推荐一篇嵌入式Linux相关的书单。 《鸟哥的Linux私房菜》 鸟哥的Linux系列适合零基础小伙伴,从电脑基础到文件系统、shell脚本等等&#xff…

LabVIEW多场景微振动测试平台与教学应用

LabVIEW多场景微振动测试平台与教学应用 在多种工程实践中,微振动的测试与分析对于评估结构的稳定性及其对环境的影响至关重要。针对这一需求,开发了一套基于NI-cDAQ和LabVIEW的多场景微振动测试平台,提高微振动测试的精确度与灵活性&#x…

游戏平台如何定制开发?

随着科技的飞速发展和互联网的普及,游戏平台已成为人们休闲娱乐的重要选择。为了满足用户多样化的需求,游戏平台的定制开发显得尤为重要。本文将探讨游戏平台定制开发的过程、关键要素以及注意事项,为有志于涉足此领域的开发者提供参考。 一、…

【踩坑专栏】主机ping虚拟机失败

我出现的问题finalshell连接超时,ping了一下发现ping都ping不通,于是发现问题所在。 最开始我是把虚拟机的网络设置改为桥接模式,问题解决了,但是这种模式的问题就是每次开机,ip都会改变,因此非常麻烦&…

消息中间件之RocketMQ源码分析(十二)

Namesrv启动流程 Broker启动流程 BrokerStartup.java类主要负责为真正的启动过程做准备,解析脚本传过来的参数,初始化Broker配置,创建BrokerController实例等工作。BrokerController.java类是Broker的掌控者,它管理和控制Broker的…

在QWidget里面放上QTabWidget更改它的qss样式

如上图QWidget里面放了QTabWidget qss这样写

高级语言期末2015级唐班B卷

1.编写函数&#xff0c;按照如下公式计算圆周率π的值&#xff08;精确到1e-5&#xff09; #include <stdio.h>double pai() {double last0;double flag1;int n1;while(flag-last>1e-5) {lastflag;flag*1.0*(2*n)*(2*n)/((2*n-1)*(2*n1));n;}return 2*last; }int main…