[Erlang 0093] RabbitMQ 3.0的一些变化
来源:互联网 发布:苹果手游代充软件 编辑:程序博客网 时间:2024/05/13 07:01
速记两笔,RabbitMQ 3.0的一些 Breaking Change.
Mirror queue policies
还记得之前是怎样创建镜像队列的么?x-ha-policy [Link]在新版本,使用这个参数不会报错但是已经镜像不会再生效.替换方案是使用policies.这样修改的动因是:无法在运行时状态判断哪些队列是镜像队列,新方案是把镜像队列也做到配置里面.同样支持运行时管理,比如:
rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode": "all"}'
[1] Mirrored Queue 的新文档 http://www.rabbitmq.com./ha.html
[2] rabbitmqctl 新增的方法 http://www.rabbitmq.com/parameters.html
New federation
federation配置有较大变化.x-federation exchange type不复存在,替换方案是使用类似Mirrored queue的policy.这样变更的理由是:应用程序不应该知道federation的事情,应该隐藏掉这部分信息. 对于已经使用federation的应用迁移可以使用rabbitmq_federation配合修改rabbitmq.config完成
rabbitmq-plugins disable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_old_federation
New Clustering
还记得创建RabbitMQ集群的那几板斧么?rabbitmqctl cluster命令修改为 rabbitmqctl join_cluster,而且不必先调用rabbitmqctl reset ,不必枚举所有的节点 如果列出多个节点,就会与多个节点组成集群,是dick node还是RAM node可以通过 --disc --ram指定集群角色,默认是disc node.这个真的比以前的集群构建方式清晰多了.
frame_max
新版本如果client发送的frame比协商的frame_max值大,Rabbitmq会直接断开该client的链接.这样做的原因是:有问题的client可能发送非常大的frame导致服务器内存耗尽.默认值是128kb,配置文件说明文档链接
JSON-RPC
management plugin侦听端口修改为15672.JSON_RPC侦听端口修改为15670.修改的动因是避开 ephemeral port
STOMP plugin依然使用61313端口.
expiration property
要支持消息粒度的过期控制就需要在消息属性上附加过期时间,填写一个可以解析为整形的字符串.
这里有个例子:http://www.rabbitmq.com/ttl.html#per-message-ttl
Map<String, Object> args = new HashMap<String, Object>();args.put("x-message-ttl", 60000);channel.queueDeclare("myqueue", false, false, false, args);
了解详情,还是去官网:
What’s new in RabbitMQ 3.0? http://www.rabbitmq.com/blog/2012/11/20/whats-new-in-rabbitmq-3-0/
Breaking things with RabbitMQ 3.0 http://www.rabbitmq.com/blog/2012/11/19/breaking-things-with-rabbitmq-3-0/
最后小图一张 关于如何思考 如何解决问题 如何倾听:
- [Erlang 0093] RabbitMQ 3.0的一些变化
- erlang的rabbitmq client
- erlang的rabbitmq client
- Erlang RabbitMQ
- rabbitmq安装和运行rabbitmq-tutorials里的erlang例子
- RabbitMQ的一些概念
- rabbitmq的一些常用命令
- Cocos2d-x 3.0的一些小变化
- Android Studio 3.0 的一些小变化
- Xcode8的一些变化
- Erlang程序的一些例子
- 入门erlang的一些感想。
- [Erlang 0089] RabbitMQ Exchange
- [Erlang 0079] RabbitMQ 初探
- erlang rabbitmq gdb trace
- rabbitMQ与erlang
- cocos2dx 3.0一些变化
- 一.windows下Erlang和RabbitMQ的安装
- Hibernate关联映射学习笔记
- How to do peer-to-peer video call?
- 局域网聊天系统__4.服务器调试篇
- hadoop命令大全
- windows phone 8 开发之一 —— C#语言简介(一)
- [Erlang 0093] RabbitMQ 3.0的一些变化
- MFC中使用ini文件管理配置项
- How to use the VideoIO API?
- [Erlang 0094] Erlang 杂记 VI
- How to do SIP-based VoIP call?
- How to embed VideoIO in your Flex/Flash application?
- 基于Ubuntu交叉编译FFmpeg Windows SDK
- Twitter Storm Real-Life App 排错记
- How to do video broadcast using multicast group?