zoukankan      html  css  js  c++  java
  • dubbo升级

    参考 :https://mp.weixin.qq.com/s/-fvDeGlCLjz0n60naZJnQg

    1:多协议发布

    应用 B 作为服务提供者,发布了 5 个服务,其中:

    • DemoService1 DemoService2 通过 dubbo 协议发布
    • DemoService3 DemoService4 通过 gRPC 协议发布
    • DemoService0  通过 dubbo 、gRPC 双协议发布

    应用 A 作为消费者,使用 dubbo 协议消费 DemoService1 DemoService2,使用 gRPC 协议消费 DemoService0。

    应用 B 作为消费者,使用 gRPC 协议消费 DemoService2 DemoService4,使用 dubbo 协议消费 DemoService0。

    server:

    <dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService1" protocol="dubbo"/>
    <dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService2" protocol="dubbo"/>
    <dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService3" protocol="grpc"/>
    <dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService4" protocol="grpc"/>
    <dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService0" protocol="dubbo, grpc"/>

    client:

    A:
    <dubbo:reference protocol="dubbo" interface="org.apache.dubbo.samples.basic.api.DemoService1"/>
    <dubbo:reference protocol="dubbo" interface="org.apache.dubbo.samples.basic.api.DemoService2"/>
    <dubbo:reference protocol="grpc" interface="org.apache.dubbo.samples.basic.api.DemoService0"/>
    C:
    <dubbo:reference protocol="grpc" interface="org.apache.dubbo.samples.basic.api.DemoService3"/>                                                                                     
    <dubbo:reference protocol="grpc" interface="org.apache.dubbo.samples.basic.api.DemoService4"/>

    <dubbo:reference protocol="dubbo" interface="org.apache.dubbo.samples.basic.api.DemoService0"/>

    2:多注册中心
    服务提供端,双注册中心发布
    
    
    <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address1}" default="false"/>                                                                           
    <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address2}" />

    <dubbo:service interface="org.apache.dubbo.samples.multi.registry.api.HelloService" ref="helloService" registry="shanghaiRegistry,beijingRegistry"/>
    <dubbo:service interface="org.apache.dubbo.samples.multi.registry.api.DemoService" ref="demoService" registry="shanghaiRegistry,beijingRegistry"/>

     服务消费端,根据消费需求做单/双注册中心订阅

    
    
    <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address1}" default="false" preferred="true" weight="100"/>                                                                                         
    <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address2}" default="true" weight="20"/>

    <dubbo:reference interface="org.apache.dubbo.samples.multi.registry.api.DemoService"/>
    <dubbo:reference interface="org.apache.dubbo.samples.multi.registry.api.DemoService" registry="beijingRegistry, shanghaiRegistry"/>
    <dubbo:reference interface="org.apache.dubbo.samples.multi.registry.api.HelloService" registry="beijingRegistry"/>
    <dubbo:reference interface="org.apache.dubbo.samples.multi.registry.api.HelloService" registry="shanghaiRegistry,shanghaiRegistry"/>

     在引入多注册中心集群后,Dubbo 在流量选址时的多了一层注册中心集群间的负载均衡:

    在 Cluster Invoker 这一级,我们支持的选址策略有(2.7.5+ 版本,具体使用请参见文档):

     1、指定优先级

    
    
    <!-- 来自 preferred=“true” 注册中心的地址将被优先选择,只有该中心无可用地址时才 Fallback 到其他注册中心 --><dubbo:registry address="zookeeper://${zookeeper.address1}" preferred="true" />

    2、同 zone 优先

    <!-- 选址时会和流量中的 zone key 做匹配,流量会优先派发到相同 zone 的地址 --><dubbo:registry address="zookeeper://${zookeeper.address1}" zone="beijing" />

    3、权重轮选

    <!-- 来自北京和上海集群的地址,将以 10:1 的比例来分配流量 --><dubbo:registry id="beijing" address="zookeeper://${zookeeper.address1}" weight=”100“ /><dubbo:registry id="shanghai" address="zookeeper://${zookeeper.address2}" weight=”10“ />

    4、默认,stick to 任意可用

     

     

     
  • 相关阅读:
    pow()函数结果强制转化为int造成误差的分析
    warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    博客园鼠标点击特效代码
    codeblocks更改颜色主题
    codeblocks1712设置中文
    SQl
    项目中nodejs包高效升级插件npm-check-updates
    正则表达式的整理(将金钱数变成带有千分位)
    从一个数组中过滤出另外一个数组中相关字段相等的数据
    IONIC3 打包安卓apk详细过程(大量图文)
  • 原文地址:https://www.cnblogs.com/zhonghuahero/p/14144243.html
Copyright © 2011-2022 走看看