分布式(Dubbo/ZooKeeper/RPC)
文章平均质量分 92
服务治理框架Dubbo源码分析;远程过程调用;注册中心;
bluesnail95
不以物喜,不以己悲。
展开
-
远程调用:远程过程调用(RPC)和远程方法调用(RMI)
远程调用包括远程过程调用(RPC)和远程方法调用(RMI)1.请求-应答协议请求-应答协议描述了一个基于消息传递的范型,支持消息双向传输。涉及三个通信原语(1)doOperation:向指定的服务器发送请求消息。(2)getRequest:远程服务器获取客户端的请求。(3)sendReply:发送应答消息给客户端。有三种...原创 2019-04-06 00:00:00 · 1083 阅读 · 0 评论 -
分布式事务及其一致性协议
一:什么是事务。事务是由一系列对系统中的数据进行访问和更新的操作所组成的一个程序执行逻辑单元。狭义上的事务指的就是数据库的事务。二:事务(ACID)的特性。事务具有四个特性:1.一致性(Consistency):事务的操作需要从一个一致性状态到另一个一致性状态。如果一次事务中,有些操作更新成功,有些操作更新失败,这就是不一致...原创 2018-06-30 00:00:00 · 94 阅读 · 0 评论 -
学习笔记--间接通信
什么是间接通信?间接通信被定义为在分布式系统中实体通过中介者进行通信,没有发送者和接收者之间的耦合。间接通信具有两个特性:(1)空间解耦:发送者不需要知道接收者是谁。(2)时间解耦:发送者和接收者可以有独立的生命周期。间接通信的范型1.组通信(1)概念组通信实现了组播通信,通过一个操作,消息被发送到组内的所有成员,与系统...原创 2019-04-08 00:00:00 · 1192 阅读 · 0 评论 -
Zookeeper的客户端Curator的使用
1.Zookeeper在windows上的安装下载地址:https://mirrors.tuna.tsinghua...参考资料:https://blog.csdn.net/qq_3076...遇到的问题:(1)临时节点下面不能创建子节点。解决方案:https://blog.csdn.net/doegoo/...(2)我搭建...原创 2020-02-29 00:00:00 · 74 阅读 · 0 评论 -
ZooKeeper特性
一.ZooKeeper是什么?ZooKeeper是一个分布式协调服务,目标是将复杂容易出错的分布式一致性服务包装起来,提供API接口给用户使用。ZooKeeper可以实现数据发布/订阅,负载均衡,分布式锁,分布式队列,命名服务,集群管理,Master管理,分布式协调/通知。二.ZooKeeper的Zab(Zookeeper ...原创 2018-07-12 00:00:00 · 114 阅读 · 0 评论 -
Dubbo服务调用源码分析
客户端将服务调用接口、方法名、方法类型参数和方法参数值进行序列化传输到服务端,服务端反序列读取信息进行代理调用原创 2021-12-12 18:20:56 · 841 阅读 · 0 评论 -
Dubbo服务消费源码分析
引入一个Dubbo服务,可以使用@Reference注解或者在xml配置dubbo:reference标签。ReferenceBean是FactoryBean的子类。实例化ReferenceBean会调用getObject方法生成对象。ReferenceBean#getObject调用父类ReferenceConfig#get获取一个对象。public Object getObject() { return get();}ReferenceConfig#get:检查更新参数配置,调用ini原创 2021-11-21 17:16:19 · 1113 阅读 · 0 评论 -
Dubbo服务暴露源码分析
Dubbo会将每个需要暴露的服务解析为ServiceBean对象。ServiceBean实现了ApplicationListener接口,对ContextRefreshedEvent进行监听。当Spring容器启动发布ContextRefreshedEvent,会调用export方法。public void onApplicationEvent(ContextRefreshedEvent event) { if (!isExported() && !isUnexported())原创 2021-11-13 10:49:37 · 1040 阅读 · 0 评论 -
Dubbo拓展点加载机制源码分析
ExtensionFactoryExtensionFactory有三个子类实现,包括:AdaptiveExtensionFactory、SpiExtensionFactory和SpringExtensionFactory。其中AdaptiveExtensionFactory优先级最高,因为AdaptiveExtensionFactory类上面带有@Adaptive注解。AdaptiveExtensionFactory 的构造方法会先构造一个ExtensionFactory的拓展加载器,再获取拓展类。@原创 2021-10-24 16:02:24 · 125 阅读 · 0 评论 -
Dubbo拓展点加载机制
Java SPI(Service Provider Interface)(1)接口public interface SPIService { public void printService();}(2)接口实现1public class SPIServiceImpl implements SPIService ...原创 2019-10-26 00:00:00 · 605 阅读 · 0 评论 -
Dubbo的三种使用方式
启动zookeeper使用的是zookeeper作为注册中心,在运行dubbo项目之前需要启动zookeeper。xml实现xml实现是最常使用的一种方式,好处是可以通过配置文件配置注册中心,暴露协议和服务接口,开发人员不需要理会太多Dubbo框架的实现,专注业务逻辑。在公司的项目中使用的也是xml的方式,可以集中管理配置。...原创 2019-10-02 00:00:00 · 924 阅读 · 0 评论 -
Dubbo的服务暴露与服务消费原理(1)-基于XML配置原理解析
xml配置我们先来看看服务提供者和服务消费者是如何配置xml的(1)服务提供者配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi...原创 2020-03-07 00:00:00 · 200 阅读 · 0 评论 -
Dubbo的服务暴露与服务消费原理(2)-基于注解配置原理解析
用注解的方式启动Spring容器ProviderConfiguration是自定义的启动类。public class AnnotationProviderMain { public static void main(String[] args) { AnnotationConfigApplicatio...原创 2020-03-29 00:00:00 · 272 阅读 · 0 评论 -
Dubbo的四种注册中心
1.注册中心的作用利用注册中心,服务提供者可以动态添加删除服务,服务消费者在收到更新通知后,可以拉取最新的服务从而实现同步。可以在注册中心实现统一配置,参数的动态调整可以自动通知到所有服务节点。2.Dubbo四种注册中心实现Dubbo注册中心的实现在dubbo-registry模块。2.1 ZooKeeper基于Zoo...原创 2019-10-05 00:00:00 · 1104 阅读 · 0 评论