31 karma · joined October 17, 2014
In the other case, you could remove the "public API routes/contracts shared project" and replace it with a proxy like https://konghq.com/kong-community-edition/ which provides better integration options. Imagine each team could deploy multiple microservices without to integrate all endpoints on a shared repository because at deploy time you only have to send the service configuration to Kong and it will route every incoming request with the specified public DNS to the associated target URL.
You could maintain a config file per service (like travis.yml) and use it to configure Kong once when your project is deployed. https://github.com/mybuilder/kongfig
Kong is very interesting because you can centralize Authentication, Logging, Metrics, Traffic for all your services.
By the way: https://www.reddit.com/r/javascript/comments/672nrk/is_meteo... the second comment ;)
If you want to maintain an "index" you can use a service-discovery service like https://www.consul.io/ and build tools on it.
Here you can see an example how to manage it with hemera in the node.js world https://github.com/hemerajs/aither. We use a production-grade messaging system called https://nats.io as service-discovery and transport layer and have a very transparent and maintainable landscape of our services.
- Same technology - Reuse all or many code - Frontend people are easier to hire and cheaper
- High qualitity plugins - Widely used e.g Paypal, Disney, Walmart - Very good documentation
Personally one of the best web frameworks I've ever used.
r.table('users').filter(<here>).run(conn, callback);
of course if you use the chainable syntax
r.table('users').filter(r.row("age").eq(30)).run(conn, callback);
you can prevent it but that's not the point. It has nothing to do with Mongodb.