分布式
文章平均质量分 72
Java部落格
为了部落!!!
展开
-
Spring Cloud Alibaba-Sentinel源码阅读(三)-流控原理
由上一篇《Spring Cloud Alibaba-Sentinel源码阅读(二)-流控的主流程》可知,Sentinel的流控主流程就是一条ProcessorSlot 处理链,调用 ProcessorSlotChain 的 entry 方法,就是依次调用这些ProcessorSlot 的方法。而流控相关的最重要的两个ProcessorSlot 就是StatisticSlot和FlowSlot。一、StatisticSlot 收集实时消息StatisticSlot#entrypublic void原创 2021-03-31 17:58:11 · 249 阅读 · 0 评论 -
Spring Cloud Alibaba-Sentinel源码阅读(二)-流控的主流程
一、流控的主流程1、流控的入口从上一篇《Spring Cloud Alibaba-Sentinel源码阅读(一)-Sentinel的使用》中可知,Sentinel流控的入口是SphU#entry方法,而SphU类据说是semaphore 信号量的缩写,这个SphU#entry方法的大概就是进入流控了,如果方法抛BlockException,则代表被流控了,如果正常返回一个Entry则正常放行。SphU#entry(java.lang.String, int, com.alibaba.csp.senti原创 2021-03-31 14:45:46 · 229 阅读 · 0 评论 -
Spring Cloud Alibaba-Sentinel源码阅读(一)-Sentinel的使用
一、调用sentinel-core API方式1、加入依赖<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version>1.4.1</version></dependency>2、使用public static void main(String[]原创 2021-03-31 11:29:51 · 350 阅读 · 0 评论 -
Zookeeper源码分析
一、ZK集群间通信类型zookeeper集群间通信大体可分为四类:数据同步型,服务器初始化型,请求处理型,会话管理型。数据同步型:(leader和flower通信的端口号: 2888)服务器初始化型(leader和flower通信的端口号: 2888)请求处理型(client的端口号: 2181,NIO/Netty)会话管理型(leader和flower通信的端口号: 2888)二、ZK常用的几个常用端口号:接收客户请求的端口号: 2181(NIO/Netty)leader和原创 2021-01-09 17:51:13 · 242 阅读 · 0 评论 -
分布式事务:XA(2PC、3PC)和TCC
一、XA协议 XA是X/Open组织 提出的分布式事务处理规范。XA则规范了TM(事务管理器)与RM(资源管理器)之间的通信接口,在TM与多个RM之间形成一个双向通信桥梁,从而在多个数据库资源下保证ACID四个特性。目前知名的数据库,如Oracle, DB2,mysql等,都是实现了XA接口的,都可以作为RM。所以说XA是数据库的分布式事务,强一致性,在整个分布式事务过程中,TM一直把持折数据库的锁,存在长事务风险!XA协议有2PC、3PC。 1、2PC阶原创 2021-01-07 16:57:34 · 1602 阅读 · 0 评论 -
分布式理论(二)——Base 理论
前言在前文 分布式理论(一) —— CAP 定理 中,我们说,CAP 不可能同时满足,而分区容错是对于分布式系统而言,是必须的。最后,我们说,如果系统能够同时实现 CAP 是再好不过的了,所以出现了 BASE 理论,今天就来讲讲 Base 理论。什么是 Base 理论BASE:全称:Basically Available(基本可用),Soft state(软状态),和 Eventuall...转载 2019-02-18 20:12:10 · 134 阅读 · 0 评论