• 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 任意可用

     

     

     
  • 相关阅读:
    初识Jmeter
    【性能/接口测试】【Jmeter】保存响应内容
    【Java-jxl插件】【Excel文件读写报错】jxl.read.biff.BiffException: Unable to recognize OLE stream
    随机生成九宫格图形密码-实现
    转载:测试人员的挑战
    运行UI自动化脚本报错,和appium server连接出现问题
    Jenkins容器无法执行docker命令
    【接口测试】使用httpClient获取cookies+携带获取的cookies访问get接口
    【Nginx】安装&环境配置
    【PostMan】批量参数化的用法 之 text/csv
  • 原文地址:https://www.cnblogs.com/zhonghuahero/p/14144243.html
Copyright © 2020-2023  润新知