
SpringCloud
蘇 jsu
这个作者很懒,什么都没留下…
展开
-
SpringCloud12 -- Alibaba 分布式事务 Seata
Seata 处理分布式事务分布式事务问题分布式前: 单机单库没有这个问题 从1:1 -> 1:N -> N:N分布式后: 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源 业务操作需要调用三个服务来完成,此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题就没法保证。场景:用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持:仓储服务:对给定的商品扣除仓储数量。订单服务:根据平购需求创建订单。帐户服原创 2020-12-02 14:04:56 · 508 阅读 · 0 评论 -
SpringCloud11 -- Alibaba Sentinel
Sentinel简介简单来讲 实现降级、熔断与限流,就是HystrixSentinel 是什么?随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Se原创 2020-12-01 17:47:46 · 342 阅读 · 0 评论 -
SpringCloud10 -- Alibaba Nacos
Nacos简介 一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心 Nacos就是注册中心+配置中心 Nacos = Eureka + Config + Bus为啥那么叫Nacos? Nacos: Dynamic Naming and Configuration Service`Na`对应`Naming`,`co`对应`Configuration`的前两个字母,`s`对应着`Service`能做什么呢?代替Eureka做服务注册中心代替Config做服务配原创 2020-12-01 16:39:21 · 219 阅读 · 0 评论 -
SpringCloud09 -- 分布式请求链路追踪 Sleuth
分布式请求链路追踪sleuth为什么出现这个技术?在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。trance:类似于树结构的span集合,表示一条调用链路,存在唯一的标识。span:表示调用链路来源,通俗的理解span就是一次请求信息。zipkin环境https://dl.bintray.com/openzipkin/ma原创 2020-12-01 16:23:40 · 186 阅读 · 1 评论 -
SpringCloud08 -- 消息驱动 Stream
消息驱动Stream简介 屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。实例化讲: 原来底层消息中间件使用rabbitmq 现在想使用kafka,以前操作 全部修改,现在使用stream后,以前的不变,后面的使用kafaka,可以同时兼容多种消息中间件。目前只支持:RabbitMQ Kafka设计思想标准的MQMessage: 生产者/消费者之间靠消息媒介传递信息内容。MessageChannel: 消息必须走特定的通道。消息通道MessageChannel的子接口Su原创 2020-12-01 16:20:37 · 171 阅读 · 0 评论 -
SpringCloud07 -- 消息总线 Bus
消息总线一言蔽之:分布式自动刷新配置功能Bus简介是什么 SpringCloud Bus配合SpringCloud Config使用可以实现配置的动态刷新 Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它还整合了Java的事件处理机制和消息中间件的功能。SpringCloud Bus目前支持RabbitMQ和kafka能干嘛 SpringCloud Bus能管理和传播分布式系统间的消息,就像一个分布式执行器,可用于广播状态更改、事件推进等,也原创 2020-12-01 16:02:01 · 219 阅读 · 1 评论 -
SpringCloud06 -- 服务配置 Config Nacos
服务配置分布式系统当前面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以—套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,上百个配置文件的管理.…Config简介是什么SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持原创 2020-12-01 15:52:34 · 169 阅读 · 0 评论 -
SpringCloud05 -- 服务网关 Gateway
网关Gateway简介是什么简单来讲Spring Cloud Gateway使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架复杂点讲Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等。SpringCloud Gateway是Spri原创 2020-12-01 15:39:15 · 189 阅读 · 0 评论 -
SpringCloud04 -- 服务降级熔断 Hystrix Sentinel
服务降级熔断限流分布式当前的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”. 对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这原创 2020-12-01 15:15:01 · 301 阅读 · 0 评论 -
SpringCloud03 -- 服务调用 Ribbon OpenFeign
服务调用Ribbon简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义原创 2020-12-01 14:48:17 · 209 阅读 · 0 评论 -
SpringCloud02 -- 服务注册 Eureka Zookeeper Consul Nacos
上一章:SpringCloud – 初识服务注册与发现Eureka基础知识什么是服务治理? SpringCloud 封装了Netflix公司开发的Eureka模块来实现服务治理 在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。什么是服务注册与发现? Eureka采用了CS的设计架构,EurekaService 作为服务注册功能的服务器,它原创 2020-12-01 11:07:32 · 277 阅读 · 0 评论 -
SpringCloud01 -- 初识
Spring Cloud 是什么?Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。Spring Cloud 现状目前,国内使用 Spring Cloud 技术的公司并不多见,不是因为 Spring原创 2020-10-31 17:54:50 · 275 阅读 · 1 评论