Successfully reported this slideshow.

Rabbitmq Boot System

4

Share

Upcoming SlideShare
Taming the rabbit
Taming the rabbit
Loading in …3
×
1 of 21
1 of 21

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Rabbitmq Boot System

  1. 1. RabbitMQ Boot System Alvaro Videla - Zürich Erlang User Group Wednesday, December 12, 12
  2. 2. About Me • Developer Advocate for Cloud Foundry • Blog: http://videlalvaro.github.com/ • Twitter: @old_sound Wednesday, December 12, 12
  3. 3. About Me Co-authored RabbitMQ in Action http://bit.ly/rabbitmq Wednesday, December 12, 12
  4. 4. RabbitMQ Wednesday, December 12, 12
  5. 5. Quick Demo Wednesday, December 12, 12
  6. 6. RabbitMQ Boot Steps https://github.com/videlalvaro/rabbit-internals/blob/master/rabbit_boot_process.md Wednesday, December 12, 12
  7. 7. RabbitMQ Boot Steps Take care of starting the many sub systems that compose RabbitMQ respecting order and dependencies Wednesday, December 12, 12
  8. 8. RabbitMQ Boot Steps Take care of starting the many sub systems that compose RabbitMQ respecting order and dependencies brainchild of @leastfixedpoint Wednesday, December 12, 12
  9. 9. Subsystems • external infrastructure • kernel (rabbit kernel) • core • routing Wednesday, December 12, 12
  10. 10. RabbitMQ Boot Steps Wednesday, December 12, 12
  11. 11. RabbitMQ Boot Steps -rabbit_boot_step({recovery, [{description, "exchange, queue and binding recovery"}, {mfa, {rabbit, recover, []}}, {requires, empty_db_check}, {enables, routing_ready}]}). Wednesday, December 12, 12
  12. 12. RabbitMQ Boot Steps -rabbit_boot_step({msg_store_bitcask_index, [{description, "Bitcask Index for rabbit_msg_store"}, {mfa, {application, set_env, [rabbit, msg_store_index_module, ?MODULE]}}, {enables, recovery}]}). Modify Configuration at Startup Wednesday, December 12, 12
  13. 13. RabbitMQ Boot Steps -rabbit_boot_step({external_infrastructure, [{description, "external infrastructure ready"}]}). Grouping Boot Steps Wednesday, December 12, 12
  14. 14. RabbitMQ Boot Steps How do they actually work? Wednesday, December 12, 12
  15. 15. Magic Wednesday, December 12, 12
  16. 16. Erlang Modules -module(m). % module attribute -export([fact/1]). % module attribute -behaviour(Behaviour). % module attribute Wednesday, December 12, 12
  17. 17. Module Attributes -Tag(Value). Wednesday, December 12, 12
  18. 18. RabbitMQ Boot Steps - rabbit_misc:all_module_attributes/1 - rabbit_misc:module_attributes/1 Wednesday, December 12, 12
  19. 19. RabbitMQ Boot Steps - rabbit:boot_steps/0 - rabbit:sort_bootsteps/1 - rabbit_misc:build_acyclic_graph/3 Wednesday, December 12, 12
  20. 20. RabbitMQ Boot Steps • Add order • Add flexibility • Very powerful tool • Hidden gem in the Erlang world Wednesday, December 12, 12
  21. 21. Thanks! Wednesday, December 12, 12

×