SpringCloud
文章平均质量分 86
IDShine
这个作者很懒,什么都没留下…
展开
-
Spring Cloud之-Spring Cloud Alibaba Seata处理分布式事务- 20(个人笔记)
1、分布式事务问题在分布式架构的系统中,通常会存在分布式事务的问题,也就是一次业务操作可能需要跨多个数据源或多个系统进行,这就是分布式事务问题,多个数据源在物理上是分开的,但是在业务上必须保证是整体的,否则就会出现错误的数据。...原创 2021-11-07 22:05:39 · 318 阅读 · 0 评论 -
Spring Cloud之-Spring Cloud Alibaba Sentinel实现熔断与限流- 19(个人笔记)
1.SentinelSentinel的GitHub地址:https://github.com/alibaba/Sentinel。它的作用和Hystrix非常类似,但是使用起来比Hystrix更加方便。Hystrix需要程序员手工搭建监控平台,而且没有一套Web界面实现更细粒度的配置,所以还是有一定局限性的。Sentinel自称是分布式系统的流量防卫兵,它是一个单独的组件,可以独立出来,提供了界面化的细粒度的统一配置。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近原创 2021-10-31 00:00:16 · 747 阅读 · 0 评论 -
Spring Cloud之-Spring Cloud Alibaba Nacos服务注册和配置中心- 18(个人笔记)
1、Nacos简介Nacos命名的前四个字母分别取自Naming(服务注册,即服务命名管理)和Configuration(服务配置)的前两个字母,s取自Service,也就是服务的意思。它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。简单一句话:Nacos= 注册中心 + 配置中心 = Eureka+Config+Bus。Nacos官网地址:https://nacos.io/zh-cn/,可以在这里下载和查阅官方文档。各种服务注册中心的比较服务注册与服务发现框架CAP原创 2021-10-24 18:29:46 · 910 阅读 · 0 评论 -
Spring Cloud之-Spring Cloud Alibaba入门简介- 17(个人笔记)
1、Spring Cloud Alibaba出现因为Spring Cloud Netflix的很多项目进入了维护阶段,意味着Spring Cloud不再向该模块添加新功能了,并提供了替代的解决方案。Spring Cloud Alibaba的出现,类似于接手了之前的项目,并在它们上面进行修改和封装,构建自己的一套方案,2018.10.31,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器里面,并在 Maven中央库 发布了第一版。2、Spring Cloud Al原创 2021-10-12 15:43:32 · 108 阅读 · 0 评论 -
Spring Cloud之-Spring Cloud Sleuth分布式请求链路跟踪- 16(个人笔记)
1、概述在微服务框架中,一个客户端请求,从发起到后端系统中,会经历多个不同的微服务结点的调用,每一个请求都会形成一条复杂的分布式调用链路,链路中任何一个服务出现故障或延时都会导致整个请求最终的失败。Spring Cloud Sleuth提供了一套完整的服务监控跟踪解决方案,兼容支持Zipkin数据展现。2、搭建链路监控步骤2-1、安装ZipkinSpring Cloud从F版起就不需要自己构建Zipkin Server了,只需要调用jar包即可,Java环境JRE 8起。2-1-1、linux原创 2021-10-12 14:31:18 · 104 阅读 · 0 评论 -
Spring Cloud之-Spring Cloud Stream消息驱动- 15(个人笔记)
1、消息驱动概述1-1、Spring Cloud Stream是什么Spring Cloud Stream是一个构建消息驱动微服务的框架。应用程序通过Inpust消费者和Outputs对应于生产者与Spring Cloud中的Binder绑定器对象进行交互。首先我们需要配置绑定关系,也就是将具体的消息中间件和Stream进行绑定,后面使用Binder绑定器对象来操作消息中间件。此时,我们只需要了解Stream中的Binder绑定器对象相关的操作,即可完成消息中间件的交互。Spring Cloud St原创 2021-10-11 16:54:23 · 173 阅读 · 1 评论 -
Spring Cloud之-Spring Cloud Bus消息总线- 14(个人笔记)
1、概述Spring Cloud Bus是用来将分布式系统的结点与轻量级消息系统连接起来的框架,它整合了Java事件处理机制和消息中间件的功能,Spring Cloud Bus目前支持的MQ有:RabbitMQ和Kafka。Spring Cloud Bus可以使Spring Cloud Config实现配置的动态刷新。观察下图,运维人员发送/bus/refresh的POST请求给其中一个Client,Client将消息发送给消息总线,最初收到POST请求的Client拉取最新的配置信息,监听Spring原创 2021-10-10 17:15:27 · 146 阅读 · 0 评论 -
Spring Cloud之-Spring Cloud Config分布式配置中心- 13(个人笔记)
1、概述微服务架构意味着将会产生越来越多的单体服务,每个业务模块都被拆成了一个微服务模块,每个微服务模块中,都有各自的配置文件,随着模块的增多,配置文件越来越多,因此,需要有一个集中式的、动态配置的管理来解决这个问题。于是Spring Cloud提供了Config类解决这个问题,它为微服务中的模块提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供一个中心化的外部配置。Spring Cloud Config分为服务端和客户端两部分。服务端称为分布式配置中心,它是一个独立的微服务应用,原创 2021-10-09 16:53:32 · 84 阅读 · 0 评论 -
Spring Cloud之-Gateway网关- 12(个人笔记)
1、概述简介Gateway官方文档:https://cloud.spring.io/spring-cloud-gateway/2.2.x/reference/html/在Spring Cloud 1.x中,网关使用的是Zuul 1,在Spring Cloud 2.x中,网关使用的是Gateway,因为Zuul 2版本进展缓慢,所以Spring Cloud自己研发了网关,Gateway是原Zuul 1的替代版。Gateway采用异步非阻塞模型开发,性能上不需要担心,虽然Netflix发布了Zuul 2版本原创 2021-10-07 23:00:09 · 347 阅读 · 0 评论 -
Spring Cloud之Zuul路由网关- 11(个人笔记)
1.概述简介Zuul包含了对请求的路由和过滤两个最主要的功能。其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时还可以从Eureka中获取其他微服务的消息,以后访问微服务都是通过Zuul跳转后获得的。注意:Zuul服务最终还是会注册进Eureka,提供代理、路由、过滤三大功能。...原创 2021-10-03 22:52:42 · 111 阅读 · 0 评论 -
Spring Cloud之Hystrix断路器- 10(个人笔记)
1、概述1-1、分布式系统面临的问题在复杂的分布式架构系统里,服务之间的相互调用无法避免出现失败的情况就会导致服务雪崩。如果一个服务的调用链路比较长的时候,这种调用失败的概率会更高一些,比如:A调用B,B调用C,C调用D这种长链路调用,又或者一个服务的调用需要依赖多个服务协作完成,这种调用失败的概率也会高一些,比如:A需要调用B,C,D服务,只有B,C,D服务都走完,A服务才能完成,这就是所谓的“扇出”。如果扇出的链路上某个服务调用响应时间过长或不可用,对当前模块的调用就会占用越来越多的资源,甚至造成原创 2021-09-24 12:05:05 · 203 阅读 · 0 评论 -
Spring Cloud之OpenFeign服务接口调用- 09(个人笔记)
1、概述Feign是一个声明式Web Service客户端,使用Feign能让编写Web Service客户端更加简单。使用方法:定义一个服务接口,在上面添加注解。Feign还支持可插拔式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用实现负载均衡。...原创 2021-09-20 17:27:04 · 231 阅读 · 0 评论 -
Spring Cloud之Ribbon负载均衡服务调用- 08(个人笔记)
1、Spring Cloud Ribbon概述Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具。主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供了一系列完善的配置项,如连接超时,重试等。简单地说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动帮我们基于某种规则(如轮询,随机连接等)去连接这些机器,我们很容易使用Ribbon实现自定义的负载均衡算法。Ribbon官网:https:/原创 2021-09-17 10:51:00 · 128 阅读 · 0 评论 -
Spring Cloud之Consul服务注册与发现 - 07(个人笔记)
1、Consul简介Consul是一套开源的分布式服务发现和配置管理系统,有HashiCorp公司使用Go语言开发,提供了微服务系统中服务治理、配置中心、控制总线等功能。每个功能可以单独使用,也可以一起使用以构建全方位的服务网格,Consul提供了一套完整的服务网格解决方案。优点:基于raft协议,简洁;支持健康检查,同时支持HTTP和DNS协议,支持跨数据中心的WAN集群,提供了图形化界面;支持跨平台,支持Linux、Mac、Windows。Consul的功能:实现服务注册发现,提供了了HTTP原创 2021-09-15 21:25:56 · 398 阅读 · 0 评论 -
Spring Cloud之Zookeeper服务注册与发现 - 06(个人笔记)
这里要说的是替换Eureka方案,将服务的注册与发现替换为Zookeeper,这里使用的是3.6.2版本。macOS安装zookeeper可以参照这篇博客。1、注册中心是ZookeeperZookeeper是一个分布式协调工具,可以实现注册中心的功能。2、创建服务提供者新建cloud-provider-payment8004模块,修改pom.xml,注意这里新加的spring-cloud-starter-zookeeper-discovery依赖,其他的没变。cloud-provider-pay原创 2021-09-14 15:47:56 · 342 阅读 · 0 评论 -
Spring Cloud之Eureka服务注册与发现 - 05(个人笔记)
1、Eureka基础知识什么是服务治理: Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理。 在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务原创 2021-09-13 17:10:00 · 1095 阅读 · 0 评论 -
Spring Cloud之微服务架构编码构建 - 04(个人笔记)
我们要实现的功能是:订单-支付模块微服务,然后将各个组件的技术逐个加进去。我们遵循的原则是:约定>配置>编码。1、IDEA新建Project工作空间1-1、微服务Spring Cloud整体聚合父工程新建Maven项目,选择org.apache.maven.archetypes:maven-archetype-site,GroupId为com.king.springcloud,ArtifactId为cloud2020,指定自己的Maven,不要使用IDEA内置的。修改项目的默认编码原创 2021-09-02 21:14:11 · 256 阅读 · 0 评论 -
Spring Cloud之关于Cloud各种组件的停更/升级/替换 - 03(个人笔记)
有些Spring Cloud的组件因为种种原因,会停止更新,但是我们依旧可以使用,只是不建议使用了,类似于Java中的@Deprecated。碰到问题一方面需要自己动手去查,另外就是参考官方文档,也就是Spring Cloud(Spring Cloud文档中文版本)和Spring Boot的官方文档。...原创 2021-08-31 09:40:36 · 354 阅读 · 0 评论 -
Spring Cloud之Boot和Cloud版本选型 - 02(个人笔记)
Spring Cloud的命名规则是依赖字母命名的,从A-Z,Spring Boot的命名规则是依赖数字命名的,依次递增。Spring Boot 2.X 版:源码地址Spring Boot 2 的新特性通过上面官网发现,Boot官方强烈建议你升级到2.X以上版本Spring Cloud H版:源码地址官网Spring Boot 与 Spring Cloud 兼容性查看:官网JS原创 2021-08-31 09:13:09 · 69 阅读 · 0 评论 -
Spring Cloud之概述 - 01(个人笔记)
一、什么是Spring Cloud Spring Cloud是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。相比于其它服务治理框架,其能快速的构建分布式系统,是一套完整的微服务解决方案,微服务工具包。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的原创 2021-08-30 18:29:45 · 63 阅读 · 0 评论