有这样的一种场景,公司项目原本是经过 http 接口来调用第三方接口,可是这样带来了不少问题;我在实际项目中有碰到这样一种状况,因为对方服务不稳定,接口虽然调过去了,对方操做成功,可是因为网络缘由或其它缘由,未能返回成功的反馈,致使我方业务出错,这在量少的时候还能够经过人工处理解决,当量上来的时候,就是一场灾难。html
kafka 来讲的话是高吞吐量,kafka 在每秒百万级别(通常用在设备上点等高频数据操做),彻底分布式; 而 rabbitmq 比较简单,遵循 amqp 协议,通常应用可使用;不适合物联网数据上报java
注意事项spring
这里我是学的这个视频 ,正好又找到对应的代码博客 视频地址数据库
解读:springboot
代码: 简单队列网络
解读:ssh
代码(轮询分发): 轮询分发
代码(公平分发): 也叫能者多劳 公平分发异步
解读:分布式
代码: 订阅模式ide
解读:
代码: 路由模式
解读:
这个相比较于路由模式来讲是把全名称匹配换成了模式匹配,有了通配符
代码: 主题模式
生产端有两种方式来确保消息到达队列
代码:事务机制
消费者端有 ack 确认来确保可靠
//将自动 ack 确认设置为 false ,而后手动来确认已经收到消息并正确处理业务 boolean autoAck=false; channel.basicConsume("test",autoAck,defaultConsumer); //回应 rabbitmq 已经收到消息并处理 channel.basicAck(envelope.getDeliveryTag(),false);
上面的代码虽然能解决消息丢失的问题,但有一个弊端,就是当业务处理时间特别长的时候,rabbitmq 得不到回应,形成消息堆积。解决办法以下。
rabbitmq 自己能够作持久化来保证可靠性
// 设置方法在声明队列的第二个参数,是否持久化,设置为 true 便可 boolean durable = true; channel.queueDeclare(QUEUE_NAME,durable,false,false,null);
什么是死信队列
使用场景
Excel 通用导入导出,支持 Excel 公式
https://blog.csdn.net/sanri1993/article/details/100601578
使用模板代码 ,从数据库生成代码 ,及一些项目中常常能够用到的小工具
https://blog.csdn.net/sanri1993/article/details/98664034
原做者的文章恰好能和视频对上,太感谢了,我只是帮原做者作了个文章排序而已;
引用你的文章但愿不介意
https://blog.csdn.net/qq78442761/article/category/9040352
https://www.cnblogs.com/ssh-html/p/10542841.html