I attended a meetup yesterday on scaling Rails, and one topic was Hexagonal Rails. However, I've only been doing Rails for a year, and am really comfortable (maybe too comfortable) with the MVC structure, so I don't really understand what adapter and message queue are.
Here's an article about it: http://victorsavkin.com/post/42542190528/hexagonal-architecture-for-rails-developers
And a pic: http://blog.mattwynne.net/wp-content/uploads/2012/06/hexagonal_architecture_sketch.jpg
To my understanding, I think it's about decoupling the parts so that actions are specifically filtered and passed to certain places of your application instead of having a central "router" for everything. I think this results in minimizing the use of ActiveRecord and the creation of a bunch of modules? I am pretty stumped on this so I have a few questions:
To make my project a Hexagonal Rails project, where exactly do I put these modules (what folder? Do I create a new folder of a specific name?)
Is this more for internal maintenance? For security?
From what I know, if a rails app gets too large can't you just split certain parts into another app (I believe it's called service oriented architecture?) and just make requests to it from your main app? Or perhaps use a load balancer + multiple servers if traffic gets too heavy.