RabbitMQ实现消息发送的基础组件封装
文章平均质量分 74
RabbitMQ实现消息发送的基础组件封装
Java知者
知者,知无不言的知者
展开
-
SpringBoot 整合 RabbitMQ
在生产者端编写测试代码,也就是在 Producer 项目中编写测试代码。2. 配置 application.yml。2. 配置 application.yml。所在项目为 Producer。所在项目为 Consumer。1. 添加maven依赖。原创 2023-04-29 17:26:31 · 530 阅读 · 1 评论 -
ZooKeeper 安装并实现集群搭建
注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。在 zoo.cfg 文件中,会有对 dataDir 的一项配置,需要创建该目录,并且注意要在该目录下创建 myid 文件,里面的配置和 zoo.cfg 中的server.x 配置保持一致。你也可以不配置,这不是搭建集群的必要操作,只不过如果你不配置环境变量,那么每次启动zookeeper需要到安装文件的 bin 目录下去启动。原创 2023-05-02 22:11:43 · 1283 阅读 · 0 评论 -
RabbitMQ之交换机类型
在 RabbitMQ 中,交换机主要用来将生产者生产出来的消息,传送到对应的队列中,即,其英文被称为 exchange。交换机在 RabbitMQ 中起着承上启下的作用。常用的只有前面三种:direct、topic、fanout。原创 2023-04-28 17:56:40 · 736 阅读 · 0 评论 -
CentOS 7.x 安装 JDK1.8
如果出现 bash: ./java: cannot execute binary file 则是 32 位的Linux 系统安装了 64 位的 JDK。将 JDK 安装包通过 ftp 工具上传到 CentOS 系统,我这里使用 WinSCP 上传到 /usr/java 目录下(目录不存在的话就新建)。然后按 ESC 键退出编辑模式,输入 ":wq" 即保存退出该文件。我这里选择的版本为 jdk-8u361-linux-x64.rpm。如果出现如下信息,则默认安装有,需要卸载。显示如下则成功安装。原创 2023-05-02 18:43:30 · 913 阅读 · 0 评论 -
RabbitMQ基础组件封装—整体结构(总篇)
这是一个设置对象转换方式的操作,这里的转换是指我们自己写的Message实体类和org.springframework.amqp.core.Message之间的转换。@Autowired的注入方式是单例,为了提高效率,可以池化处理RabbitTemplate:让一个topic对应一个rabbitTemplate,第一次是创建一个template,相当于多生产者,并行发送消息,一个topic对应一个生产者,相比于单例中的单个生产者的效率有所提升。基于上面已完成的代码,可以很容易实现 确认类型消息 的发送。原创 2023-05-05 18:58:10 · 1975 阅读 · 2 评论 -
elastic-job-lite-console的安装
上传到linux的 /home/software/ 目录下,并解压。然后将解压后的文件夹复制到 /usr/local/ 目录下。,输入用户和密码,默认都是root。3. 设置用户名和密码。原创 2023-05-05 12:04:06 · 271 阅读 · 0 评论 -
在VMware上对于CentOS虚拟机的克隆
对已有的虚拟机右键,找到克隆操作,选择完整克隆,之后修改一下虚拟机名称和位置,点击完成即可。原创 2023-05-03 13:37:27 · 1084 阅读 · 0 评论 -
RabbitMQ之生产端可靠性投递与消费端幂等性
保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制。原创 2023-04-28 18:23:07 · 95 阅读 · 0 评论 -
Centos7.x安裝 RabbitMQ
(本节可忽略)2. 如果有多台服务器,并且这几个服务器之间可以通过 服务器名进行通信,则需要修改两个文件,验证单个节点是否安装成功,可以通过浏览器访问链接:http://(服务器ip):15672/修改点:(1)loopback_users 中的 ,只保留guest。(2)heartbeat 为10(也可以保留默认,不修改)在 /etc/hosts 中可以添加一些 ip和服务器名称。5. 修改集群用户与连接心跳检测。验证是否可以互相通信。原创 2023-04-25 17:19:29 · 393 阅读 · 0 评论 -
RabbitMQ可靠性消息发送(java实现)
本博客属于 《RabbitMQ基础组件封装—整体结构》的子博客。原创 2023-05-06 14:56:40 · 2312 阅读 · 0 评论 -
ElasticJob使用与封装
/ @ConditionalOnProperty表示只有在配置文件中有以 elastic.job.zk 为前缀的这两个配置项"namespace", "serverLists",才会加载这个类@Slf4j// ApplicationListener表示应用程序启动完成以后才会加载该类然后将该类作为 Bean 注入到 Spring 中进行管理,以下代码定义在 JobParserAutoConfigurartion.java中@Bean。原创 2023-05-05 18:13:34 · 1173 阅读 · 0 评论 -
RabbitMQ之序列化与反序列化:自定义某个Object对象和Spring中的某个Object对象通过序列化和反序列化的方式进行转换(java代码实现)
*** 序列化和反序列化的接口*//*** 构造方法*//*** 将 org.springframework.amqp.core.Message 中的 body 属性反序列化成自定义的 Message* 该方法用于从 RabbitMQ服务中接收消息时,转成我们自己定义的Message对象*/@Override/**原创 2023-05-04 16:20:50 · 2259 阅读 · 0 评论 -
RabbitMQ集群环境搭建-镜像模式
集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的。并且实现集群非常的简单,一般互联网大厂都会构建这种镜像集群模式。Mirror镜像队列,目的是为了保证rabbitmq数据的高可靠性解决方案,主要就是实现数据的同步,一般来讲是2-3个节点实现数据同步(对于100%数据可靠性解决方案一般是3节点)。bhz73目的是三台服务器能够网络互通(使用 ping 命令可以ping通)。原创 2023-04-29 14:56:53 · 3038 阅读 · 1 评论 -
RabbitMQ之消费端限流、重回队列、死信队列
消费端限流、重回队列是在消费端进行设置,死信队列是在队列声明时进行设置。原创 2023-04-28 19:10:18 · 1023 阅读 · 0 评论 -
RabbitMQ之Confirm确认机制、Return消息机制
另外在基础API中有一个关键的配置项:Mandatory,如果为true,则 Return Listener 会接收到路由不可达的消息,然后进行后续处理,如果为false,那么Broker端会自动删除该消息,Return Listener不会收到该消息。但是在某些情况下,如果我们在发送消息的时候,当前的exchange不存在或者指定的路由key路由不到,这个时候如果我们需要监听这种不可达的消息,就是使用Return Listener!Confirm确认机制、Return消息机制都是在生产端进行操作。原创 2023-04-28 18:38:45 · 603 阅读 · 0 评论