Tuesday, August 07, 2018 在 功能演示
Java RMI 简介 Java RMI (Remote Method Invocation)- 远程方法调用,能够让客户端像使用本地调用一样调用服务端 Java 虚拟机中的对象方法。RMI 是面向对象语言领域对 RPC (Remote Procedure Call)的完善,用户无需依靠 IDL 的帮助来完成分布式调用,而是通过依赖接口这种更简单自然的方式。 Java RMI 工作原理 一个典型的 RMI 调用如下图所示: 服务端向 RMI 注册服务绑定自己的地址, 客户端通过 RMI 注册服务 …
Tuesday, August 07, 2018 在 功能演示
注解驱动(Annotation-Driven) @DubboComponentScan 起始版本: 2.5.7 <dubbo:annotation> 历史遗留问题 1. 注解支持不充分 在 Dubbo 2.5.7之前的版本 ,Dubbo 提供了两个核心注解 @Service 以及 @Reference,分别用于Dubbo 服务提供和 Dubbo 服务引用。 其中,@Service 作为 XML 元素 <dubbo:service>的替代注解,与 Spring …
Sunday, July 22, 2018 在 功能演示
Dubbo至加入Apache孵化器以来,一个很强的诉求就是需要rename groupId和package name,这两项工作在项目毕业前需要完成。其中rename package相对来说复杂一些,除了要修改所有类的包名为org.apache.dubbo外,更多的是需要考虑如何老版本的兼容性。 常见的兼容性包括但不限于以下几种情况: 用户API 编程API Spring注解 扩展SPI 扩展Filter 2.7.x里就是通过增加了一个新的模块dubbo-compatible来解决以上兼容性问 …
Thursday, July 12, 2018 在 功能演示
简介 上下文信息是一次 RPC 调用过程中附带的环境信息,如方法名、参数类型、真实参数、本端/对端地址等。这些数据仅属于一次调用,作用于 Consumer 到 Provider 调用的整个流程。 提供上下文信息是 RPC 框架很重要的一个功能,使用上下文不仅可以为单次调用指定不同配置,还能在此基础上提供强大的上层功能,如分布式链路追踪。其实现原理就是在上下文中维护一个span_id,Consumer 和 Provider 通过传递span_id来连接一次RPC调用,分别上报日志后可以在追踪系统中 …
Sunday, July 01, 2018 在 功能演示
概述 在Dubbo的整体设计中,Filter是一个很重要的概念,包括Dubbo本身的大多数功能,都是基于此扩展点实现的,在每次的调用过程中,Filter的拦截都会被执行。 Dubbo Filter的加载机制 Dubbo中已经实现的Filter大概有二十几个,它们的入口都是ProtocolFilterWrapper,ProtocolFilterWrapper对Protocol做了Wrapper,会在加载扩展的时候被加载进来,下面我们来看下这个Filter链是如何构造的。 …
Sunday, June 03, 2018 在 功能演示
Github 上有众多优秀的开源项目,大多数 IT 从业者将其当做了予取予求的工具库,遇到什么需求,先去 Github 搜一把,但有没有想过有一天自己也可以给开源事业做一些贡献呢?本文将会以 dubbo 项目为例,向你阐释,给开源项目做贡献并不是一件难事。 1 为何要给开源贡献力量 为开源项目做贡献得到的收益是多方面的,为了让你有足够的信心加入到开源项目中,我在文章最开始列举出它的诸多好处。 1.1 巩固技能 无论你是提交代码,撰写文档,提交 Issue,组织活动,当你切身参与到一个开源项目中, …
Monday, May 21, 2018 在 功能演示
Dubbo 外部化配置 外部化配置 在Dubbo 注解驱动例子中,无论是服务提供方,还是服务消费方,均需要转配相关配置Bean: @Bean public ApplicationConfig applicationConfig() { ApplicationConfig applicationConfig = new ApplicationConfig(); applicationConfig.setName("dubbo-annotation-consumer"); …
Monday, January 01, 2018 在 功能演示
Dubbo 博客文档中文排版指南 [TOC] 空格 「有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。与大家共勉之。」—— vinta/paranoid-auto-spacing 中英文之间需要增加空格 正确: 在 LeanCloud 上,数据存储是围绕 AVObject 进行的。 错误: 在LeanCloud上,数据存储是围绕AVObject …