- 博客(37)
- 收藏
- 关注
原创 第十五章 Seata处理分布式事务
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。一个典型的分布式事务过程: 分布式事务处理过程的ID+三组件模型: 全局唯一的事务ID:Transaction ID XID 三组件概念: Transaction Coordinator(TC):事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。Transaction Manager(TM):控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。
2023-12-28 23:45:37
1071
原创 第十四章 Sentinel实现熔断与限流
GitHub - alibaba/Sentinel: A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)Hystrix:需要程序员自己搭建监控平台,没有更加细粒度的流控、速率控制、服务熔断、服务降级...;而Sentinel提供了细粒度的web界面的控制操作。Sentinel下载安装。
2023-12-28 23:33:08
1642
原创 第十三章 Nacos服务注册和配置中心
nacos由来:前四个字母分别为Naming和Configuration的前两个字母,最后的s为Seryice。是什么:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。homenacos服务端下载,默认启动是集群的,所以如果是windows启动的话, 命令:startup.cmd -m standalone。
2023-12-28 22:55:12
979
原创 第十二章 Sleuth分布式请求链路跟踪
问题:在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。是什么:Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且兼容支持了zipkin。
2023-12-28 22:36:56
899
原创 第十一章 Stream消息驱动
作用:屏蔽底层消息中间件的差异,降低切换成本,统—消息的编程模型。底层不管是什么中间件如kafka、rabbitmq,Stream可以解决不同中间件的通信。官网官方定义Spring Cloud Stream是一个构建消息驱动微服务的框架。应用程序通过 inputs 或者 outputsj来与Spring Cloud Stream中binder对象交互。通过我们配置来binding(绑定),而Spring Cloud Stream的 binder对象负责与消息中间件交互。
2023-12-28 22:30:52
1085
原创 第十章 Bus信息总线
Springcloud Config使用可以实现配置的动态刷新,防止忘记手动刷新。是什么?Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架, 它整合了Java的事件处理机制和消息中间件的功能。Bus支持两种代理:RabbitMQ和Kafka。上图是直接推送给一个服务,也可以直接推送给server config这个服务,来实现消息的推送。什么是总线在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。
2023-12-28 22:20:54
1283
原创 第九章 Config分布式配置中心
分布式系统面临的配置问题:微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。config是什么?SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。config能干什么?1.集中管理配置文件。
2023-12-28 22:11:14
872
原创 第八章 Gateway网关
Gateway该项目提供了一个构建在Spring生态系统之上的API网关,包括:Spring 5、Spring Boot 2和project Reactor。Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到API,并为它们提供跨领域的关注点,例如:安全性、监控/度量和弹性。
2023-12-28 22:01:49
892
原创 第七章 Hystrix断路器
分布式系统面临的问题:高内聚,低耦合。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的扇出如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张,导致整个系统发生更多的级联故障。
2023-12-28 21:53:07
856
原创 第六章 OpenFeign服务接口调用
openfeign主要用于客户端,作为服务调用,如同RestTempalte。Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。Feign能干什么。
2023-12-28 21:39:40
1084
原创 第五章 Ribbon负载均衡服务调用
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。
2023-12-28 21:31:52
1688
原创 第四章 Consul服务注册与发现
Consul是HashiCorp公司推出的开源工具,Consul由Go语言开发,部署起来非常容易,只需要极少的可执行程序和配置文件,具有绿色、轻量级的特点。Consul是分布式的、高可用的、 可横向扩展的用于实现分布式系统的服务发现与配置。服务发现(Service Discovery):Consul提供了通过DNS或者HTTP接口的方式来注册服务和发现服务。一些外部的服务通过Consul很容易的找到它所依赖的服务。
2023-12-28 21:26:06
915
原创 第三章 Zookeeper服务注册与发现
zookeeper是一个分布式协调工具,可以实现注册中心功能;连接zookeeper注册中心时要关闭Linux服务器防火墙后启动zooleeper服务器或者Linux暴露端口;zookeeper服务器取代Eureka服务器,zk作为服务注册中心。zookeeper是临时节点,每一次停的之后,在启动会生成新流水号。jar包冲突,安装于linux上的zookeeeper与jar的版本不同。pom文件跟cloud-provider-payment8004一样。controller层。
2023-12-28 21:19:14
825
原创 第二章 Eureka服务注册与发现
在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
2023-12-28 21:04:28
1496
1
原创 CentOS7安装教程
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-payVPFI0-1681487783105)(C:\Users\MYA20000201\AppData\Roaming\Typora\typora-user-images\image-20230414234940481.png)]可以设置自动分区,也可以自定义分区(一般是boot(ext4、标准分区)\swap\根分区(ext4、标准分区))。对于很多程序开发者,需要设置软件,可以根据自己适当勾选,点击完成。
2023-06-04 19:26:20
880
原创 JWT(Json web token)
JWT简单使用就是生成token和解析token的工具类。JWT可以与Shiro和SpringSecurity连用。
2022-10-23 15:09:12
5502
原创 SpringBoot缓存注解使用(无数据库操作)
SpringBoot缓存注解使用(无数据库操作)缓存注解介绍 @EnableCaching注解:开启注解缓存的支持 @Cacheable注解:对方法的查询结果进行缓存 @CachePut注解:更新缓存 @CacheEvict注解:删除缓存 @Caching注解:处理复杂缓存 @CacheConfig注解:统筹管理@CachePut、@CacheEvict、@Caching 项目层次结构pom文件,创建项目时勾上web\t.
2022-05-22 23:28:42
1027
原创 装饰模式简述
动态地给一个对象增加一些额外的职责。就扩展功能而言,装修模式提供了一种比使用子类更加灵活的替代方案。装饰模式结构 Component(抽象构件角色):定义一个抽象接口以规范准备接收附加责任的对象。 ConcreteComponent(具体构件角色):实现抽象构件,通过装饰角色为其添加一些职责(构件本质不变的空间)。 Decorator(抽象装饰角色):继承抽象构件,并包含具体构件的实例,可以通过其子类扩展具体构件的功能。 ConcreteDecorator(具体装饰角
2022-05-13 11:41:17
421
原创 简单工厂模式
简单工厂模式定义一个工厂类,他可以根据参数的不同返回不同的实例,被创建的实例通常都具有共同的父类。简单工厂模式结构 Factory(工厂角色):简单工厂模式的核心,负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。 Product(抽象产品角色):是简单工厂创建的所有对象的父类,负责描述所有实例共有的公共接口。 ConcreteProduct(具体产品角色):是简单工厂模式的创建目标。 类图 自己理解.
2022-05-09 22:40:40
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人