自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 《微服务》链路追踪(十)

Spring Cloud Sleuth 提供了与 Zipkin 的集成,可以通过在微服务中添加相应的依赖和配置,将追踪信息发送到 Zipkin 服务器,并通过 Zipkin UI 进行可视化展示和查询。它提供了与 Spring Cloud Sleuth 的集成,可以将追踪数据发送到 Pinpoint 服务器,并通过其 UI 进行分析和监控。在微服务中,有的山下游可能有十几个服务,如果某一环出了问题,排查起来非常困难,所以,就需要进行链路追踪,来帮助排查问题。

2023-11-05 23:40:45 46

原创 《微服务》分布式事务(九)

分布式事务是相对本地事务而言的,对于本地事务,利用数据库本身的事务机制,就可以保证事务的ACID特性。以往咱们在单机环境里边,事务基本上是靠数据库自身提供的特性来实现的。我们不用操心,但是一旦到了分布式环境,光靠数据库就篼不住了。不仅是跨进程、跨节点,最主要的还有一个不靠谱的网络。很可能导致部分服务成功而另一部分服务失败,整个业务流程就出问题,一堆脏数据。分布式事务其实就是将对同一库事务的概念扩大到了对多个库的事务。目的是为了保证分布式系统中的数据一致性。

2023-11-05 23:31:59 38

原创 《微服务》服务网关(八)

断言用于匹配请求的条件,如果请求满足断言的条件,则会应用所配置的过滤器。Spring Cloud Gateway提供了多种内置的断言,如Path(路径匹配)、Method(请求方法匹配)、Header(请求头匹配)等,同时也支持自定义断言。路由规则可以根据请求的路径、方法、请求头等条件进行匹配,并指定转发的目标URI。它根据路由配置和断言条件进行路由匹配,选择合适的路由进行请求转发。通过使用API网关,可以简化前端与后端服务的交互,提供统一的接口和安全性保障,同时也方便了服务治理和监控。

2023-11-05 22:42:30 69

原创 《微服务》负载均衡(七)

Ribbon在发起请求前,会从“服务中心”获取服务列表(清单),然后按照一定的负载均衡策略去发起请求,从而实现客户端的负载均衡。Ribbon本身也维护着“服务提供者”清单的有效性。如果它发现“服务提供者”不可用,则会重新从“服务中心”获取有效的“服务提供者”清单来及时更新。Ribbon是Netflix开源的一个客户端负载均衡器,可以与Feign无缝集成,为Feign提供负载均衡的能力。在Feign中,负载均衡是通过集成Ribbon来实现的。

2023-11-05 21:40:32 44

原创 《微服务》服务调用(六)

实际上,Dubbo可以使用HTTP协议作为通信方式,而Feign也可以集成RPC协议进行远程调用。一些RPC框架比如gRPC,底层传输协议其实也是用的HTTP2,包括Dubbo3,也兼容了gRPC,使用了HTTP2作为传输层的一层协议。● RPC(Remote Procedure Call,远程过程调用)是一种用于分布式系统之间通信的协议,强调的是服务之间的远程调用。在微服务体系里,基于HTTP风格的远程调用通常使用框架如Feign来实现,基于RPC的远程调用通常使用框架如Dubbo来实现。

2023-11-05 21:29:02 32

原创 《微服务》配置中心(五)

● 配置变化:在 29.5s 内任意一个时刻配置变化,会触发一个事件机制,监听到该事件的任务会遍历 allSubs 队列,找到发生变更的配置项对应的 ClientLongPolling 任务,将变更的数据通过该任务中的连接进行返回。通过长轮询的方式,Nacos客户端能够实时感知配置的变化,并及时获取最新的配置信息。微服务的实例一般非常多,如果每个实例都需要一个个地去做这些配置,那么运维成本将会非常大,这时候就需要一个集中化的配置中心,去管理这些配置。配置中心,说白了就是一句话:配置信息的CRUD。

2023-11-05 21:17:46 87

原创 《微服务》注册中心(四)

SpringCloud可以与多种注册中心进行集成,常见实现方式Eureka、ZooKeeper、Nacos,怎么保证高可用

2023-11-05 19:07:53 22

原创 《微服务》组件篇(三)

微服务给系统开发带来了一些问题和挑战,如服务调用的复杂性、分布式事务的处理、服务的动态管理等。为了更好地解决这些问题和挑战,各种微服务治理的组件应运而生,充当微服务架构的基石和支撑。注册中心是用来管理和维护分布式系统中各个服务的地址和元数据的组件。它主要用于实现服务发现和服务注册功能。

2023-11-05 18:58:04 20

原创 《微服务》方案篇(二)

○ Spring Cloud Netflix 是 Spring Cloud 的一个子项目,结合了 Netflix 开源的多个组件,但是Netflix自2018年停止维护和更新Netflix OSS项目,包括Eureka、Hystrix等组件,所以Spring Cloud Netflix也逐渐进入了维护模式。○ 该项目包括 Nacos(服务注册与发现、配置管理)、Sentinel(流量控制、熔断降级)、RocketMQ(消息队列)等组件,以及与 Alibaba Cloud(阿里云)的集成。

2023-11-05 18:51:55 22

原创 《微服务》概念篇(一)

微服务架构具有更高的灵活性和可维护性,适用于复杂的大型系统,强调服务的自治和独立性,在微服务架构中,服务之间通过轻量级的通信机制(如RPC、HTTP等)进行通信。但是,实施微服务架构也需要投入大量的工作,包括服务的定义、通信机制的选择、服务的管理等。引用一句话“好的架构是演化出来的,而不是设计出来的”。SOA的优点是提供了跨系统的服务复用和松散耦合的交互方式,但实现SOA需要投入大量的工作,包括服务的定义、接口的选择、协议的制定等。单体应用、SOA和微服务架构都是不同的架构风格,适用于不同的情况。

2023-11-05 18:40:12 24

原创 DDD领域设计模型

DDD领域设计模型究竟是什么?是新的架构还是设计模式?本文通过我的学习总结彻底搞懂DDD领域设计模型

2023-11-04 23:32:52 144

原创 Maven通过BOM 版本控制

前言:之前我们做过项目的版本控制,但是因为每个服务的pom文件都要修改自己项目打包出来的版本号和自己需要引入的其他Api的版本号比较繁琐(如下图),不适用于微服务调用太多,每个人负责多个模块,且版本多快节奏的开发,但是版本控制还是需要去做起来,本次基与Bom管理项目的版本,简化版本控制时相互依赖的版本号配置;预期:通过一个地方统一配置,能够实现根据配置的地方打出配置的版本的Jar包,并依赖配置的的版本的Jar包,一个配置解决打包和依赖版本的问题;结果:通过bom管理的方式仅能够控制服务依赖的版本,并不

2021-10-28 14:01:33 1561

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除