Dubbo的详解

1、Dubbo是什么?

  Dubbo是一个分布式服务框架,简言之:dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东西。

2、Dubbo能做什么?

  (1)透明化的远程方法调用,就像本地方法一样调用远程方法,只需要简单配置;

  (2)软负载均衡及容错机制

  (3)服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。

3、怎么使用Dubbo?

   采用Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

具体的使用方法:

  1、先写好相应的接口、跟接口的实现类;

  2、在spring框架的配置文件中进行相应的配置;

  

   3、dubbo在配置文件中相应的子标签的意义(及spring框架的配置子标签的意义):

    <bean id="xxxService" class="xxx.xxServiceImpl">------<!--具体的实现Bean-->

      <dubbo:application name="xixi_provider"  />  ----- <!-- 提供方应用信息,用于计算依赖关系 -->  

    <!-- 使用multicast广播注册中心暴露服务地址   <dubbo:registry address="multicast://224.5.6.7:1234" />-->  

    <dubbo:registry address="zookeeper://127.0.0.1:2181" />   <!-- 使用zookeeper注册中心暴露服务地址 -->  

         <dubbo:protocol name="dubbo" port="20880" />  <!-- 用dubbo协议在20880端口暴露服务 -->   

         <dubbo:service interface="com.unj.dubbotest.provider.DemoService" ref="demoService" /><!-- 声明需要暴露的服务接口 --> 

       <dubbo:reference id="demoService" interface="com.unj.dubbotest.provider.DemoService" /><!-- 生成远程服务代理,可以像使用本地bean一样使用demoService -->

4、使用Dubbo有什么好处?

   总结:如果纯粹使用Spring框架的话,在相应的配置文件Spring.xml中,需要配置的内容较多,比如:实例类,实体类的配置文件,service接口,实现类等等;而使用Dubbo分布式框架之后,除了几个配置文件之外,在spring.xml配置文件中只需要配置相应的service接口就可以啦;

  简单了许多,在Spring.xml中没有那么多的所属关系的配置之外,当涉及到多个service接口的时候,配置起来会很方便明了;

本人目前处于学习阶段,各位大神多多提宝贵的建议!
原文地址:https://www.cnblogs.com/FanSunny/p/4720586.html