springcloud
文章平均质量分 81
小柒7
小渣渣一枚
展开
-
2、Nacos注册与配置中心源码分析
文章目录1、注册中心1.1、架构基本原理1、注册中心1.1、架构基本原理Nacos核心功能点服务注册: Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。服务心跳:在服务注册后,Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务一直处于可用状态,防止被剔除。默认5s发送一次心跳。原创 2022-04-06 17:15:37 · 746 阅读 · 1 评论 -
1、Nacos使用实战
文章目录1、什么是Nacos?2 、Nacos Server的部署3、持久化配置4、集群配置5、prometheus+grafana监控Nacosgithub:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md官方文档https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.htm原创 2022-04-06 14:22:45 · 1475 阅读 · 0 评论 -
Seata-AT事务源码分析
文章目录前言源码分析入口SeataAutoDataSourceProxyCreatorGlobalTransactionScanner第一阶段第二阶段前言一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。二阶段:提交异步化,非常快速地完成。回滚通过一阶段的回滚日志进行反向补偿。以一个示例来说明:两个全局事务 tx1 和 tx2,分别对 a 表的 m 字段进行更新操作,m 的初始值 1000。tx1 先开始,开启本地事务,拿到本地锁,更新操作 m = 1000 -原创 2021-12-20 11:51:46 · 442 阅读 · 0 评论 -
阿里+Sentinel+源码解析
本文介绍阿里开源的 Sentinel 源码,GitHub: alibaba/Sentinel,基于当前(2019-12)最新的 release 版本 1.7.0。总体来说,Sentinel 的源码比较简单,复杂的部分在于它的模型对于初学者来说不好理解。虽然本文不是很长,最后两节还和主流程无关,但是,本文对于源码分析已经非常细致了。阅读建议:在阅读本文前,你应该至少了解过 Sentinel 是什么,如果使用过 Sentinel 或已经阅读过部分源码那就更好了。另外,本文不涉及到集群流控。由于很多读者也原创 2021-10-09 16:26:58 · 232 阅读 · 0 评论 -
RateLimiter+源码分析(Guava+和+Sentinel+实现)
本文主要介绍关于流控的两部分内容。第一部分介绍 Guava 中 RateLimiter 的源码,包括它的两种模式,目前网上大部分文章只分析简单的 SmoothBursty 模式,而没有分析带有预热的 SmoothWarmingUp。第二部分介绍 Sentinel 中流控的实现,本文不要求读者了解 Sentinel,这部分内容和 Sentinel 耦合很低,所以读者不需要有阅读压力。Sentinel 中流控设计是参考 Guava RateLimiter 的,所以阅读第二部分内容,需要有第一部分内容的背景原创 2021-10-09 16:25:31 · 271 阅读 · 0 评论 -
Seata(一) 服务配置以及启动
文章目录Seata 介绍Seata 简介Seata 演进历史Seata 设计理念Seata 的三大组件seata 实现的 2PC 与传统 2PC 的区别Seata Server 安装Seata Server 下载Seata Server 配置Seata Server 的坑Seata 介绍Seata 简介2019 年 1 月,阿里巴巴中间件团队发起了开源项目 Fescar(Fast & Easy Commit And Rollback),其愿景是让分布式事务的使用像本地事务的使用一样,简单和高效原创 2021-05-31 10:22:02 · 4030 阅读 · 0 评论 -
分布式事务基础
文章目录前言术语分布式理论分布式事务基础事务本地事务分布式事务分布式事务协议两阶段提交协议(2PC)前言术语TX 协议:应用或者应用服务器与事务管理器的接口XA 协议:全局事务管理器与资源管理器的接口。XA 是由 X/Open组织提出的分布式事务规范,该规范主要定义了全局事务管理器和局部资源管理器之间的接口,主流的数据库产品都实现了 XA 接口。XA接口是一个双向的系统接口,在事务管理器以及多个资源管理器之间作为通信桥梁。之所以需要 XA是因为在分布式系统中从理论上讲两台机器是无法达到一致性状态的原创 2021-05-31 09:13:57 · 119 阅读 · 0 评论 -
Sleuth+Zipkin链路追踪
文章目录Sleuth简介相关术语使用Sleuth+zipkin引入依赖配置下载并启用zipkin启动服务并测试Sleuth简介Sleuth是Spring Cloud的组件之一,它为Spring Cloud实现了一种分布式追踪解决方案,兼容Zipkin,HTrace和其他基于日志的追踪系统,例如 ELK(Elasticsearch 、Logstash、 Kibana)。相关术语Sleuth引入了许多 Dapper中的术语:Span :基本的工作单元。无论是发送一个RPC或是向RPC发送一个响应都原创 2021-05-26 16:35:26 · 232 阅读 · 0 评论 -
Feign源码分析
文章目录FeignClientd注册FeignClient的组成FeignClientd注册直接进入正题:从@EnableFeignClients开启Feign的注解开始分析@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@Documented@Import(FeignClientsRegistrar.class)public @interface EnableFeignClients 注解注入了FeignClient原创 2021-05-26 15:27:59 · 106 阅读 · 1 评论 -
Ribbon原理与Nacos的服务发现原理分析
文章目录Ribbon原理分析1、getLoadBalancer2、getServer3、executeRibbon原理分析Ribbon是使用拦截器来实现服务的远程调用的,源码如下:public class LoadBalancerAutoConfiguration { @LoadBalanced @Autowired(required = false) private List<RestTemplate> restTemplates = Collections.emptyList(原创 2021-05-26 12:25:13 · 961 阅读 · 2 评论 -
Nacos之服务注册源码分析
文章目录服务启动注册原理SpringCloud服务注册支持Nacos的服务的注册源码分析服务启动注册原理Nacos作为服务注册中心,可以很好的支持服务治理,本文主要讲解,SpringCloud下Nacos是如何进行服务的注册的。SpringCloud服务注册支持在SpringCloud common包中,SpringCloud提供了服务注册的扩展支持,主要包括如下:其中主要属性讲解:AutoServiceRegistration:继承接口,表明是一个服务注册管理器Registration:原创 2021-05-26 10:58:29 · 179 阅读 · 0 评论 -
分布式ID生成方案
https://mp.weixin.qq.com/s?__biz=MzAxNTM4NzAyNg==&mid=2247483785&idx=1&sn=8b828a8ae1701b810fe3969be536cb14&chksm=9b859174acf21862f0b95e0502a1a441c496a5488f5466b2e147d7bb9de072bde37c4db25d7a&token=745402269&lang=zh_CN#rd原创 2021-05-06 17:53:32 · 58 阅读 · 0 评论 -
Hystrix的入门使用总结
文章目录1.概念1.1 服务雪崩1.2 服务降级1.3Hystrix资源隔离2.入门案例2.1搭建一个服务提供者2.2 搭建一个服务消费者2.3测试3.Hystrix请求缓存1.概念学习Hystrix之前,需要先了解几个概念服务雪崩服务熔断服务降级1.1 服务雪崩在微服务的架构体系中,我们会将系统拆分成多个服务小单元,通过 HTTP 或者 RPC 进行远程调用。如下图所示:在绝大多数情况下,服务消费者都能正常的远程调用服务提供者。但是某一时刻,服务提供者执行逻辑较慢,又或者网络出现抖动原创 2020-07-11 10:44:08 · 377 阅读 · 0 评论 -
Feign的入门使用总结
文章目录1.简介2.入门案例3. 自定义 Feign 配置3.1.日志配置1.简介Feign 是由 Netflix 开源的声明式的 HTTP 客户端,目前已经捐献给 OpenFeign 社区。Spring Cloud OpenFeign 组件,将 Feign 集成到 Spring Cloud 体系中,实现服务的声明式 HTTP 调用。相比使用 RestTemplate 实现服务的调用,Feign 简化了代码的编写,提高了代码的可读性,大大提升了开发的效率。Spring Cloud OpenFeign原创 2020-07-10 15:10:56 · 183 阅读 · 0 评论 -
Ribbon的入门使用总结
简介:Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过R原创 2020-07-09 21:23:04 · 972 阅读 · 0 评论 -
Oauth2实现认证授权,单点登录案例
文章目录博客地址https://blog.csdn.net/bluuusea/article/details/80284458原创 2020-05-01 18:57:30 · 726 阅读 · 0 评论