
SpringCloudAlibaba
文章平均质量分 97
1.Nacos
2.Ribbon
3.Loadbalance
4.OpenFeign
5.Sentinel
6.Gateway
7.Nacos2.1.0
8.Seata
道友老李
提供工业机器视觉解决方案(涵盖光源、相机、镜头、结构、视觉技术等)和自研接近开关传感器(衰减系数1)产品,联系方式:18271933684(同vx)。
展开
-
【微服务架构】SpringCloud Alibaba(七):Nacos 2.1.0 作为注册中心(源码分析之GRPC)
Spring Cloud Alibaba是阿里巴巴提供的一站式微服务解决方案,是Spring Cloud体系中的一个重要分支,它将阿里巴巴在微服务领域的实践经验和开源技术进行了整合,为开发者提供了一系列便捷的工具和组件,用于构建分布式微服务应用。我们想我们Springmvc处理请求的时候,我们是根据路径判断对应的controller,这里我们的请求应该是那个具体的handler呢?总结:我们处理实例就是用的监听器来获取对应的所有实例,然后以map处理,所有请求从这map中拿取对应的对象。原创 2025-04-03 05:00:00 · 419 阅读 · 10 评论 -
【微服务架构】SpringCloud Alibaba(七):Nacos 2.1.0 作为注册中心(源码分析之心跳机制、数据同步)
这里集群同步时候,我们采用的异步处理,这里和我们服务变更推送类似。原创 2025-04-03 05:00:00 · 353 阅读 · 10 评论 -
【微服务架构】SpringCloud Alibaba(七):Nacos 2.1.0 作为注册中心(源码分析之服务发现、服务订阅、服务变更推送)
服务启动时候读取磁盘中数据放到缓存读取磁盘数据 如果没有则发送请求获取数据,然后写到缓存读取磁盘数据,如果有则判断时间是否过期,过期则发送请求,写到缓存读取数据是一个定时任务每6秒执行一次,如果失败就会延长,但最大时长是1分钟这里主要是从注册表中获取数据,所以理解这里需要看一下我们的注册表中,各个数据之间的关系。原创 2025-04-02 05:00:00 · 1224 阅读 · 12 评论 -
【微服务架构】SpringCloud Alibaba(七):Nacos 2.1.0 作为注册中心(源码分析之服务启动入口、实例注册、注册表)
找入口的方式:自动装配类 spring.factories事件驱动:NacosAutoServiceRegistration实现了applicationListener接口判断变量 1、 debug 2、 全文搜索 定位赋值位置通过ephemeral的值判断是grpc通信,还是http通信,通过这我们能判断ap模式是用的grpc模式,cp模式是用http通信。原创 2025-04-02 05:00:00 · 1181 阅读 · 13 评论 -
【微服务架构】SpringCloud Alibaba(六):SpringCloud Gateway网关(过滤器工厂配置)
pre : Gateway转发请求之前post : Gateway转发请求之后自定义过滤器工厂-方式1继承: AbstractGatewayFilterFactory参考示例:org.springframework.cloud.gateway.filter.factory.RequestSizeGatewayFilterFactoryspring:cloud:gateway:routes:filters:args:# 单位字节自定义过滤器工厂-方式2。原创 2025-04-01 05:00:00 · 2406 阅读 · 12 评论 -
【微服务架构】SpringCloud Alibaba(六):SpringCloud Gateway网关(网关介绍、路由谓词工厂配置)
网关作为流量的入口,常用的功能包括路由转发,权限校验,限流等。Spring Cloud Gateway 是Spring Cloud官方推出的第二代网关框架,定位于取代 Netflix Zuul。相比 Zuul 来说,Spring Cloud Gateway 提供更优秀的性能,更强大的有功能。Spring Cloud Gateway 是由 WebFlux + Netty + Reactor 实现的响应式的 API 网关。它不能在传统的 servlet 容器中工作,也不能构建成 war 包。原创 2025-04-01 05:00:00 · 1908 阅读 · 14 评论 -
【微服务架构】SpringCloud Alibaba(五):服务容错 Sentinel(规则持久化、RestTemplate和Feign整合Sentinel、限流算法)
假设我们仍然设定1秒内允许通过的请求是200个,但是在这里我们需要把1秒的时间分成多格,假设分成5格(格数越多,流量过渡越平滑),每格窗口的时间大小是200毫秒,每过200毫秒,就将窗口向前移动一格。图中将窗口划为5份,每个小窗口中的数字表示在这个窗口中请求数,所以通过观察上图,可知在当前时间快(200毫秒)允许通过的请求数应该是70而不是200(只要超过70就会被限流),因为我们最终统计请求数时是需要把当前窗口的值进行累加,进而得到当前请求数来判断是不是需要进行限流。但是在实际情况下,流量往往是突发的。原创 2025-03-31 05:00:00 · 2955 阅读 · 12 评论 -
【微服务架构】SpringCloud Alibaba(五):服务容错 Sentinel(降级规则、热点规则、授权规则、系统规则、集群规则)
如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。Spring Cloud Alibaba是阿里巴巴提供的一站式微服务解决方案,是Spring Cloud体系中的一个重要分支,它将阿里巴巴在微服务领域的实践经验和开源技术进行了整合,为开发者提供了一系列便捷的工具和组件,用于构建分布式微服务应用。原创 2025-03-31 05:00:00 · 2703 阅读 · 13 评论 -
【微服务架构】SpringCloud Alibaba(五):服务容错 Sentinel(sentinel使用、流控规则)
/ 务必保证 finally 会被执行try {// 资源名可使用任意有业务语义的字符串,注意数目不能太多(超过 1K),超出几千请作为参数传入而不要直接作为资源名// EntryType 代表流量类型(inbound/outbound),其中系统规则只对 IN 类型的埋点生效entry = SphU.entry("自定义资源名");// 被保护的业务逻辑// 资源访问阻止,被限流或被降级// 进行相应的处理操作// 若需要配置降级规则,需要通过这种方式记录业务异常。原创 2025-03-30 05:00:00 · 3673 阅读 · 11 评论 -
【微服务架构】SpringCloud Alibaba(五):服务容错 Sentinel(常见容错方案、sentinel基本操作)
Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。丰富的应用场景:Sentinel承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel提供了实时的监控功能。原创 2025-03-30 05:00:00 · 4104 阅读 · 14 评论 -
【微服务架构】SpringCloud Alibaba(四):深入讲解 Feign
到这⾥我们基本上可以知道:⽐如当服务B的getById⽅法被调⽤时、会调⽤服务A的getById⽅法,⽽服务A这⾥因为是通过Feign声明式调⽤的,肯定会先通过服务A的Feign动态代理FeignInvocationHandler,从动态代理中的Map<Method, MethodHandler>中、找到具体某个⽅法的SynchronousMethodHandler,然后执⾏该SynchronousMethodHandler中的invoke⽅法来处理⽅法的逻辑。原创 2025-03-29 05:00:00 · 4071 阅读 · 11 评论 -
【微服务架构】SpringCloud Alibaba(三):负载均衡 LoadBalance
Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon(已经停更),import org// 服务列表 private ObjectProvider < ServiceInstanceListSupplier > serviceInstanceListSupplierProvider;} /*** 使用随机数获取服务* @return。原创 2025-03-29 05:00:00 · 4310 阅读 · 13 评论 -
【微服务架构】SpringCloud Alibaba(三):负载均衡 Ribbon
这个拦截器里面就是上面弄的LoadBalancerInterceptor。request.getURI(), 这个不用我多解释了吧,restTemplate就是发送http请求,这里获取他的请求链接,然后获取他的host,他的host是什么就是nx-stock,就是serviceName,然后将这serviceName传递到我们的execute里面,我们推想这里很可能对我们serviceName进行解析,从我们的nacos注册中心获取注册列表,然后通过负均衡选择一个合适的地址,进行调用。原创 2025-03-28 05:00:00 · 4322 阅读 · 11 评论 -
【微服务架构】SpringCloud Alibaba(二):Nacos作为配置中心(Config数据模型、集成SpringBoot、动态刷新原理)
这个也是在之前的图中讲到,他是将客户端每次请求都会放到这个quene里面,放到这里面就是,当页面或者通过api调用修改了配置,修改配置之后会发送一个消息,订阅消息一端就会遍历我们刚刚这个allSubs队列当中,看看这个队列里面请求的配置发生了变化,如果发生变化的配置和请求的客户端监听的配置匹配上之后,就会立即将变更的内容发挥给客户端。这里面的代码就是将客户端请求,进行个返回,那返回之前他会干什么,他会进行比较, 他会比较我们监听的配置和我本身的配置是否发生了变化,他的执行的代码在他的run当中,原创 2025-03-28 05:00:00 · 4530 阅读 · 12 评论 -
【微服务架构】SpringCloud Alibaba(一):Nacos作为注册中心(集群搭建)
Nacos集群通常由多个Nacos Server节点组成,这些节点通过网络相互连接并协同工作。客户端与Nacos集群进行通信,获取服务列表、配置信息等。原创 2025-03-27 05:00:00 · 5571 阅读 · 12 评论 -
【微服务架构】SpringCloud Alibaba(一):Nacos作为注册中心(注册中心原理、源码解析)
Spring Cloud Alibaba是阿里巴巴提供的一站式微服务解决方案,是Spring Cloud体系中的一个重要分支,它将阿里巴巴在微服务领域的实践经验和开源技术进行了整合,为开发者提供了一系列便捷的工具和组件,用于构建分布式微服务应用。以下是其详细介绍:首先服务在启动的时候会将数据注册到注册中心,这样就服务只要启动就可以对外提供服务了, 那么同时他也要维持一个心跳,心跳的意义就是某个服务挂掉,我肯定让注册中心知道,如果服务挂了还没有告诉注册中心,原创 2025-03-27 05:00:00 · 6088 阅读 · 15 评论 -
【微服务架构】SpringCloud Alibaba(一):Nacos作为注册中心(安装以及编译、领域模型、使用)
我们可以设想这样的一个场景,比方阿里只在杭州部署一个淘宝的集群,那我们北方的人民去访问,是不是就会相对较慢,一般都会再南方和北方都设置两个集群。当北方人民访问的时候一般我们都访问北京这个集群的服务,其他的服务都会在北京的集群里面互相调用,而不会垮cluster进行访问,这样在同一个数据中心访问都是比较快的。Instance: 这个就是实例,并且是多实例的,这样防止单点问题,从而实现高可用,当北京集群坏了,他会可以访问上海的集群。当一个实例挂掉,另一个实例会替代,当一个集群挂掉,另一个集群会替代上。原创 2025-03-26 05:00:00 · 6009 阅读 · 13 评论