Dubbo底层原理,java分布式框架,源码分析
Posted 雨兮木话
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo底层原理,java分布式框架,源码分析相关的知识,希望对你有一定的参考价值。
01
dubbo原理简单介绍
Apache dubbo 是一个高性能Java RPC框架。了解dubbo,必须了解远程过程调用。在Java中没有过程,只有方法。在Java中你完全可以称它为远程方法调用。说白了,你是A计算机,想调用B计算机上的方法,就要使用远程方法调用。
RPC是计算机的一种通信协议,它不只一种应用层协议,包括rmi,hessian,http,webservice,thrift,memcached,redis.rest等协议。Dubbo采用全spring配置方式,透明化接入应用。对应用没有任何api侵入。只需要spring加载dubbo的配置即可。Dubbo基于spring的schema扩展进行加载。如果不想使用spring配置,可以通过API方式进行调用。
服务以接口为粒度,为开发者屏蔽远程调用底层细节。这样的化解决负载均衡,服务注册与发现,高度可扩展能力。运行期流量调度。可视化的服务治理与运维。根据接口名,方法名,方法参数类型列表唯一的确定一个接口。
服务变动主动通知服务消费者。
服务提供者负责提供服务的接口,提供实现类,注册服务,以tomcat,NettyServer的形式暴露服务。
监控中心主要负责统计服务调用次数和调用时间等。
02
源码分析
把dubbo源码dowload下来,用我们的idea打开。
打开百度APP,查看更多高清图片
我们上边介绍的不同协议,dubbo用不同的模块来实现,比如说rdis等。Dubbo自定义了自己的schma,std。
看一下customer文件它是怎么写的
服务导入
这个里面是dubbo自定义的一些标签。
客户端拿到的对象其实是代理对象。所以我们在使用duobbo的时候,在配置文件中可以使用proxy,决定你想使用什么形式的代理。
03
dubbo和spring cloud
使用Dubbo构建的微服务架构就像组装电脑,各环节我们的选择自由度很高,但是最终结果很有可能因为一条内存质量不行就点不亮了,总是让人不怎么放心,但是如果你是一名高手,那这些都不是问题;而Spring Cloud就像品牌机,在Spring Source的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。
以上是关于Dubbo底层原理,java分布式框架,源码分析的主要内容,如果未能解决你的问题,请参考以下文章