![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
项目实战 — 消息队列
文章平均质量分 84
消息队列提供了虚拟主机,交换机, 队列,消息等概念的管理
️小艺的学习旅途
这个作者很懒,什么都没留下…
展开
-
项目实战 — 消息队列(9){编写demo程序}
消息队列服务器核心功能就是,提供了虚拟主机,交换机, 队列,消息等概念的管理,实现三种典型的消息转发方式,可以实现跨主机/服务器之间的生产者消费模型。这里,就编写一个demo,实现跨主机的生产者消费者模型。原创 2023-08-13 20:19:12 · 197 阅读 · 0 评论 -
项目实战 — 消息队列(8){网络通信设计②}
一、客户端设计🍅 1、设计三个核心类🍅 2、完善Connection类🎄 读取请求和响应、创建channel 🎄 添加扫描线程🎄 处理不同的响应 🎄 关闭连接🍅 3、完善Channel类🎄 编写createChannel()🎄 编写waitResult()和putRetuens()方法🎄 编写其他核心API🎊 交换机🎊 队列原创 2023-08-13 18:40:37 · 175 阅读 · 0 评论 -
项目实战 — 消息队列(8){网络通信设计①}
一、自定义应用层协议🍅 1、格式定义🍅 2、准备工作🎄定义请求和响应🎄 定义BasicArguments🎄 定义BasicReturns🍅 2、创建参数类🎄 交换机🎄 队列🎄 绑定 🎄发布消息 🎄 订阅消息 🎄确认应答 🎄 消息推送二、服务器设计🍅 1、编写实例变量和构造方法🍅 2、编写启动类和关闭类原创 2023-08-13 13:57:35 · 256 阅读 · 0 评论 -
项目实战 — 消息队列(7){虚拟主机设计(2)}
一、消费消息的规则二、消费消息的具体实现方法🍅 1、编写消费者类(ConsumerEnv)🍅 2、编写Consumer函数式接口(回调函数)🍅 3、编写ConsumeerManager类🎄定义成员变量🎄notifyConsume()方法 🎄添加构造方法 🎄 addConsumer()方法🎄 完善consumeMessage()方法🍅 4、完成VirtualHost类编写原创 2023-08-11 17:52:47 · 221 阅读 · 0 评论 -
项目实战 — 消息队列(7){虚拟主机设计(1)}
一、什么是虚拟主机二、编写虚拟主机代码🍅 1、准备工作🍅 2、实现exchange相关操作🎄实现创建交换机exchangeDeclare🎄 实现删除交换机exchangeDelete🍅 3、实现queue相关操作🎄实现创建队列queueDeclare🎄实现删除队列queueDelete🍅 4、实现binding相关操作🎄 实现交换机的转发规则🎄 创建绑定queueBind🎄 删除绑定queueUnbind🍅 5、实现basicP原创 2023-08-11 00:14:49 · 177 阅读 · 0 评论 -
项目实战 — 消息队列(6){内存数据管理}
一、设计数据结构二 、实现管理方法🍅 1、实现交换机管理🍅 2、实现队列管理🍅 3、实现绑定管理🎈插入绑定操作🎈删除绑定🍅 4、进行消息管理🍅 5、发送消息到指定队列🍅 6、表示“未被确认”的消息管理🍅 7、从硬盘上读取数据三、测试交换机操作🍅 1、“准备工作”和收尾工作🍅 2、测试 交换机🍅 3、测试 队列🍅 4、测试 绑定🍅 5、测试 消息的增删查🍅 6、测试 发送消息原创 2023-08-08 16:22:07 · 212 阅读 · 0 评论 -
项目实战 — 消息队列(5){统一硬盘操作}
创建了这个类,我们就不用去直接调用DataBaseManager和MessageFileManager里面得方法了。那么,这里就创建一个类,讲之前的两个部分整合起来,对上层提供统一的一套接口,表示硬盘上存储的所有的类的信息。前面已经使用数据库管理了交换机、绑定、队列,然后又使用了数据文件管理了消息。原创 2023-08-06 21:09:55 · 829 阅读 · 0 评论 -
项目实战 — 消息队列(4){消息持久化}
一、消息存储格式设计 🍅 1、queue_data.txt:保存消息的内容 🍅 2、queue_stat.txt:保存消息的统计信息二、消息序列化三、自定义异常类四、创建MessageFileManger类🍅 1、约定消息文件所在的目录和文件名字🍅 2、队列的统计信息🍅 3、创建队列对应的目录和功能🍅 4、实现删除队列的文件和目录🍅 5、检查队列的目录和文件是否都存在🍅 6、把消息写入到文件中🍅 7、删除文件中的原创 2023-08-06 18:00:22 · 1512 阅读 · 1 评论 -
项目实战 — 消息队列(3){数据库操作}
一、SQLite🍅 1、添加依赖🍅 2、修改配置文件后缀(properties -> yaml)🍅 3、编写配置文件二、建立数据表三、添加插入和删除方法四、整合数据库操作(DataBaseManger类)🍅 1、初始化方法init()🍅 2、编写代码五、对数据库操作进行单元测试🍅 1、“准备工作”和“收尾工作”🍅 2、编写测试类进行用力测试🎈测试init()方法🎈测试交换机(插入和删除)* Delete🎈测试原创 2023-07-31 19:20:08 · 1014 阅读 · 2 评论 -
项目实战 — 消息队列(2){创建核心类}
一、创建项目二、创建核心类🍅 1、编写交换机类,Exchange🍅 2、编写存储消息的队列,MSGQueue🍅 3、编写绑定类,binding🍅 4、编写消息,Message原创 2023-07-30 15:32:31 · 208 阅读 · 0 评论 -
项目实战 — 消息队列(1) {需求分析}
具体工作:1.需要实现生产者,broker server,消费者三个部分2.针对生产者消费者,主要编写客户端和服务器的网络通信部分给客户端提供一组api,让客户端的业务代码来调用,从而通过网络通信的方式远程调用broker server上面的方法3.实现Broker Server以及broker server内部的一些基本概念和核心的api。4.持久化,数据的存储这里的MQ不支持分布式部署,只是一个单机的,能够给多个生产者消费者提供服务。原创 2023-07-29 15:02:41 · 303 阅读 · 0 评论