dubbo
青禾qingh
小只~
展开
-
解决dubbo注册zookepper服务IP乱入问题的三种方式
最近做一个项目引入了dubbo+zookepper的分布式服务治理框架。在应用的发布的时候出现一个怪问题。zookepper服务是起在开发服务器192.168.23.180上。本机起应用服务提供者注册到192.168.23.180上的dubbo服务可以注册成功,用dubbo-admin看也是本机的IP:10.1.24.20。本机起的客户端程序也可以正常调用。但是服务提供者发布到192.168.23...转载 2018-04-01 01:12:19 · 951 阅读 · 0 评论 -
dubbo源码分析之getExtension
官方解读:返回指定名字的扩展。如果指定名字的扩展不存在,则抛异常 {@link IllegalStateException}.我理解的此类主要用作adaptive自动适配的时候,根据url的type获取实现的扩展点。getExtension方法的主要思路是-->.从cachedInstances缓存中获取,有则返回-->缓存中没有则调用 createExtension(name);--...原创 2018-06-17 12:52:48 · 472 阅读 · 0 评论 -
dubbo源码分析之provider启动流程分析
前置概念:容器(来自百度百科):Spring 提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。...原创 2018-06-18 15:24:37 · 524 阅读 · 0 评论 -
dubbo源码浅析-开篇
dubbo源码浅析-开篇框架介绍全局组件服务端相关组件(provider)客户端相关组件(consumer)框架介绍全局组件ExtensionLoader : 为dubbo的核心组件提供ioc和aop的支持,类似于spring容器的ioc、aop功能,至于为什么dubbo不直接用spring现有的容器功能,官方已经给出了答案,即:不依赖于任何三方,即可运行。ExtensionLoader ...原创 2018-10-24 22:10:27 · 468 阅读 · 0 评论 -
dubbo源码分析-服务暴露流程
dubbo源码浅析-服务暴露环境准备课前准备服务暴露流程分析总结 dubbo的服务暴露过程实际上就是将一个服务的实现环境准备 基于dubbo2.6.5版本课前准备dubbo服务暴露是依托于spring容器启动的,也可以理解为服务的暴露参与到了spring容器的生命周期当中,所以这就要求我们必须掌握spring相关的一些知识。上篇博客已经提到了服务暴露过程中所依赖的spring相关接口...原创 2018-10-24 22:12:51 · 719 阅读 · 0 评论 -
dubbo源码分析-注册中心
dubbo源码分析-注册中心注册中心职能服务注册流程注册入口具体流程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入目...原创 2018-11-10 10:53:26 · 500 阅读 · 0 评论 -
dubbo源码分析-远程暴露
接下来到了这里~因为我们没有配置scope,所以默认全部暴露,得到Invoker过程和本地暴露一致,不在赘述,这里主要分析远程暴露的Invoker转Exporter。远程暴露,在Protocol为RegistryProtocol实例时,ProtocolListenerWrapper,ProtocolFilterWrapper不做处理,...原创 2018-11-02 18:47:06 · 598 阅读 · 0 评论 -
dubbo源码分析-服务引用
dubbo源码分析-服务引用欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入服务...原创 2018-11-16 17:59:43 · 474 阅读 · 0 评论 -
dubbo源码分析-服务消费(客户端发送)
dubbo源码分析-服务消费代理服务结构消费流程分析服务消费是服务暴露和引用的目的。消费流程为通过服务引用生成的代理,经过一系列处理,带着服务名、方法、参数、版本号等一系列数据向服务提供方发送请求,服务提供方从池中拿到请求分给业务线程处理,处理完后封装成一个Rpc的Response通过tcp端口返回(这个过程中可能涉及到同步请求、异步请求,同步转异步等操作,并且可以配置服务端处理请求的模式),客...原创 2018-11-18 14:55:11 · 401 阅读 · 0 评论 -
dubbo源码浅析-服务消费(服务端接收处理)
dubbo源码浅析-服务消费(服务端接收处理)接收流程分析分析入口紧接上文分析下客户端发送之后,服务端的接收和处理接收流程分析分析入口NettyCodecAdapter内部类InternalDecoder#messageReceived进到这里是因为我们在开启netty服务时候,在netty channel的pipeline中按照顺序指定了继承与SimpleChannelUpstre...原创 2018-11-22 15:32:06 · 543 阅读 · 2 评论 -
dubbo源码浅析-服务消费(客户端接收处理)
dubbo源码浅析-服务消费(客户端接收处理)分析入口流程分析流程总结客户端接收相关线程状态服务消费的最后一步,客户端接收服务端返回信息并进行相应的处理。分析入口同服务端接收一样,即NettyCodecAdapter内部类InternalDecoder#messageReceived,最终交给业务处理handler(NettyHandler)流程分析接收到服务端发送来的消息流程和上篇...原创 2018-11-24 10:16:35 · 360 阅读 · 0 评论 -
dubbo源码分析之getAdaptiveExtension
得到spi接口的适配类核心实现方法是createAdaptiveExtension(),当前对象缓存cachedAdaptiveInstance中没有实例时,调用 -->createAdaptiveExtension()-->(T) getAdaptiveExtensionClass().newInstance() 得到该类型的适配实例 -->getExtensionClasse...原创 2018-06-17 12:51:17 · 704 阅读 · 0 评论 -
dubbo调用链/过滤器链的创建分析
前言使用Dubbo时,当调用方法,会通过过滤器对调用进行一些处理。例如超时记录(TimeoutFilter),异常(ExceptionFilter),token(TokenFilter)等处理。这个功能的实现是通过Dubbo内置的Filter或用户自定义的Filter来创建调用链完成。当发起方法调用时,会执行调用链各个结点的方法,以完成一些处理工作。调用链/过滤器链的创建分析调用链的构建是通过下面...转载 2018-06-16 23:23:05 · 1038 阅读 · 0 评论 -
Dubbo消费者无法连接到生产者提供的服务?内网IP?
作者地址:https://blog.csdn.net/xlgen157387/article/details/52702659环境:Cent OS 7.0背景:这篇文章的标题可以设置为如下几个,因为他都是同一个解决方法: (1)Dubbo注册zookepper时为什么会自动使用内网IP? (2)Dubbo消费者无法连接到生产者提供的服务 (3)。。。场景还原1、项目部署架构最近在开发一个项目,使用...转载 2018-04-01 09:51:29 · 2050 阅读 · 2 评论 -
DUBBO配置规则详解
研究DUBBO也已经大半年了,对它的大部分源码进行了分析,以及对它的内部机制有了比较深入的了解,以及各个模块的实现。DUBBO包含很多内容,如果想了解DUBBO第一步就是启动它,从而可以很好的使用它,那么如何更好的使用呢?就需要知道DUBBO的各个配置项,以及它可以通过哪些途径进行配置。个人对配置的理解,就好比时对动物的驯服,如何很好的驯服一头猛兽,那就需要知道它各种习性,从而调整,已达到自己期望...转载 2018-04-12 21:04:13 · 536 阅读 · 0 评论 -
精通Dubbo——dubbo2.0源码中的设计模式与SPI介绍
Dubbo源码包介绍当我们从github把Dubbo源码下载下来之后有如下源码包 下面来说明每个包的作用,以便我们有目的的阅读代码 dubbo-admin dubbo管理平台源码包,用来管理dubbo服务的启动、禁用、降权、接口测试等,操作界面如下 dubbo-cluster 集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡, 容错,路由等,集群的地址列表可以是静态配置的,也可以是由...转载 2018-06-12 11:59:37 · 310 阅读 · 0 评论 -
如何更好地学习dubbo源代码
Dubbo的官方首页在这里:http://code.alibabatech.com/wiki/display/dubbo/Home很荣幸,作为这样一款业界使用率和好评率出众的RPC框架的维护者,今天这个文章主要是想帮助那些热爱开源的同学,更好的来研究dubbo的源代码。一、Dubbo整体架构1、Dubbo与Spring的整合Dubbo在使用上可以做到非常简单,不管是Provider还是Consum...转载 2018-06-12 12:00:37 · 269 阅读 · 0 评论 -
Dubbo源码分析系列---扩展点加载
Dubbo源码分析系列---扩展点加载阅读目录扩展点配置:扩展点自动包装:扩展点自动装配:扩展点自适应回到顶部扩展点配置:约定:在扩展类的jar包内,放置扩展点配置文件:META-INF/dubbo/接口全限定名,内容为:配置名=扩展实现类全限定名,多个实现类用换行符分隔。(摘自dubbo文档)示例:假如我现在想使用自己定义的协议Myprotocol,在resources目录下新建META-INF...转载 2018-06-12 23:15:03 · 306 阅读 · 0 评论 -
dubbo官网文档+一点笔记
总体介绍分层 左边是“服务消费者”使用的接口和类,右边是“服务提供者”使用的接口和类,在中间的是双方都用到的接口和类。 总体分成Business层,RPC层,Remoting层其中,1)Business层是平时写的业务逻辑的接口和实现类;2)RPC层是这次的重点:里面又分: A)config配置层:使用这一层提供的@注解,xml配置等方法来 暴露写好的接口实现类成服务 和 ...转载 2018-06-12 23:26:07 · 517 阅读 · 0 评论 -
dubbo通信协议之对比
对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况,本文参考dubbo官方文档http://dubbo.incubator.apache.org/books/dubbo-user-book/http://dubbo.incubator.apache.org/books/dubbo-admin-book/dubbo共支持如下几种通信协议:dubbo://rmi://hessian:/...转载 2018-06-13 00:39:32 · 302 阅读 · 0 评论 -
RPC协议底层原理与实现
RPC协议基本组成在一个典型RPC的使用场景中,包含了服务发现、负载、容错、网络传输、序列化等组件,其中RPC协议就指明了程序如何进行网络传输和序列化 。也就是说一个RPC协议的实现就等于一个非透明的RPC调用,如何做到的的呢?Client 客户端Server 服务端协议基本组成: 1. 地址:服务提供者地址;2. 端口:协议指定开放的端口;3. 运行服务:1. netty(...转载 2018-06-13 13:52:35 · 4598 阅读 · 0 评论 -
dubbo的IOC机制
转自:https://blog.csdn.net/qq_25235807当@Adaptive注解没有注解在扩展点实现类上,而是在扩展点实现类的方法上的时候则会生成一个<扩展点接口名>$Adpative的代理类。 private Class<?> createAdaptiveExtensionClass() { String code = createAdapt...转载 2018-06-14 16:41:39 · 766 阅读 · 0 评论 -
Dubbo扩展机制:ExtensionLoader
一、前言 Dubbo的ExtensionLoader是实现“微内核+插件式”的重要组件,它基于java spi机制却又提供了如下扩展:jdk spi仅仅通过接口类名获取所有实现,而ExtensionLoader则通过接口类名和key值获取一个实现Adaptive实现,就是生成一个代理类,这样就可以根据实际调用时的一些参数动态决定要调用的类了自动包装实现,这种实现的类一般是自动激活的,常用于...转载 2018-06-14 18:37:42 · 2706 阅读 · 0 评论 -
dubbo源码分析-编解码
dubbo源码分析-编解码编解码入口编码入口解码入口消费者请求编码服务提供者解码总结编解码保证消息能被正常的解析,从而保证服务消费的正确性。dubbo使用定长消息头的方式解决半包等通信过程中的问题。编解码入口NettyCodecAdapter里维护了编码解码器,在构建netty pipeline里构造NettyCodecAdapter,并传入相应的handler。NettyCodecAda...原创 2018-12-05 20:57:38 · 446 阅读 · 0 评论