dubbo的部分知识点

1、框架和流程:

节点角色说明
节点角色说明
Provider暴露服务的服务提供方
Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次数和调用时间的监控中心
Container服务运行容器

调用关系说明:

      0.start:服务容器负责启动,加载,运行服务提供者。

      1.register:服务提供者在启动时,向注册中心注册自己提供的服务。

      2.subscribe:服务消费者在启动时,向注册中心订阅自己所需的服务。

      3.notify:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

      4.invoke:服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

      5.count:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。


2、服务提供者的核心配置文件:

      第一步:先指定服务提供者的名称,名称要保证唯一性,建议使用项目名称。

<dubbo:application name="xxx"/>

      第二步:指定协议名称和端口号。官方推荐协议选用dubbo,端口号选用20880。

<dubbo:application name="dubbo" port="20880"/>

      第三步:指定注册中心,选用Zookeeper。

<dubbo:registry address="zookeeper://localhost:2181"/>

      第四步:暴露服务。interface 表示暴露接口的全限定类名;ref 表示引用接口在spring容器中的接口名称;registry表示使用直连的方式 N/A。

<dubbo:service interface="" ref="" registry=""/>

      第五步:加载接口实现类。

<bean id=" " class=" ">

      然后将配置文件加载到web.xml中,暴露接口。

3、消费者的核心配置文件:

      第一步:同上。

      第二步:同上面第三步。

      第三步:引用远程接口。id表示远程引用服务的代理对象名称;interface 表示接口的全限定类名;url表示调用远程接口的服务地址;registry表示使用直连的方式 N/A。

<dubbo:reference id=" " interface=" " url="" registry=" "/>

4、属性加载属性:

     虚拟机参数-->xml配置-->properties


5、springboot和dubbo整合的三种方式:

   (1)、导入dubbo-starter。在application.properities中配置属性,使用@Service暴露服务,使用@Reference 消费服务(引用服务),进行远程引用。(旧方法)

     ps:使用此方法需要开启注解@EnableDubbo。

   (2)、保留dubbo的xml配置文件。导入dubbo-starter,使用@ImportResource导入配置文件。

   (3)、使用注解的方式,将每一个组件手动创建到容器中。

、当Zookeeper宕机后,消费者是能调用服务者的服务的,因为采用了dubbo直连方式,有本地缓存。即使注册中心全部宕机后,服务提供者和消费提供者仍能通过本地缓存通讯。


6、四种负载均衡策略:

    (1)Random LoadBalance(基于权重的随机负载均衡机制)

      ps:权重越大得到的机会就越高。这里强烈建议不要权值写死,因为在注册中心上可以增和减权值。

    (2)RoundRobin LoadBalance(基于权重的轮询负载均衡机制)

      ps:因为userService1的权重为100,总权重为350,所以概率是2/7,所以会有两个1。剩下两个以此类推......

    (3)最少活跃数-负载均衡机制(LeastActive LoadBalance)

      ps: 活跃数指调用前后计数差。因为userService1的的活跃数为100,最快,所以会最优先调用此服务器。

    (4)一致性hash-负载均衡机制(ConsistentHash LoadBalance)

      ps: 由id决定去哪台服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值