dubbo/zk

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

dubbo的那个interface,不是随便写只要provider和consumer一致就行了。而是那个应该是一个切实存在的接口,生产者消费者都能找到那个接口(依赖配置好),然后消费者先import这个接口,然后使用这个接口的方法的时候,去找生产者对这个接口的实现类

dubbo的消费者有缓存服务列表,而不是每次调用都去ZK取一次

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ZK(zookeeper)是一个分布式框架。ZK是文件式系统的组织结构(树状)。客户端监听zk服务端的节点,服务端有变化就会被客户端监听到

我们项目把ZK作为dubbo的注册中心。provider把自己的服务(接口)注册到注册中心,consumer向注册中心订阅自己需要的服务(接口)。然后注册中心返回provider的地址列表给consumer,

consumer基于负载均衡算法选一台provider进行调用

我理解是dubbo自己做了对zk的适配

同一个注册中心的多台机器。所有机器都注册了相同的服务,消费者会被均衡策略分配给一个机器去查。查不到的话就报错

http://dubbo.apache.org/zh/docs/v2.7/user/references/registry/zookeeper/

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果dubbo的provider应用部署在docker里,那么默认是把docker的容器IP和容器端口注册到zk,这种情况下consumer按照容器的IP和端口是找不到provider的,所以应该是把provider的宿主机的IP和端口注册到ZK,办法是设置俩环境变量,如下:

- name: DUBBO_PORT_TO_REGISTRY

   value: '31666'   //  这是宿主机的端口,跟容器的端口有个映射关系。这个映射关系应该是由云容器平台来维护的

- name: DUBBO_IP_TO_REGISTRY

   valueFrom:

       fieldRef:

           apiVersion: v1

           fieldPath: status.hostIP  // 这就是取宿主机的IP

如果一台宿主机上有多台容器实例,配置的DUBBO_PORT_TO_REGISTRY是同一个端口,不会冲突。会有一个类似于负载均衡的分发操作,至于这个操作是谁做的,我猜是k8s?

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

可以用tag(打标签的方式)做灰度隔离

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值