jecshcier
V2EX  ›  问与答

请问 nodejs 之间的通信用什么好?

  •  
  •   jecshcier · Dec 23, 2017 · 2891 views
    This topic created in 3066 days ago, the information mentioned may be changed or developed.

    是这样的,我写了一个公司内部交流的聊天系统。现在要做 pc、mobile 的客户端(本来是纯 web 端的)。我想对我写的项目进行一次剥离,分成两块,一块只负责路由、与客户端的 websocket 通信,另一块只负责读写数据,当成一个 restful api 使用。

    前者的话,将来应付三平台的客户端在线聊天使用,后者为前者提供数据支持,同时也想要开放一些 api 供其他系统使用。

    首先想到的是 http 通信,但考虑到高并发的情况(虽然没有这种情况,但还是往这种情况去考虑),以及目前我们用的就只是 http 不是 https,安全性得不到保证。

    然后想到是不是可以用 tcp 协议自己搞一个类似 java 那样的 websevice,之后又想到了 zookeeper。但是对这一块不是非常了解,各位能否支个招?

    7 replies    2017-12-24 19:52:54 +08:00
    BOYPT
        1
    BOYPT  
       Dec 23, 2017
    各种 mq 啊。
    jecshcier
        2
    jecshcier  
    OP
       Dec 23, 2017 via iPhone
    @BOYPT rabbitmq 么
    Elven
        3
    Elven  
       Dec 23, 2017 via iPhone
    可以丢个 grpc
    tmac6740
        4
    tmac6740  
       Dec 23, 2017
    小乔要努力变强
    jecshcier
        5
    jecshcier  
    OP
       Dec 23, 2017 via iPhone
    @tmac6740。。。😅😅😅
    cloud107202
        6
    cloud107202  
       Dec 24, 2017
    同步建议 gRPC,异步用 MQ. MQ 的选择比较多,有基于内存的(rabbitmq nsq) 有可持久化的(kafka) 有些只能消费一次,有的可以由 client 自由操控 offset 反复消费 msg(还是 kafka)
    jecshcier
        7
    jecshcier  
    OP
       Dec 24, 2017 via iPhone
    @cloud107202 kafka 这个我也查到了,一直不明白它和 zookeeper 的区别,可否解答一下疑惑
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   933 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 22:40 · PVG 06:40 · LAX 15:40 · JFK 18:40
    ♥ Do have faith in what you're doing.