RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM...

101
RabbitMQ Operations

Transcript of RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM...

Page 1: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

RabbitMQ Operations

Page 2: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

About me

Page 3: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

About me• RabbitMQ staff engineer at Pivotal

Page 4: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

About me• RabbitMQ staff engineer at Pivotal

• @michaelklishin just about everywhere

Page 5: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 6: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

About this talk

Page 7: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

About this talk• Brain dump from years of answering questions

Page 8: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

About this talk• Brain dump from years of answering questions

• Focusses on the most recent release (3.5.6)

Page 9: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 10: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Provisioning

Page 11: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Provisioning• Be aware of mirrors: GitHub, Bintray, …

Page 12: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Provisioning• Be aware of mirrors: GitHub, Bintray, …

• Looking into community-hosted mirrors

Page 13: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Provisioning• Be aware of mirrors: GitHub, Bintray, …

• Looking into community-hosted mirrors

• Use packages + Chef/Puppet/…

Page 14: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 15: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

OS resources

Page 16: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

OS resources• Modern Linux defaults are absolutely inadequate

for servers

Page 17: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

ulimit -n default: 1024

Page 18: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 19: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Set ulimit -n and fs.file-max to 500K and forget about it

Page 20: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

TCP keepalive timeout: from 11 minutes to over 2

hours by default

Page 21: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

net.ipv4.tcp_keepalive_time = 6 net.ipv4.tcp_keepalive_intvl = 3 net.ipv4.tcp_keepalive_probes = 3

Page 22: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

enable client heartbeats, e.g. with an interval of 6-12 seconds

Page 23: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

OS resources• Modern Linux defaults are absolutely inadequate

for servers

• Tuning for throughput vs. high number of concurrent connections

Page 24: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Throughput: larger TCP buffers

Page 25: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

net.core.rmem_max = 16777216 net.core.wmem_max = 16777216

Page 26: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbit.hipe_compile = true (only on Erlang 17.x or 18.x)

Page 27: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Concurrent connections: smaller TCP buffers, low tcp_fin_timeout,

tcp_tw_reuse = 1, …

Page 28: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbit.tcp_listen_options.sndbuf rabbit.tcp_listen_options.recbuf rabbit.tcp_listen_options.backlog

Page 29: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Reduce per connection RAM use by 10x

rabbit.tcp_listen_options.sndbuf = 16384 rabbit.tcp_listen_options.recbuf = 16384

Page 30: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 31: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Reduce per connection RAM use by 10x

Throughput drops by a comparable amount

Page 32: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

net.ipv4.tcp_fin_timeout = 5

Page 33: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

net.ipv4.tcp_tw_reuse = 1

Page 34: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Careful with tcp_tw_reuse behind NAT*

* http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html

Page 35: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

net.core.somaxconn = 4096

Page 36: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

http://www.rabbitmq.com/networking.html

Page 37: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 38: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Disk space

Page 39: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Disk space• Pay attention to what partition /var/lib ends up on

Page 40: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Disk space• Pay attention to what partition /var/lib ends up on

• Transient messages can be paged to disk

Page 41: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Disk space• Pay attention to what partition /var/lib ends up on

• Transient messages can be paged to disk

• RabbitMQ’s disk monitor isn’t supported on all platforms

Page 42: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 43: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

RAM usage

Page 44: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

RAM usage• rabbit.vm_memory_high_watermark

Page 45: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

RAM usage• rabbit.vm_memory_high_watermark

• rabbit.vm_memory_high_watermark_paging_ratio

Page 46: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbitmqctl status rabbitmqctl report

Page 47: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

RAM usage• rabbit.vm_memory_high_watermark

• rabbit.vm_memory_high_watermark_paging_ratio

• Significant paging efficiency improvements in 3.5.5-3.5.6

Page 48: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

RAM usage• rabbit.vm_memory_high_watermark

• rabbit.vm_memory_high_watermark_paging_ratio

• Significant paging efficiency improvements in 3.5.5-3.5.6

• Disable rabbit.fhc_read_buffering (3.5.6+)

Page 49: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbitmqctl eval ‘file_handle_cache:clear_read_cache().’

Page 50: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

recon

Page 51: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Ability to set VM RAM watermark as absolute value is coming in 3.6

Page 52: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 53: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Stats collector falls behind

Page 54: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Stats collector falls behind• Management DB stats collector can get

overwhelmed

Page 55: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Stats collector falls behind• Management DB stats collector can get

overwhelmed

• Key symptom: disproportionally higher RAM use on the node that hosts management DB

Page 56: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbitmqctl eval 'P = whereis(rabbit_mgmt_db), erlang:process_info(P).'

Page 57: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

[{registered_name,rabbit_mgmt_db}, {current_function,{erlang,hibernate,3}}, {initial_call,{proc_lib,init_p,5}}, {status,waiting}, {message_queue_len,0}, {messages,[]}, {links,[<5477.358.0>]}, {dictionary,[{'$ancestors',[<5477.358.0>,rabbit_mgmt_sup,rabbit_mgmt_sup_sup, <5477.338.0>]}, {'$initial_call',{gen,init_it,7}}]}, {trap_exit,false}, {error_handler,error_handler}, {priority,high}, {group_leader,<5477.337.0>}, {total_heap_size,167}, {heap_size,167}, {stack_size,0}, {reductions,318}, {garbage_collection,[{min_bin_vheap_size,46422}, {min_heap_size,233}, {fullsweep_after,65535}, {minor_gcs,0}]}, {suspending,[]}]

Page 58: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbit.collect_statistics_interval = 30000

Page 59: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbitmq_management.rates_mode = none

Page 60: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbitmqctl eval 'P = whereis(rabbit_mgmt_db), erlang:exit(P, please_crash).'

Page 61: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Parallel stats collector is coming in 3.7

Page 62: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 63: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Cluster formation

Page 64: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Cluster formation• Node restart order dependency

Page 65: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Cluster formation• Node restart order dependency

• github.com/rabbitmq/rabbitmq-clusterer

Page 66: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Cluster formation• Node restart order dependency

• github.com/rabbitmq/rabbitmq-clusterer

• github.com/aweber/rabbitmq-autocluster

Page 67: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 68: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Backups

Page 69: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

How do I back up?• cp $RABBITMQ_MNESIA_DIR + tar

Page 70: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

How do I back up?• cp $RABBITMQ_MNESIA_DIR + tar

• Replicate everything off-site with exchange federation + set message TTL via a policy

Page 71: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 72: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Hostname changes

Page 73: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

rabbitmqctl rename_cluster_node [old name] [new name]

Page 74: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 75: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Network partition handling

Page 76: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Network partition handling• When in doubt, use “autoheal”

Page 77: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Network partition handling• When in doubt, use “autoheal”

• “Merge” is coming but has very real downsides, too

Page 78: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 79: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc

Page 80: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc• Don’t use default vhost and/or credentials

Page 81: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc• Don’t use default vhost and/or credentials

• Don’t use 32-bit Erlang

Page 82: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc• Don’t use default vhost and/or credentials

• Don’t use 32-bit Erlang

• Use reasonably up-to-date releases

Page 83: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc• Don’t use default vhost and/or credentials

• Don’t use 32-bit Erlang

• Use reasonably up-to-date releases

• Participate in rabbitmq-users

Page 84: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc• OCF resource template from Fuel (by Mirantis)

Page 85: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Misc• OCF resource template from Fuel (by Mirantis)

• Use TLS

Page 86: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 87: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming in 3.6

Page 88: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming in 3.6• In process file buffering disabled by default

Page 89: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming in 3.6• In process file buffering disabled by default

• Queue master to node distribution strategies

Page 90: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming in 3.6• In process file buffering disabled by default

• Queue master to node distribution strategies

• SHA-256 (or 512) for password hashing

Page 91: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming in 3.6• In process file buffering disabled by default

• Queue master to node distribution strategies

• SHA-256 (or 512) for password hashing

• More responsive management UI with pagination

Page 92: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming in 3.6• In process file buffering disabled by default

• Queue master to node distribution strategies

• SHA-256 (or 512) for password hashing

• More responsive management UI with pagination

• Streaming rabbitmqctl

Page 93: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming past 3.6

Page 94: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming past 3.6• Pluggable cluster formation (à la ElasticSearch)

Page 95: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming past 3.6• Pluggable cluster formation (à la ElasticSearch)

• On disk data recovery tools

Page 96: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming past 3.6• Pluggable cluster formation (à la ElasticSearch)

• On disk data recovery tools

• Better CLI tools

Page 97: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming past 3.6• Pluggable cluster formation (à la ElasticSearch)

• On disk data recovery tools

• Better CLI tools

• Easier off-site replication

Page 98: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Coming past 3.6• Pluggable cluster formation (à la ElasticSearch)

• On disk data recovery tools

• Better CLI tools

• Easier off-site replication

• “Merge” partition handling strategy (no earlier than 3.8)

Page 99: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...
Page 100: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Thank you

Page 101: RabbitMQ Operations - GitHub...• RabbitMQ’s disk monitor isn’t supported on all platforms. RAM usage. RAM usage ... RabbitMQ Operations Created Date: 10/27/2015 5:08:59 AM ...

Thank you• @michaelklishin

• github.com/michaelklishin

• rabbitmq-users

• Our team is hiring!