V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fniy
V2EX  ›  问与答

想问大家一个关于消息中间件的疑问?

  •  
  •   fniy · 2020-04-15 02:43:24 +08:00 · 1630 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如在注册接口中,除基本业务逻辑外,还有发送短信通知、发送微信通知的逻辑。现在想把通知逻辑“异步、队列式处理”,那么,单机解决方案是什么呢?还是说,直接上消息中间件,如 RocketMQ 。

    9 条回复    2020-04-15 11:33:01 +08:00
    luckyrayyy
        1
    luckyrayyy  
       2020-04-15 02:48:35 +08:00 via iPhone
    vert.x?
    jadec0der
        2
    jadec0der  
       2020-04-15 03:47:09 +08:00
    Java 的话用一个 BlockingQueue 就行了,其他语言也差不多,用一个队列结构,再分一个线程取消息。

    如果在云上的话还是建议用消息服务队列,中间件没必要自己搭。
    opengps
        3
    opengps  
       2020-04-15 07:31:42 +08:00 via Android
    单机的解决方案是使用异步线程,消息队列给集群用,小项目就别选大方案,不然维护这一堆中间件的成本也不小
    lhx2008
        4
    lhx2008  
       2020-04-15 07:44:03 +08:00 via Android
    guava 有 eventbus
    fniy
        5
    fniy  
    OP
       2020-04-15 10:41:57 +08:00 via iPhone
    @luckyrayyy 你不说我都接触不到这个名词,你是怎么知道这个东西的?
    fniy
        6
    fniy  
    OP
       2020-04-15 10:52:29 +08:00 via iPhone
    @jadec0der 比较倾向于用这个了。
    ISSSSSSS
        7
    ISSSSSSS  
       2020-04-15 11:25:01 +08:00
    Redis 足以实现一个简单高效的消息系统。
    不推荐基于应用本身的,因为一旦重启,信息会丢失。实在不行数据库也可以。
    luckyrayyy
        8
    luckyrayyy  
       2020-04-15 11:29:04 +08:00
    @fniy 知乎上有个布道师,天天安利这个,我就试了试..
    tabris17
        9
    tabris17  
       2020-04-15 11:33:01 +08:00
    问题在于你是否要保证队列的可靠性和数据完整性
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2120 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.