随笔分类 - kafka&rabbitmq&ws&apache pulsar
摘要:rocketmq 4.3开始支持事务https://www.cnblogs.com/hzmark/p/rocket_txn.html 参考:rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较 redis vs rabbitmq 可靠消费 Redis:没有相应的机制保证消息
阅读全文
摘要:周五下午的时候升级了一个环境,跑了批处理sh升级脚本后,启动时报下列错误: 配置文件、/etc/hosts、防火墙这些都仔细检查了,就是看不出有任何问题,关键连接到另外一个MQ时就没有问题,着实折腾了半个多小时在反复回撤验证。 于是不得不一个个对比,瞬间会想起这套环境的配置和其他机器都不一样,其他环
阅读全文
摘要:非集群下,简单的说:- 如果是excl,则设置durability没有意义,因为不管服务器挂了还是客户端主动/被动断开了,队列都会自动删除。- auto-delete,其实可简单的认为是同理,即使非excl,则无论是服务器挂了还是全部消费者断开了,队列都会删除。集群下:这还真得测试如下:1、A服务器
阅读全文
摘要:RabbitMQ implements AMQP 1.0 via a plugin. However, AMQP 1.0 is a completely different protocol than AMQP 0-9-1 and hence not a suitable replacement f
阅读全文
摘要:INFO | jvm 1 | 2017/02/23 14:28:43 | at java.lang.Thread.run(Thread.java:745)INFO | jvm 1 | 2017/02/23 14:28:43 | Exception in thread "LDService-Worke
阅读全文
摘要:有时候,由于各方面原因比如安全原因、系统间隔离,我们需要实现在多个rabbitmq实例或者一个rabbitmq实例的多个vhost间推送消息。在上一版的实现中,公司使用java自行实现了一个类似转发器的功能,其结构为: 内部MQ->java-pusher->外部MQ 其中在java-pusher的配
阅读全文
摘要:因为项目原因,需要使用到rabbitmq的c客户端库。首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cache),否则原来的cmake缓存都在了,将仍然会出现原来的错误。 依次点击configire、gene
阅读全文
摘要:昨晚,在编译rabbitmq-c时,使用cmake生成vs项目文件时遇到下列错误: CMake Error at C:/Program Files/CMake/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (messa
阅读全文
摘要:介绍 总的来说,rabbitmq使用erlang(Elixir,排名50-60)是erlang的友好版,编译成erlang执行码)语言编写,其架构类似于servlet容器运行servlet应用,底层是erlang VM、然后是erlang节点,上面是应用。如下所示: 每个MQ中运行的应用可通过rab
阅读全文
摘要:早上一运维同事说,一个报盘程序启动的时候报了"ESOURCE_LOCKED - cannot obtain exclusive access to locked queue '2484_0_00163'",因为之前一直不管报盘的事情,后面仔细看了下,这个错误应该不是开发自己加上的,搜了下,是两个不同
阅读全文
摘要:可以发现,binary部分占用的内存特别多,这一部分主要是connection的消耗+一些额外小部分的元数据。每个连接占用的内存可通过/proc/sys/net/ipv4/tcp_rmem得到,例如: [root@osm ~]# cat /proc/sys/net/ipv4/tcp_rmem4096
阅读全文
摘要:RabbitMQ 默认日志里只有类似客户端“accpet/close”等信息,对于有异常或者跟踪消息内部结构就比较麻烦了。 不过MQ有个rabbitmq_tracing插件,安装该插件后在控制台的管理tab页,就可以看到多了一个trace的菜单。 trace文件位于/var/tmp/rabbitmq
阅读全文
摘要:如下所示,每个rabbitmq队列除了发布和消费吞吐量外,还有一个评价MQ队列效率的更加重要的指标Consumer utilisation ,如下: 在最佳利用率情况下,这个值能够达到100%,并且生产中总是应该达到100%。但在很多系统中,这个值可能低于5%。这一般是由于下列原因所致(这三者我们都
阅读全文
摘要:因为原来使用了MQ作为rpc机制,随着客户交易量越来越大,很多服务器推送行情的压力很大,最近打算重写为批量模式,又重新看了下qos和prefetch设置的作用以确定优化的具体细节。 消费者在开启acknowledge的情况下,对接收到的消息可以根据业务的需要异步对消息进行确认。 然而在实际使用过程中
阅读全文
摘要:最近,我们有些在阿里云上的应用总是有客户端出现异常和信息推送不及时的情况,检查mq日志,发现高峰期不停的有心跳超时,如下: =ERROR REPORT 21-Dec-2016::12:38:00 closing AMQP connection <0.909.1> (125.120.15.131:50
阅读全文
摘要:最近,MQ经常有丢包的现象,看各connection/channel/consumer/queue的组成情况,发现差别比较大。 channel与消费者: [root@iZ23nn1p4mjZ bin]# rabbitmqctl list_channels vhost name consumer_co
阅读全文
摘要:rabbitMQ publish丢包分析 默认情况下,rabbitmq的消息发送是异步机制,客户端最多可以缓存1000个消息,如果未发送完之前宕机,就可能丢消息。 要保证消息发送的可靠,可以采用三种机制,1、异步ACK确认;2、使用AMQP提供的事务机制;3、先落库,然后发送。可以参见https:/
阅读全文
摘要:最近有台服务器的MQ应用占用内存比较偏高,如下: 但是看控制台本身内存中消息积压并不多, 查看rabbtmqctl发现,binary data和other data占据了绝大部分的内存,如下: {memory, [{total,124441400}, {connection_readers,5548
阅读全文
摘要:有些时候,我们需要批量的删除rabbitmq中的队列,尤其是对于那些客户端配置了队列不存在时自动创建,但断开时不自动删除的应用来说。 rabbitmqctl并没有包含直接管理队列的功能,其提供的vhost粒度有时候过大以至于无法满足要求。rabbitmqadmin默认是没有随安装自带的。 在启用了r
阅读全文
摘要:vim /etc/hosts 增加 127.0.0.1 hostname 不然启动的时候可能会报如下错误: [root@devel2 rabbitmq]# rabbitmq-server ERROR: epmd error for host devel2: timeout (timed out) w
阅读全文