![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息中间件
文章平均质量分 87
起风哥
这个作者很懒,什么都没留下…
展开
-
async-excel整合站内信通知用户体验感满满
业务处理类还是该怎么写怎么写,所以我们来讲讲callback中做了什么事情,首先我们判断导出结果是成功还是失败,有没有异常,根据不同的类型我们包装不同的消息内容类型,如果出现异常了我们包装一个纯文本消息,如果导出正常并且有链接我们包装一个下载链接的消息最后通过消息工具类发送广播消息给mq。在回到之前下消息中心我们写了个消费者,监听广播消息,我消费者可能部署多个节点,所以客户端可能连接在不同的节点上,所以消费者在收到消息的时候判断下目标客户端有没有连接在当前节点,如果不存在消息直接丢弃,如果存在则发送出去。原创 2023-01-13 21:06:55 · 1042 阅读 · 0 评论 -
springboot+netty实现站内消息通知(完整代码)
见名知意,就是channel 初始化器,当每个客户端创建连接时这里面的代码都会执行一遍。问题:哪些实例可以声明成单例,或者交给spring管理?因为如果每个连接都创建这么一大堆对象,可以想像1万个连接,这里会多占用多少内存出来?这个问题也不难回答,没有中间态,线程安全的类是可以声明成单例的,所以我们顺着这个方向大概就可以知道哪些是可以作为单例进行声明得。授人以鱼不如授人以渔。原创 2022-12-09 10:11:04 · 3396 阅读 · 1 评论 -
关于消息队列选型引发的思考
对于mq长久以来主要关注的点当然是性能、稳定性、吞吐量、可用性、可靠性等问题,这些问题最为突出。在对mq的概念有了解之后相信大家都会有一个认识,好像不管什么mq用起来貌似没多大差别,但是,在你用不到mq瓶颈的情况下性能的对比是毫无意义的。并且大家也都知道mq可以用来异步解耦、削峰填谷、点对点通讯、聊天室,日志收集等作用。那么难道就没有什么业务场景上的差别吗?举个栗子:比如我需要...原创 2019-09-22 00:27:50 · 167 阅读 · 0 评论 -
rocketmq 定时/延时投递消息
--- //延时投递 Message msg = new Message(topic,tag,jsonData.getBytes()); long delayTime = System.currentTimeMillis()+3000L; msg.setStartDeliverTime(delayTime); ...原创 2019-09-20 09:59:05 · 3370 阅读 · 1 评论 -
centos7.x安装最新版rabbitmq
rabbitmq 官方维护了一个erlang版本,官方对该版本做了精简。对rabbitmq的支持会更友好。git地址是https://github.com/rabbitmq/erlang-rpmyum 地址是https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el我们这里直接采用yum 安装的方式步骤如下1、新建仓库...原创 2019-07-11 12:01:57 · 550 阅读 · 0 评论 -
spring整合rabbitmq(三)
springboot2.x使用rabbitmq,那么对于老旧得项目又如何使用呢?这边文章就来讲讲spring如何整合rabbitmq如果大家是maven项目当然就方便很多https://mvnrepository.com/artifact/org.springframework.amqp/spring-rabbit到maven仓库直接找spring-rabbit包,我这边旧项目使用得是足...原创 2019-03-25 14:34:14 · 430 阅读 · 0 评论 -
springboot2.x整合rabbitmq(二)
rabbitmq遵循AMQP协议,AMQP标准协议(协议介绍),springboot将整个过程化得编程封装得确实有时候让人不是很容易看懂。没关系,我们来讲讲怎么使用就好了。springboot 1.x与2.x还是有挺大区别得。我这里使用得是springboot2.1.3.如有不一致地方可能是版本上得问题。先看看官方文档得支持,地址:https://docs.spring.io/spring...原创 2019-03-25 12:07:41 · 1771 阅读 · 1 评论 -
rabbitmq服务搭建(一)
rabbitmq是基于erlang语言开发得,所以得先安装erlang环境。有时间大家可以去了解下erlang这么语言,我接触过很多编程语言,erlang这门语言实在是让我耳目一新,也看到erlang得前途是光明得,erlang中有些特性是其他所有语言所没有得,比如 他得“=”是数学意义上得校验,并且变量只能赋值一次,比如他的模式匹配,比如递归,等等。有兴趣得童鞋可以花一天时间去学习得它得...原创 2019-03-25 10:55:01 · 5216 阅读 · 0 评论 -
rabbitmq的消息事务机制
工作中遇到很多人说rabbitmq没有事务,我一度怀疑我认识了一个假得rabbitmq?其实rabbitmq是有事务的,开启方式如下,具体项目查看我前面的文章springboot2.x整合rabbitmq(二)spring整合rabbitmq(三)@AutowiredRabbitTemplate rabbitTemplate;----//设置事务只需要设置事务为true就行...原创 2019-07-03 20:29:30 · 2090 阅读 · 0 评论 -
rabbitmq的消息确认机制
消息确认分为一、生产者投递确认生产者投递确认分为两个阶段,1、投递至exchange,触发ConfirmCallback如果消息到达exchange,则confirm回调,ack=true如果消息没有到达exchange,则confirm回调,ack=false2、exchange投递至queue中、未到达触发ReturnCallback,在这一步需要设置mandatory...原创 2019-07-03 20:02:15 · 405 阅读 · 0 评论