欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

如何基于netty实现mq 编程思路

发布时间:2025/3/21 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何基于netty实现mq 编程思路 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

消费者netty客户端与nettyServer端MQ服务器端保持长连接,MQ服务器端保存
消费者连接。
生产者netty客户端发送请求给nettyServer端MQ服务器端,MQ服务器端在将该
消息内容发送给消费者。

body:{“msg”:{“userId”:“123456”,“age”:“23”},“type”:“producer”,”topic”:””}

生产者投递消息给MQ服务器端,MQ服务器端需要缓存该消息
如果mq服务器端宕机之后,消息如何保证不丢失

  • 持久化机制
    如果mq接收到生产者投递消息,如果消费者不在的情况下,该消息是否会丢失?
    不会丢失,消息确认机制 必须要消费者消费该消息成功之后,在通知给mq服务器端
    删除该消息。
    Mq服务器端将该消息推送消费者:
    消费者已经和mq服务器保持长连接。
    消费者主动拉取消息:
    消费者第一次刚启动的时候
  • Mq如何实现抗高并发思想

    Mq消费者根据自身能力情况 ,拉取mq服务器端消息消费。
    默认的情况下是取出一条消息。

    缺点:存在延迟的问题

    需要考虑mq消费者提高速率的问题:

    如何消费者提高速率:消费者实现集群、消费者批量获取消息即可。
    Maven依赖

    <dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.0.23.Final</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.11</version></dependency> </dependencies>

    总结

    以上是生活随笔为你收集整理的如何基于netty实现mq 编程思路的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。