
Dubbo
分布式
w-小菜
I thank you from the bottom of my heart.
展开
-
dubbo源码---服务目录
一,概念 dubbo用在微服务,那么肯定是需要使用到集群的 ,面对集群就需要处理机器宕机的问题,如果是普通服务,一个机子宕机,那么我们还可以人工去维护,在集群里面宕机,就很麻烦,所以需要我们软件有容错的功能,dubbo在容错机制,分为四个1.服务目录 Directory(也就是本章)2.服务路由Router3.集群Cluster4.负责均衡LoadBalance对于服务目录是什么? 它存储了服务提供者的信息,比如Ip,port等等,它需要有效性,也就是需要动态...原创 2020-06-24 23:49:00 · 363 阅读 · 0 评论 -
dubbo源码---服务暴露(3)
接着上一节,我们达到doExportForlProtocol()方法的第四段,我们组装好了URL,现在我们需要根据具体的协议,进行服务暴露了!第一个是封装成Wrapper中,一,本地服务暴露exportLocal(url),位于ServiceConfig类中 private void exportLocal(URL url) { URL local = URLBuilder.from(url) .setProtocol(LOCAL_PR原创 2020-06-24 17:37:54 · 262 阅读 · 0 评论 -
dubbo源码---服务暴露(2)
组装URLdoExportUrlsForlProtocol()方法,内容超级多,我们分为四个段落,进行阅读我们先看一下这个方法的传入参数:ProtocolConfig protocolConfig, List<URL> registryURLs第一个参数是协议,它也继承自AbstractConfig 第二个是URL(映射到一个注册中心)看一下部分字段 Pro...原创 2020-06-19 14:48:47 · 325 阅读 · 0 评论 -
dubbo源码---服务暴露(1)
生成URLdubbo的功能,就是一个RPC框架,那么自然最重要的就是服务的发布,和服务的调用。现在我们只有一个xml,然后spring帮我们读取生成ServiceBean,所以现在我们只有一个接口名字,需要暴露的实现类... <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="hello-worl...原创 2020-06-19 10:55:00 · 501 阅读 · 0 评论 -
dubbo源码---SPI
首先要了解SPI是什么,他的全称是“服务发现机制”,如何理解呢?其实就是用来解耦的,他把接口和实现类,进行分离,把他们的连接部分,放在了一个文件里面,具体的代码内容,请参考:https://www.jianshu.com/p/3a3edbcd8f24dubbo用到了很多SPI机制,常用场景在,数据库,日志系统中,我们都需要spi机制,实现可插拔,如何理解呢?如果我们在中心系统中写死了使用哪个实现类,那么更换场景的时候,就需要手动去修改代码,耦合性太高,而我们把实现哪个类放在插入的插件里面,那么中..原创 2020-06-18 20:27:02 · 230 阅读 · 0 评论 -
dubbo---注册中心
《深入了解apache dubbo》读书笔记一,注册中心概述 dubbo通过注册中心实现了分布式环境中各服务之间的注册和发现,是各个分布式节点之间的纽带,主要作用: 动态加入:服务提供者可以动态的把自己暴露出去,与消费者无关 动态发现:消费者可以动态的感知新的配置,路由规则和新的服务提供者,无需重启服务 动态调整:注册中心支持参数的动态调整,新参数自动更新到所有相关的节点。 统一配置:避免本地配置不一致问题。 注册功能在核心源码组件中给的registry..原创 2020-05-28 14:54:12 · 365 阅读 · 0 评论 -
dubbo---入门demo
dubbo是一个rpc框架,用来进行微服务化数据传输的,比如我们把web层和service层分开,放在两个服务器上面,那么这本来是一个完整的系统,现在分开了,如何调用原本的功能呢?这就使用dubbo把他们连起来,进行服务调用的传输! dubbo这里就把service层作为服务提供者(因为一般都是web层调用service),然后web层作为服务消费者。 服务提供者流程:框架启动的时候,会初始化服务实例,通过Proxy组件调用具体的协议(protocol),然后转换成为Expo...原创 2020-05-28 10:20:29 · 253 阅读 · 0 评论