24. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
X
Y
Clientes
Load Balancer
Clientes
Pedidos
Load Balancer
Pedidos Pedidos Pedidos Pedidos
Escalabilidade X e Y
36. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
namespaces
constraints subdomain: 'api' do
resources :customers
resources :orders
end
http://api.sistema/customers
http://api.sistemas/orders
37. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
namespaces
constraints subdomain: 'api' do
resources :customers
resources :orders
end
controllers/customer_controller
controllers/order_controller
38. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
namespaces
constraints subdomain: 'api' do
namespace :api do
resources :customers
resources :orders
end
end
http://api.sistema/api/customers
http://api.sistemas/api/orders
39. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
namespaces
constraints subdomain: 'api' do
namespace :api, path: '/' do
resources :customers
resources :orders
end
end
controllers/api/customer_controller
controllers/api/order_controller
http://api.sistema/customers
http://api.sistemas/orders
58. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
URI
/v1/customers/1
/v2/customers/1
http://api.sistema/
{
59. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
URI
namespace :v1 do
resources :customers
end
namespace :v2 do
resources :customers
end
/v1/customers/1
/v2/customers/1
http://api.sistema/
{
60. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
Header
application/vnd.apocalypse[.version]+json
61. RUBYCONF 2015 MARCIO MANGAR
MICROSERVICES on RAILS
URI
/v1/customers/1
/customers/1
http://api.sistema/
{