Dubbo
文章平均质量分 87
Dubbo
数据与后端架构提升之路
没人会把我们变的越来越好,时间也只是陪衬。支撑我们变的越来越好的是我们自己不断进阶的才华,修养,品行以及不断的反思和修正
展开
-
Dubbo源码之动态编译
Dubbo里的代理类JavassistProxyFactory:利用字节码技术来创建对象public <T> T getProxy(Invoker<T> invoker,Class<?>[] interfaces) {return (T) Proxy.getProxy(interfaces).newInstance(newInvoker...原创 2019-03-28 12:09:01 · 505 阅读 · 0 评论 -
Dubbo源码之服务引用
服务引用-整体架构设计图ReferenceBean.getObject() -->ReferenceConfig.get() -->init() -->createProxy(map) -->refprotocol.refer(interfaceClass, urls.get(0)) -->Exten...原创 2019-03-28 09:19:40 · 327 阅读 · 0 评论 -
Dubbo源码之服务端的发布
Dubbo服务发布-原理第一个发布的动作:暴露本地服务 Export dubbo service com.alibaba.dubbo.demo.DemoService to local registry, dubbo version: 2.0.0, current host: 127.0.0.1第二个发布动作:暴露远程服务 Export dubbo service com.al...原创 2019-03-28 09:19:47 · 328 阅读 · 0 评论 -
Dubbo高级配置
启动时检查Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。可以通过check=...原创 2019-03-21 04:37:51 · 792 阅读 · 0 评论 -
Dubbo暴露JsonRPC的步骤
一、背景介绍最近一个项目需要给node端同学直接提供dubbo访问。dubbo默认是使用hessian协议的,node是可以直接调用dubbo的默认协议的,或者调用dubbo的其他原生协议。为什么不考虑直接使用hessian呢,因为hessian是基于http的,消耗巨大,并且会有乱码的问题。所以后端dubbo提供的服务考虑使用jsonrpc协议,但是dubbo原生是不支持jsonrpc...原创 2019-03-14 15:22:34 · 4049 阅读 · 0 评论 -
Dubbo泛化调用
dubbo消费端,一般必须依赖服务端提供的api包,服务端api包一旦升级,消费端也要跟着升级(依赖的情况下),不像spring cloud一样,采用rest协议,对服务端的api依赖几乎可以没有,不过dubbo也有rest协议扩展,见当当网dubbox,也有jsonrpc协议的扩展,见https://github.com/apache/incubator-dubbo-rpc-jsonrpc...转载 2019-03-21 04:00:43 · 3048 阅读 · 0 评论 -
Dubbo服务降级设置
dubbo降级服务dubbo开发中,通常是微服务架构,那么在使用过程中可能会遇到多种问题:1)多个服务之间可能由于服务没有启动或者网络不通,调用中会出现远程调用失败;2) 服务请求过大,需要停止部分服务以保证核心业务的正常运行;以上两个问题可以使用Dubbo的服务降级来实现;即:在服务宕掉或者并发数太高导致的RpcException异常时,进行友好的处理或者提示,而不是内部...原创 2019-03-18 19:34:06 · 1195 阅读 · 0 评论 -
Dubbo的线程模型
Dubbo的 protocol标签提供了三个参数dispatcher,threads(默认为100)和threadpool来为我们自定义DUBBO协议下的线程模型,其中dubbo自定义了5个线程dispatcher:Dispatcherall 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。direct 所有消息都不派发到线程池,全部在Io线程上直接执行m...转载 2019-03-18 19:22:47 · 436 阅读 · 0 评论 -
Dubbo底层原理分析和分布式实际应用
1、抓包分析dubbo的协议和调用过程1.1、支持的协议1.1.1dubbo协议Dubbo缺省协议采用单一长连接和NIO异步通讯,使用基于于netty+hessian(序列化方式)交互。适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。1.1.2 rmi协议走j...原创 2019-01-02 18:41:36 · 3806 阅读 · 0 评论