Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Microservices is a collection of independent teams who only communicate using well defined APIs. Those teams may produce libraries, perhaps. That's up to Conway.


That API is usually a web API right. Essentially Library + REST/GraphQL/etc is a microservice.


In practice, likely. The trouble with only communicating by API is that if you want to change the API you can't just tell those who use it that they'd better be prepared for breakage, so you have to juggle both the legacy API and your new API in your work to maintain compatibility.

If you use a linked library, interface compatibility can be a real challenge. Web APIs, as you call them, offer more flexibility in adapting to different callers. It also comes with the added benefit of defining explicitly clear boundaries between teams that something that shares memory doesn't necessarily guarantee (e.g. monkey patching). This oftentimes makes it a good practical choice.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: