javen73
V2EX  ›  Java

关于 Netty 集群的共享 channel 问题

  •  
  •   javen73 · Nov 30, 2018 · 5024 views
    This topic created in 2767 days ago, the information mentioned may be changed or developed.

    我一开始的思路是本地存储连接的 channel,如果要找到某一个连接,就使用 MQ 进行广播,所有客户端拿到消息后,在本地进行查找,如果有 channel,则进行通讯。

    一开始用阿里的 rocketmq,进行的消息广播,没啥问题,就是一天每个 topic2 块钱。

    看了一下 rabbitmq,广播模式也是发给交换机下的某些队列,rabbitmq 能不能多个消费者同时消费一个队列

    或者有什么别的办法,小弟万分感谢

    13 replies    2018-12-10 13:12:57 +08:00
    q13859601
        1
    q13859601  
       Nov 30, 2018   ❤️ 1
    采用路由算法在连接的时候连接到指定 netty 服务器,然后通信的时候通过同样的算法直达 nettyserver,或者在注册的时候将连接信息保存到 zk 等介质存储,靠 mq 广播有点曲径救国吧,而且性能也很低下
    cyhulk
        2
    cyhulk  
       Nov 30, 2018
    用什么 mq 都不如用一个门面的 server 来的实在
    skyFuture
        3
    skyFuture  
       Nov 30, 2018
    netty 为啥叫做集群呢? netty 只是一个通信的框架呀~~
    javen73
        4
    javen73  
    OP
       Nov 30, 2018
    @q13859601 这样开发成本会低点吧,至少我看来,因为我这边没什么研发时间,马上就要上线
    javen73
        5
    javen73  
    OP
       Nov 30, 2018
    @cyhulk 什么是门面 server
    javen73
        6
    javen73  
    OP
       Nov 30, 2018
    @skyFuture 我是说我写的 netty 程序。
    hcymk2
        7
    hcymk2  
       Nov 30, 2018
    估计是前面加个负载均衡器(haproxy , nginx tcp proxy )
    javen73
        8
    javen73  
    OP
       Nov 30, 2018
    感谢以上大佬,我还是老老实实用阿里的 rocketmq 做吧,后期再研究
    goodspb
        9
    goodspb  
       Nov 30, 2018 via iPhone
    所以是问有哪些来源的 mq 吗?
    honeycomb
        10
    honeycomb  
       Nov 30, 2018 via Android
    @javen73 还有个类似的办法是把 channel 和 netty 的示例关联信息缓存到 Redis ( zoo keeper 也是差不多的道理),你要查的时候直接问 Redis 就可以了,这样一来开发的任务量应该不会很大
    q13859601
        11
    q13859601  
       Nov 30, 2018
    @javen73 放 zk 或者 redis 的开发成本和 mq 差不多
    Kaiv2
        12
    Kaiv2  
       Dec 4, 2018
    @q13859601 是的,之前做消息推送,直接把对应关系存到了 redis,看看有没有其他方案。
    zhaishunqi
        13
    zhaishunqi  
       Dec 10, 2018
    @Kaiv2 我们也是这么做的.channel 上线的时候,把对应关系存到 redis.后来要广播,直接那到对应的 netty 服务器,然后直接告诉它要广播就行了.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   860 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 19:46 · PVG 03:46 · LAX 12:46 · JFK 15:46
    ♥ Do have faith in what you're doing.