张贴在 2019

  • Dubbo Admin服务测试功能

    Monday, August 26, 2019 在 功能演示

    基于Dubbo2.7的元数据,Dubbo Admin实现了服务测试功能,可以通过泛化调用,在控制台上调用真实的服务提供者 使用方式 部署服务提供者: 可以在这里下载demo,此工程基于spring boot,方便在IDE或者命令行启动,对于服务测试来说,只需要启动dubbo-basic-provider即可。 服务查询: 完成服务端部署后,可以到Dubbo Admin的服务测试页面上查询对应的服务: 这里的信息和元数据类似,包含方法名,参数类型和返回值信息,点击右边的标签就可以进入服务测试页面 …

    更多

  • 使用Apache Skywalking (Incubator) 做分布式跟踪

    Sunday, August 11, 2019 在 生态集成

    Apache Skywalking(Incubator)简介 Apache Skywalking(Incubator) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。Apache Skywalking(Incubator)通过加载探针的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语 …

    更多

  • 本地调用

    Sunday, August 11, 2019 在 功能演示

    本地调用介绍 当一个应用既是一个服务的提供者,同时也是这个服务的消费者的时候,可以直接对本机提供的服务发起本地调用。从 2.2.0 版本开始,Dubbo 默认在本地以 injvm 的方式暴露服务,这样的话,在同一个进程里对这个服务的调用会优先走本地调用。 与本地对象上方法调用不同的是,Dubbo 本地调用会经过 Filter 链,其中包括了 Consumer 端的 Filter 链以及 Provider 端的 Filter 链。通过这样的机制,本地消费者和其他消费者都是统一对待,统一监控,服务统 …

    更多

  • 在 Dubbo 中使用 REST

    Friday, July 26, 2019 在 功能演示

    什么是 REST REST 是 Roy Thomas Fielding 1 在 2000 年他的博士论文 2 “架构风格以及基于网络的软件架构设计” 中提出来的一个概念。REST 是 REpresentational State Transfer 的缩写,翻译过来就是 “表现层状态转化”。REST 就是 Roy 在这篇论文中提出的面向互联网的软件所应当具备的架构风格。 按照 REpresentational State Transfer 的字面意思,可以把应用看成是一个虚拟的状态机,软件提供的不 …

    更多

  • 使用 Dubbo 连接异构微服务体系

    Saturday, June 22, 2019 在 功能演示

    从编程开发的角度来说,Dubbo 首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现 …

    更多

  • Dubbo可扩展机制源码解析

    Thursday, May 02, 2019 在 功能演示

    在Dubbo可扩展机制实战中,我们了解了Dubbo扩展机制的一些概念,初探了Dubbo中LoadBalance的实现,并自己实现了一个LoadBalance。是不是觉得Dubbo的扩展机制很不错呀,接下来,我们就深入Dubbo的源码,一睹庐山真面目。 ExtensionLoader ExtensionLoader 是最核心的类,负责扩展点的加载和生命周期管理。我们就以这个类开始吧。 ExtensionLoader 的方法比较多,比较常用的方法有: public static <T> …

    更多

  • Dubbo 一致性Hash负载均衡实现剖析

    Wednesday, May 01, 2019 在 功能演示

    需要强调的是,Dubbo的Hash映射模型与大部分网上资料描述的环形队列Hash映射模型是存在一些区别的。于我而言,环形队列Hash映射模型,不足以让我对一致性Hash有足够彻底的了解。直到看懂了Dubbo的一致性Hash的实现,才觉得豁然开朗。 一、环形队列Hash映射模型 这种方案,其基础还是基于取模运算。对2^32取模,那么,Hash值的区间为[0, 2^32-1]。接下来要做的,就包括两部分: a、映射服务 将服务地址(ip+端口)按照一定规则构造出特定的识别码(如md5码),再用识别码 …

    更多

  • Dubbo可扩展机制实战

    Thursday, April 25, 2019 在 功能演示

    1. Dubbo的扩展机制 在Dubbo的官网上,Dubbo描述自己是一个高性能的RPC框架。今天我想聊聊Dubbo的另一个很棒的特性, 就是它的可扩展性。 如同罗马不是一天建成的,任何系统都一定是从小系统不断发展成为大系统的,想要从一开始就把系统设计的足够完善是不可能的,相反的,我们应该关注当下的需求,然后再不断地对系统进行迭代。在代码层面,要求我们适当的对关注点进行抽象和隔离,在软件不断添加功能和特性时,依然能保持良好的结构和可维护性,同时允许第三方开发者对其功能进行扩展。在某些时候,软件设 …

    更多

  • 提前if判断帮助CPU分支预测

    Sunday, February 03, 2019 在 功能演示

    分支预测 在stackoverflow上有一个非常有名的问题:为什么处理有序数组要比非有序数组快?,可见分支预测对代码运行效率有非常大的影响。 现代CPU都支持分支预测(branch prediction)和指令流水线(instruction pipeline),这两个结合可以极大提高CPU效率。对于像简单的if跳转,CPU是可以比较好地做分支预测的。但是对于switch跳转,CPU则没有太多的办法。switch本质上是据索引,从地址数组里取地址再跳转。 要提高代码执行效率,一个重要的原则就是尽 …

    更多

  • 当Dubbo遇上Arthas:排查问题的实践

    Saturday, February 02, 2019 在 生态集成

    Apache Dubbo是Alibaba开源的高性能RPC框架,在国内有非常多的用户。 Github: https://github.com/apache/dubbo 文档:http://dubbo.apache.org/zh-cn/ Arthas是Alibaba开源的应用诊断利器,9月份开源以来,Github Star数三个月超过6000。 Github: https://github.com/alibaba/arthas 文档:https://arthas.aliyun.com/doc/ …

    更多