Hello everyone,
I want to learn microservices deeply. I know spring boot, cloud, eureka, zuul , docker etc. But if i want to write one service with flask another one with python then how to implement service discovery and api gateways? How to manage these services? how do you manage this kind of services? Any suggestions are welcome. Thank you !
Top comments (2)
Hi Dogushan!
My experience of creating heterogeneous microservices as an architect, was to take an API-led approach: defining the external service behaviour (as tests!) and interface technology (eg: HTTP or message bus), while leveraging available service hosting provider components (eg: AWS API gateway, cloud map, app mesh or Azure service fabric, etc.) to provide the deployment, routing and discovery solutions. Typically a product in our organisation would choose a single service hosting provider and use their supporting components, while we ensured cross-provider compatibility through choice of appropriate interface technology.
The outcome of this approach was to enable multiple teams to build, test and deploy the components of our products asynchronously/autonomously in their most effective languages and technologies (eg: containers), without breaking each other's product function (diligent use of API versioning and contract tests is critical!)
If you are not in a world where you need to enable multiple teams to deliver rapid change for a business, then you might find a more traditional approach works better for you... YMMV!
I would also recommend a read through Martin Fowler's articles too: martinfowler.com/articles/microser...
Hi Phil, thanks for the answer.