rabbitMQ
孤独的投机家
孤独的投机家,公众号同名,意味像寻找美食一样寻找市场的龙头。业余是一名互联网公司的后台Java开发,擅长架构,喜欢阅读新领域的开发知识,也喜欢金融方面的独特见解,同样擅长证券市场投机,主业是内容输出,有孤独的投机家知识星球,欢迎加入。
展开
-
孤独送书啦~本期送出《springboot实战》
孤独送书活动啦~本次送出汪云飞的 springboot实战一书。关注孤独的投机家即可参与,在公众号留言或者从菜单栏选择孤独抽奖跳转。原创 2020-05-28 17:00:18 · 116 阅读 · 0 评论 -
从RocketMQ源码的Store模块分析RocketMQ
前言前几篇都是基于RockeMQ的工具类的源码来分析其架构,功能等,本节从RocketMQ的存储方面来分析,RocketMQ是如何实现回调,高可用的。消息追加的回调方法AppendCallback这个的追加的消息体分为批量的以及单一的消息体两种方式,都是实现了MessageExt类,而MessageExt继承了Message的基类,包括定义了消息的offset,queueID,storeSi...原创 2019-02-08 23:00:53 · 827 阅读 · 0 评论 -
从RocketMQ源码的NameSrv模块分析RocketMQ
前言从RocketMQ启动来分析,namesrv的功能就是提供broker的注册以及client通过topic来获取routing的信息,从broker获取相应的操作过程,简单的介绍还是从源码的角度来分析,本节主要是对namesrv的主要功能,包括默认请求处理方式,集群请求处理方式,以及路由信息管理,键值对配置管理等来入手,同样也是从官网提供的mockito用例入手。KVConfig包nam...原创 2019-02-08 00:58:45 · 608 阅读 · 0 评论 -
从RocketMQ的common模块分析RocketMQ
前言从之前的几节介绍了消息中间件,以及之间的使用区别,这节将会从RocketMQ的common模块出发,分析设计了思路以及可以借鉴的代码逻辑,代码技巧等,毕竟目前好的架构师一半是来自阿里,学习阿里的这套代码规范以及设计思路,帮助读者在项目中更好的,更高层面思考模块的设计,后续将会陆续的从其他模块调选精辟的设计思路来分析。从UtilAll.java类设计工具类阅读源码的步骤第一步并不是直接看源...原创 2019-02-05 17:38:09 · 613 阅读 · 0 评论 -
rabbitmq的消息可靠投递 --下篇
文章目录保证消息100%投递如何保证生产者可靠性投递消息方案一 : 消息入库,对消息状态进行打标。方案二 : 消息延迟投递,进行二次确认,回调检查confirm确认消息Return消息机制消费端限流策略消费端ACK与重回队列消费端的手动ACK和NACK消费端重回队列TTL队列/消息死信队列死信队列设置保证消息100%投递如何保证生产者可靠性投递消息保证消息成功发出...转载 2019-01-15 22:00:20 · 329 阅读 · 3 评论 -
Redis,kafka,activeMQ,RabbitMQ,JVM, lMax Disrupt等实现的队列进行对比--开篇
前言结合前面提到的各种rabbitMQ的使用,本节开始综合的对比市场上流行的redis,kafka,activeMQ等的进行对比,附加使用的代码Demo提供参考。文章大致的结构分为,rabbitMQ的使用介绍,这里的介绍结合项目的使用源码,主要是结合MVC的使用,而其他的整合,比如springcloud,springboot等在这篇介绍之后,后续会继续补充。而题目提及到的大家都不会陌生,可能了解...原创 2019-01-19 23:15:23 · 394 阅读 · 0 评论 -
RabbitM基于Linux7.5的安装以及使用
这节简单的从RabbitMQ的环境搭建开始,详细的说关于什么版本的rabbitMQ对应什么版本的Erlang版本,附带图示,假设读者已经把需要的版本以及对应的Erlang完成下载并且安装,Linux7.5的RabbitMQ的旗舰版rpm包是一键安装,非常方便。关键是针对安装完之后以下的三个重要命令详细说明。rabbitmq-server start & , rabbitmqctl s...原创 2019-01-08 21:56:18 · 327 阅读 · 0 评论 -
RabbitMQ的消息可靠投递 --中篇
前言上一节提到的问题,关于在消费端消费了消息后进行回调处理作出应答的机制,再通过RPC的方式进行调用生产端把没有正常消费的消息进行重复的投递的过程,产生的疑问都归结于,broker没有及时的作出回应的情况如何处理的问题,而本节就针对这个生产端以及broker端的应答作出详细的解说,结合上一节的内容作出一个补偿的方案,把项目的优化推进。broker的确认机制这个表示生产端发送消息,broker...原创 2019-01-13 22:47:49 · 189 阅读 · 0 评论 -
RabbitMQ的消息可靠投递 --上篇
前言上一节介绍了有关rabbitmq里面常用了几种命令,以及交换机的路由规则等,生产端以及消费端之间的伪代码来介绍了各种路由规则下的消费情况,从管控台的设置,数据分析,了解到如何手动设置vhost下的交换机以及用户,队列等。这节开始就rabbitmq的高级特性进行详细的介绍,比如TTL,死信队列,限流,ACK以及失败转移等生产中常用到的特性。消息如何保障100%的投递成功?这里投递成功的意思...原创 2019-01-13 19:19:43 · 496 阅读 · 0 评论 -
RabbitMQ之渐入佳境
前言上一节提及到的rabbitMQ提供的的三种常用命令rabbitmq-server,rabbitmq-plugins,rabbitmqctl,其中rabbitmqctl的命令最为丰富,功能支持用户的操作,交换机的操作,vhost等的操作,有关rabbitmqctl的使用可以通过在Linux系统在rabbitmq的目录下输入命令rabbitmqctl - list就可以查看ctl所有的命令。E...原创 2019-01-13 14:44:56 · 159 阅读 · 0 评论 -
RabbitMQ的核心概念以及AMQP协议
前言上一节从各个常用的mq的对比,拓扑图以及集群方案来做了对比,本节就针对rabbitMQ的基本的概念再深入的探讨以及巩固,为后续搭建多活架构做准备,本系列课程将同步慕课网,如果有需求的读者,可以自行慕课网学习,探讨。RabbitMQ是基于AMQP协议根据之前的人工智能的项目,使用消息队列也是RabbitMQ来处理解耦的问题,而这里的RabbitMQ的是基于AMQP协议,也就更加的满足微服务...原创 2019-01-07 23:35:48 · 224 阅读 · 0 评论 -
RabbitMQ与KAFKA还有ActiveMQ的对比
简单的对比三种生产上常用的MQ,提到这三种肯定很多人都使用过,下面针对他们的使用来做个对比。ActiveMQ作为老牌的消息队列中间件,只要使用在并发场景不是特别大的情况下,性能是非常好的,而且支持JMS规范。 而在集群方面一般采用的是zookeeper来进行心跳检查,主从的架构,或者是双活架构,通过network模式来实现分布式的集群,拓扑图如下而kafka就是根据空中接力一样的模式来进...原创 2019-01-07 21:57:11 · 275 阅读 · 0 评论 -
如何查看在rabbitMQ里面堆积的消息
回顾上一节的内容,通过配置了stream来对MQ的简单的封装,主要定义接口,里面定义input以及output来绑定交换机,获取消息通道MessageChannel以及订阅通道SubscribableChannel对象,而消费端配置@streamListener 来监听交换机,并且设置@EnableBanding实现对定义接口的绑定。如果在rabbitMQ的控制台想查看到消息的详细信息,这里就需...原创 2018-12-17 20:34:31 · 49774 阅读 · 1 评论 -
人工智能 人脸识别 在业务上选择RabbitMQ的配置参数
本文开始从业务的角度来分析rabbitMQ的参数如何选择,因为目前的mq都是基于人脸特征进行操作的,包括算法库的提取特征,以及发送到mq,然后消费端进行消费把人的特征进行入库的操作,返回人脸的基本信息,以后随着算法库的扩充到声纹,虹膜这块的业务,这就需要到路由键来分发消息,这时候就需要到routingKey,下面介绍routingKey的使用通过服务的controller层定义方法,使用**@R...原创 2018-12-17 15:54:52 · 350 阅读 · 0 评论 -
人工智能 人脸识别 使用MQ实现解耦以及异步
从之前的人脸识别的文章来看,使用到mq中间处理的主要在捉拍机获取到的人脸识别的特征发送到rabbitMQ,然后单张人脸注册的服务进行消费,这时候就是实现了服务之间的异步处理以及解耦的作用还有之前的批量处理上传的人脸特征的服务,使用的是同步的方式,这种方式确实有点low,需要异步来处理提供用户体验,这里就需要到MQ来实现异步的响应客户端。当然其他的MQ场景,比如日志,很多时候就是使用到Kafka...原创 2018-12-17 14:45:59 · 607 阅读 · 0 评论