Ask HN: How to deal with a bottleneck like a shared public API project
We have microservices that our team owns end to end but for those to be used from our UIs we have to build public API routes/contracts in a separate shared project. Those pull requests are merged by a specific set of people in the company and it's always a bottleneck for us.
I assume this is fairly common. Here are some ideas I've had:
- hire more people on the shared project team
- redesign the public API in a way where the microservice team itself owns/deploys the routes that they "own" (hard to get API consistency this way)
What are some ways your organization has solved this?
3 comments
[ 2.8 ms ] story [ 20.0 ms ] threadIn 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.