消息中间件
文章平均质量分 57
RabbitMQ、Kafka等组件
Neo Yang
长期从事电信增值服务软件的开发和设计工作。熟悉电信网络(固网,无线,数通)的规划、设计、评估业务及其IT系统的架构设计和实现方案。熟悉Java、C++语言及其开发框架。
展开
-
Kafka应用Demo: 抽取消费者公共处理代码并利用redis实现多消费者实例负载分担
*** 异步任务模型基类. 定义模型公共属性// 任务唯一ID标识, 用UUID private String taskId = "";// 任务编码(任务类别) private String taskCode = "";// 创建人 private String createUser = "";// 创建时 private Date createTime = null;// 修改人 private String updateUser = "";原创 2024-05-15 15:44:17 · 383 阅读 · 0 评论 -
Kafka应用Demo:生产者自定义消息分区方法
下面以一个简单的例子举例,要求key为Tom的消息放1号分区,key为Alice的消息放2号分区。实际项目使用什么样的分区算法需要根据业务场景来决定。/*** 自定义分区算法*/// 分区数量@Override// 未指定分区键,使用轮循分区(指定了key的消息不参与轮循)// 基于业务的约定. 某些消息放到固定的分区return 1;return 2;// 其它情况按key的哈希值分区@Override@Override> map) {原创 2024-05-10 15:54:13 · 396 阅读 · 1 评论 -
Kafka应用Demo:指派分区订阅消息消费
Kafka环境搭建和生产者样例代码与《》相同。原创 2024-05-09 16:02:15 · 281 阅读 · 0 评论 -
Kafka应用Demo:多消费者实例按主题订阅消费消息,增强系统可靠性
在本地启动两个消费者进程,配置同的群组(neo1), 订阅同一个主题消费消息。生产者和消费者代码与《》相同。原创 2024-05-08 15:23:31 · 401 阅读 · 0 评论 -
Kafka应用Demo:按主题订阅消费消息
Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包,修改配置。然后再启动zookeeper和kafka-server即可。需要注意的一点:如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件,增加如下配置:advertised.listener指定访问kafka的IP和端口,IP设置为虚拟机暴露给外部访问的IP。通过本地代码连接kafka,需要使用该配置。原创 2024-05-07 15:56:53 · 431 阅读 · 0 评论 -
RabbitMQ应用Demo:使用queue点对点通知消息
环境准备安装RabbitMq: 个人是先在Win10便携机上安装VMWare Workstation, 再安装Cent OS 操作系统,在此基础上安装RabbitMQ。安装过程可以参考这篇博客: https://blog.csdn.net/hsxy123123/article/details/104006744需要注意RabbitMQ官网提供的erlang与RabbitMQ的配套版本,按版本安装。消息生产者Demo代码 private final static String QUEUE_N原创 2022-02-03 18:11:30 · 1820 阅读 · 0 评论 -
RabbitMQ应用Demo:支持多个消费者实例热插拔
需求背景有这样一些原因需要在项目中部署多个消费者实例:基于系统的可靠性提升要求。特别是基于微服务架构的容器部署方案,微服务多实例部署是保证系统可靠性的基本要求。系统负载分担的诉求,通过多实例部署提升系统整体响应效率。应对场景包括:1)同时启动多个消费者实例能同步处理MQ分派的消息。 2) 当其中一个消费者实例挂了后重启,能继续处理消息队列中的消息。3)部署动态增加一个消费者实例,能立即投入到接收消息,处理消息的过程中。方案分析要满足上面描述的应用场景,有两点需要处理:1)消费者自动确认消息修原创 2022-03-06 18:47:04 · 2520 阅读 · 0 评论 -
RabbitMQ应用Demo:使用exchange广播消息
环境准备安装RabbitMq: 个人是先在Win10便携机上安装VMWare Workstation, 再安装Cent OS 操作系统,在此基础上安装RabbitMQ。安装过程可以参考这篇博客: https://blog.csdn.net/hsxy123123/article/details/104006744需要注意RabbitMQ官网提供的erlang与RabbitMQ的配套版本,按版本安装。消息生产者Demo代码 private final static String EXCHANG原创 2022-02-03 18:22:14 · 2367 阅读 · 0 评论