V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lawsiki
V2EX  ›  程序员

多个微服务+集群模式下,端口定义有规范或习惯吗?

  •  
  •   lawsiki · 2019-06-29 15:15:42 +08:00 · 4073 次点击
    这是一个创建于 1735 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如有 order,user,message 三个服务,每个服务部署 3 台节点,端口怎么定义呢?每个集群占一个区段,集群节点自增?

    order:8080,8081,8082

    user:9090,9091,9092

    message:10000,10001,10002

    12 条回复    2019-06-30 21:58:46 +08:00
    l1nyanm1ng
        1
    l1nyanm1ng  
       2019-06-29 16:09:22 +08:00
    注册到 eureka 上,通过 eureka-server 来控制负载均衡,通过 zuul gateway 来代理 url,这样就可以屏蔽到底用了多少集群,负载均衡全部由 eureka 来做,平时访问的只是 zuul gateway 放出的接口
    lawsiki
        2
    lawsiki  
    OP
       2019-06-29 16:59:33 +08:00
    @l1nyanm1ng #1 感谢回复,我的意思是端口如何定义能够更加清晰,更好的管理,例如我现在的服务端口是 8080,该端口+100 就是对应的 debug 端口,通过这样一个规则就能快速找到相关的端口
    lhx2008
        3
    lhx2008  
       2019-06-29 17:04:46 +08:00
    最佳实践可能就是 K8S,或者简单一点的可以用 Docker Stack,一个服务只要指定一个端口就行。
    opengps
        4
    opengps  
       2019-06-29 19:29:06 +08:00
    实际业务应该仅仅是不同域名,端口都用 80/443 这种常规端口
    opengps
        5
    opengps  
       2019-06-29 19:29:26 +08:00
    负载均衡来实现不同机器对外使用相同地址
    hst001
        6
    hst001  
       2019-06-29 20:52:44 +08:00
    go micro 会使用随机端口,这种情况需要服务发现支持
    jaskle
        7
    jaskle  
       2019-06-30 06:58:56 +08:00 via Android
    偷偷的告诉你:一切以排查问题最简单的方式来部署服务。运维自动化一时爽,一直自动化一直被研发打死。
    helloworld000
        8
    helloworld000  
       2019-06-30 07:09:52 +08:00
    同学,consistent hashing 了解一下
    shm7
        9
    shm7  
       2019-06-30 10:33:13 +08:00 via iPhone
    如果用 k8s 可以用 service ip 来区分,甚至有的服务商支持域名绑定,用端口区分,本身就不易区分。scale out 估计还要重新配环境吧
    cabing
        10
    cabing  
       2019-06-30 11:02:39 +08:00
    这个可以随意随意定义吧。指定一个规则,以后按照规则定义就行。

    这种端口都是需要进行服务注册的,注册的时候刻意检测出哪些端口被使用。其实你在注册的时候也可以记录下哪些端口在使用。

    不一定都是 http 协议。最好是把协议部分抽象下。加上薄薄的一层。
    arrow8899
        11
    arrow8899  
       2019-06-30 11:38:01 +08:00
    如果是传统的服务,可以定义一个区间,比如 40000-50000,每个服务取一个就行。
    如果是用 k8s 做集群,可以都使用 80 端口,然后使用服务名称来访问。
    hantsy
        12
    hantsy  
       2019-06-30 21:58:46 +08:00
    自己的单机上跑才关注端口,实际应用使用 Api Gateway+Service Discovery 自动分配端口。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2933 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 14:12 · PVG 22:12 · LAX 07:12 · JFK 10:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.