RabbitMQ简介 MQ全称为Message Queue,即消息队列,RabbitMQ使用Erlang语言开发。 它基于AMQP协议(Advanced Message Queue高级消息队列协议)实现的消息队列。 它是一种应用程序之间通信的方式,在分布式系统中应用十分广泛。 应用场景 1、任务异步 ...
分类:
其他好文 时间:
2020-01-31 18:41:50
阅读次数:
87
消息积压在MQ中是一件很正常的事,但是积压过多了,就可以会导致消息的丢失,甚至系统的崩溃。那我们从事前的预防和事后的处理两个方面去解决。 一、事前预防 我们如何预防消息积压呢,一般就是批量和增加并发这两个方法,发送端和消费端都可以从这两个方面去处理。 1.1 发送端 1.批量。比如一次从数据库中批量 ...
分类:
其他好文 时间:
2020-01-31 00:50:15
阅读次数:
248
消息消费以组的的模式开展; 一个消费组内可以包含多个消费者,每一个消费组可订阅多个主题; 消费组之间有集群模式与广播模式两种消费模式:集群模式-主题下的同一条消息只允许被其中一个消费者消费。广播模式-主题下的同一条消息将被集群内的所有消费者消费一次。集群模式下消息队列负载机制遵循一个通用的思想:一个 ...
分类:
其他好文 时间:
2020-01-28 19:05:48
阅读次数:
88
考虑转发任务未成功执行,此时消息服务器Broker宕机,导致commitlog,consumeQueue,IndexFile文件数据不一致。 看一下mq关于存储文件的加载流程: public boolean load() { boolean result = true; try { boolean ...
分类:
其他好文 时间:
2020-01-27 09:42:08
阅读次数:
85
ConsumeQueue,IndexFile需要及时更新,否则无法及时被消费,根据消息属性查找消息也会出现较大延迟。 mq通过开启一个线程ReputMessageService来准时转发commitLog文件更新事件,相应的任务处理器根据转发的消息及时更新ConsumeQueue,IndexFile ...
分类:
其他好文 时间:
2020-01-27 09:16:46
阅读次数:
82
记录comitlog,consumeQueue,Index文件的刷盘时间点,文件固定长度4k,其中只用该文件的24个字节,其存储格式: 8字节physicMsgtimestamp+8字节logicsMsgTimestamp+8字节indexMsgTimestamp physicMsgtimestam ...
分类:
其他好文 时间:
2020-01-26 23:56:50
阅读次数:
124
消息服务 背景:有时需与其它系统集成来完成相关业务功能,原始的做法是程序内部相互调用,除此之外,还可用消息服务中间件来进行业务处理,使用消息服务中间件处理业务能够提升系统的异步通信和扩展解耦的能力,个人有点面向切面的意思。 一.为什么要使用消息服务? 因为它有很多好处,能解决很多问题; 1.异步处理 ...
分类:
编程语言 时间:
2020-01-26 13:17:33
阅读次数:
94
页面发布课程管理 技术方案 本项目使用MQ实现页面发布的技术方案如下: 技术方案说明:1、平台包括多个站点,页面归属不同的站点。2、发布一个页面应将该页面发布到所属站点的服务器上。3、每个站点服务部署cms client程序,并与交换机绑定,绑定时指定站点Id为routingKey。指定站点id为r ...
分类:
其他好文 时间:
2020-01-23 22:45:27
阅读次数:
970
镜像是 Dokcer 的三大组件之一。 Docker运行容器之前本地需要存在对应的镜像,如果本地不存在该镜像,Dokcer 则会从镜像仓库中下载该镜像。 1、获取镜像 Docker Hub 上有大量的高质量的镜像可以使用,下面先介绍怎么获取这些镜像 : 从 Docker 镜像残酷获取镜像 : 通过该 ...
分类:
其他好文 时间:
2020-01-23 20:01:18
阅读次数:
117