Dubbo知识汇总

  • 架构的区别
    • soa架构:把一个项目分成多个模块,然后模块间进行调用
    • 微服务:把项目分成多个小项目,每个小项目都是完整的项目,然后进行调用接口实现
  • 分布式
    • 我们可以把一个项目部署在多个服务器上,组成一个整体的项目,soa和微服务都是分布式系统
  • rpc框架
    • 就是远程过程调用
  • dubbo服务流程
    • 2020-03-11_133853
  • 服务方配置
    • 接口必须使用dubbo提供的@Service进行
    • 配置
    • <!-- 指定应用名称 -->
      <dubbo:application name="health_service_provider"/>
      <!--指定服务注册中心地址-->
      <dubbo:registry address="zookeeper://192.168.98.128:2181"/>
      <!--指定暴露服务的端口,如果不指定默认为20880-->
      <dubbo:protocol name="dubbo" port="20887"/>
      <!--批量扫描,发布服务-->
      <dubbo:annotation package="com.ssw.service"/>

  • 消费方的配置
    • @Reference进行从本地查找服务,因为已经从zookeeper上订阅了所有的服务,所以zookeeper停了,也能使用服务,因为第一次已经订阅在本地缓存中了
    • 配置
    • <!-- 指定应用名称 -->
      <dubbo:application name="health_backend" />
      <!--指定服务注册中心地址-->
      <dubbo:registry address="zookeeper://192.168.98.128:2181"/>
      <!--批量扫描-->
      <dubbo:annotation package="com.ssw"/>
      <!--超时全局设置 10分钟 check=false 不检查服务提供方,开发阶段建议设置为false check=true 启动时检查服务提供方,如果服务提供方没有启动则报错 -->
      <dubbo:consumer timeout="600000" check="false"/>
  • dubbo影响通信的两个点
    • 通信:比如dubbo通信
    • 序列化和反序列化速度
  • dubbo直连
    • 也就是不用走zookeeper就能连上例如@Reference(url=”localhost:20880”)
  • dubbo监控中心安装:详情请见dubbo监控中心安装博客
  • dubbo也可以用xml配置进行 例如
    • <bean id=”hellowser” class=”com.ssw.service.imp.hellImpl”/>
    • <dubbo:service interface=”com.ssw.service.hell” ref=”helloser”/>
  • dubbo中如果有事务,则需要使用
  • @Service(interfaceClass = CheckGroupService.class)
    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
  • 如果service用xml配置则不需要以上的配置

posted on 2020-03-11 14:06  赟麟  阅读(183)  评论(0编辑  收藏  举报

导航