分布式开发
qingshanpeiyu
这个作者很懒,什么都没留下…
展开
-
spingboot+dubbo+zk
软件版本:Springboot2.0Dubbo2.6zookeeper3.4.6废话少说,正式开始。Step1:创建项目:使用maven新建一个DubboExample的pom工程,然后在这个parent项目下面创建三个module项目,一个DubboProvider,一个DubboConsumer,一个DubboCommon。上图:创建DubboExample父项目...原创 2018-10-26 09:16:12 · 289 阅读 · 0 评论 -
dubbo原理
分布式服务框架:–高性能和透明化的RPC远程服务调用方案–SOA服务治理方案-Apache MINA 框架基于Reactor模型通信框架,基于TCP长连接Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。分析源代码,基本原理如下:client一个线程调用远程接口,生成一个唯一的ID(比如...原创 2018-10-26 09:27:43 · 115 阅读 · 0 评论 -
zookeeper节点为何奇数
首先需要明确zookeeper选举的规则:leader选举,要求 可用节点数量 > 总节点数量/2 。注意 是 > , 不是 ≥。注:为什么规则要求 可用节点数量 > 集群总结点数量/2 ? 如果不这样限制,在集群出现脑裂的时候,可能会出现多个子集群同时服务的情况(即子集群各组选举出自己的leader), 这样对整个zookeeper集群来说是紊乱的。换句话说,如果遵守...原创 2018-10-26 11:48:41 · 261 阅读 · 0 评论 -
分布式锁的三种实现方式
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案:分布式锁一般有三种实现方式:1...原创 2019-01-31 09:39:20 · 2411 阅读 · 1 评论 -
Zookeeper在分布式环境中的假死脑裂
假死脑裂 在一个大的集群中往往会有一个master的存在,在长期运行过程中不可避免会出现宕机等等的问题导致master不可用,在出现这样的情况以后往往会对系统产生很大的影响,所以一般的分布式集群中的master都采用了高可用的解决方案来避免这样的情况发生。 master-slaver方式,存在一个master的节点,平时对外服务,同时有一个slaver节点来监控master,监控的同时有某种方...原创 2019-02-23 17:28:52 · 295 阅读 · 0 评论 -
RocketMq事务消息
分布式事务微服务倡导将复杂的系统拆分为若干个简单、职责单一、松耦合的服务,可以降低开发难度,便于敏捷开发。而对大多数中小型公司来说,实施微服务架构面临以下困难:单体应用拆分为分布式系统后,应用间的通讯和故障处理机制变得复杂 微服务化后,一个简单的功能需要调用多个服务并操作多个数据库实现,数据一致性难以保障 大量的微服务,导致其测试、维护、部署变得困难为了保障微服务架构下数据的一致性,...原创 2019-02-19 22:25:26 · 164 阅读 · 0 评论