随笔分类 - Dubbo
摘要:Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用, 那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗? 这篇文章就分享下Dubbo关于本地调用的实现机制,以及如何开启和关闭本地调用。 injvm支持本地调用 使用 Dubbo 本地调用不需做特殊配置,按正常
阅读全文
摘要:一、源码模块 官网地址 源码地址 1.1 源码模块组织 Dubbo工程是一个Maven多Module的项目,以包结构来组织各个模块。 核心模块及其关系,如图所示: 1.2 模块说明 dubbo-common 公共逻辑模块,包括Util类和通用模型。 dubbo-remoting 远程通讯模块,相当于
阅读全文
摘要:什么是RPC RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。比如两台
阅读全文
摘要:dubbo启动时默认有重试机制和超时机制。超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败,重试机制在出现调用失败时,会再次调用。如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常。 如果出现超时,通常是业务处理太慢,可在服务提供方执行:jstack PID
阅读全文
摘要:结合项目里使用暴露出的问题,对并发较多的核心业务或者对请求失败敏感的业务场景不建议使用Dubbo, 如电商的购买行为,使用Dubbo最好阅读源码,熟悉相关机制,或者直接自己造轮子。 1.使用Dubbo踩过的坑 (1)Spring Cache在Service层对消费者不起作用原因是:Spring容器还
阅读全文
摘要:使用Dubbo结合Zookeeper和Spring, 是使用比较广泛的一种组合,下面参考官方文档,做个简单的示例,一步步搭建一个使用dubbo结合Zookeeper和Spring的Demo工程。代码已经上传到github,地址:https://github.com/bingyue/dubbodemo
阅读全文