u010287873
点滴记录,是前进的脚步
2018-09-03 05:44
采纳率: 33%
浏览 1.5k
已采纳

zookeeper注册服务问题请教指点

zookeeper注册服务除了服务所在的机器的ip+端口号外需要注册别的服务信息吗?比如查订单服务,执行时具体执行的方法入参为订单号,需要把这个参数的名称注册到zookeeper吗?
还有个小疑问,zookeeper注册时注册的ip+端口号可不可以改成用域名注册的形式?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • weixin_37893887
    玄尺 2018-09-03 11:14
    已采纳

    首先zookeeper一般的用途是一个注册中心,在当前的服务器架构下,不管公司规模有多大,都会使用负载均衡用于服务器水平扩展。这时候服务器之间的RPC调用:
    A服务调用B服务,我们表示为A -> B。A1、A2、A3表示提供A服务的实例,B1、B2、B3是提供B服务的实例。所以一个A -> B,实际上是Ai -> Bj。
    这里还要说明一下,RPC负载均衡一般都是分布式负载均衡(像nginx负载称为集中式负载均衡),这样每一个服务就需要能够知道服务提供方的可用服务列表,比如Ai可以从zookeeper中获取(B1、B2、B3、B4)。

    第二个问题:负载均衡都是面向接口编程。服务提供方会将RPC的接口单独发布出来,将ip:port:interface1,interface2注册到zookeeper就可以了。

    第三个问题:ip换成域名这自然是可以的,前提是在客户端能够配置内网的DNS

    点赞 评论
  • u013944898
    笑傲传说 2018-09-03 11:00

    注册的时候是根据接口类去注册的,对应的参数跟注册的服务的方法声明是一致的,不需要单独注册参数名称。

    点赞 评论
  • Lxinccode
    Lxinccode 2018-09-04 02:18

    还要服务名称,就是服务 id

    点赞 评论
  • java_66666
    java_66666 2018-09-04 04:23
    点赞 评论

相关推荐