vhost是什么,能给项目配置带来什么好处?1、vhost是一个微型的消息队列服务器,它拥有自己的队里、绑定、交换器、权限控制,一个项目在不同的环境可以使用不同的vhost,比如开发环境用的是order.dev,测试环境用的是order.test,通过配置文件读取不同的配置。2、vhost通过在各个实列间提供逻辑上的分离,比如订单服务和营销服务,可以使用不同的虚拟主机,进行各自的队列配置,保证了不
分类:
其他好文 时间:
2020-09-17 20:33:07
阅读次数:
34
rabbitmq简介rabbitmq是spring所在公司Pivotal自己的产品。因为跟spring有共同的血缘关系,所以spring全家桶对其的支持应该是相当完善的。本身基于AMQP高级队列协议的消息中间件,采用erlang开发,因此安装需要erlang环境。具体安装根据自己的环境。使用场景一、异步处理用户注册(50ms),还需发送邮件(50ms)和短信(50ms)串行:(150ms)用户注册
分类:
其他好文 时间:
2020-09-17 19:45:54
阅读次数:
29
本文源码:GitHub·点这里 || GitEE·点这里 一、队列结构 1、基础概念 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 ...
分类:
编程语言 时间:
2020-09-17 19:20:37
阅读次数:
29
前几天粉丝群里有个小伙伴问过:web页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢。之前在《springboot+rabbitmq做智能家居》中说过可以用rabbitmq的MQTT协议做智能家居的指令推送,里边还提到过能用MQTT协议做web的消息推送,而未读消息(小红点)功能刚好应用到实时消息推送了。MQTT协议就不再赘
分类:
其他好文 时间:
2020-09-17 19:05:50
阅读次数:
30
1.下载镜像 docker pull rabbitmq:3.7-management 2.运行容器 docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management 3.直接外网访问15672端口 ...
分类:
其他好文 时间:
2020-09-17 18:31:26
阅读次数:
34
痛点在使用Springmvc进行开发时我们经常遇到前端传来的某种格式的时间字符串无法用java8时间包下的具体类型参数来直接接收。同时还有一系列的序列化、反序列化问题,在返回前端带时间类型的同样会出现一些格式化的问题。今天我们来彻底解决他们。建议其实最科学的建议统一使用时间戳来代表时间。这个是最完美的,避免了前端浏览器的兼容性问题,同时也避免了其它一些中间件的序列化/反序列化问题。但是用时间表达可
分类:
编程语言 时间:
2020-09-17 18:26:44
阅读次数:
29
消费者在消费消息的时候,可以根据业务场景来选择拒绝消息,通过参数设置是否让消息再次入队。拒绝消息的指令有俩,一个是basicNack,一个是basicReject,这两个区别是后者不能批量拒绝,只能单条拒绝。代码演示如下: 一个生产者,两个正常消费者,一个拒绝消息的消费者,三个消费者共同订阅一个队列 ...
分类:
其他好文 时间:
2020-09-17 14:11:23
阅读次数:
17
前提 Canal上一个正式版是于2019-9-2发布的v1.1.4,笔者几个月前把这个版本的Canal推上了生产环境,部署了HA集群。过程中虽然遇到不少的坑,但是在不出问题的前提下,Canal的作用还是非常明显的。上周的一次改造上线之后,去掉了原来对业务系统订单数据通过RabbitMQ实时推送的依赖 ...
分类:
其他好文 时间:
2020-09-17 14:03:53
阅读次数:
64
虽然redis实现了发布订阅(publish/subscribe)的功能,但是在通常的情况下是不推荐使用的,如果想使用消息队列这种功能,最好还是使用专业的各种MQ中间件,例如rabbitMQ,rockedMQ,activitedMQ等,本文主要讲一下不推荐使用redis的发布订阅功能的原因。 概要说 ...
分类:
其他好文 时间:
2020-09-17 10:48:25
阅读次数:
55
这个问题之所以产生,是来自于阿里的java手册中 【线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式。】 哪个对?个人觉得还是看实际的项目,当你的项目的规模不够大,随便使用都可以,但是如果规模够大,访问量,数据处理,线程的使用量都达到了一定的规模。最好是使 ...
分类:
编程语言 时间:
2020-09-16 12:15:36
阅读次数:
48