3 ms·
Microservices are for scaling the number of teams of developers, not performance. Each service you add will add latency and required resources, compared to it j
by capableweb 4y ago
Microservices are for scaling the number of teams of developers, not performance. Each service you add will add latency and required resources, compared to it just being a function call instead of a http request.
Granted, there are a few cpu-heavy processes that do benefit to being split out, like image/video re/encoding, but if you're just doing "normal" stuff, it's faster, easier to maintain and cheaper to just have a function call instead of a "service" call.
- senttoschool 4y agoNot buying either of your points. Our team write everything in the main server except tasks that choke up the main server. For example, we have a need to process many CSV files from users. We put this processing on Lambda and it can scale to hundreds of Lambdas at a time. Scaling our main server would be very uneconomical. Latency is not a problem because these services usually live in the same datacenter and the latency is very little compared to the processing time.
- capableweb 4y agoThat sounds exactly what I'm describing? What you're doing is not "microservices" (the pattern where most processes are split out, not just "heavy" processes), but splitting out heavy processes when needed, rather than by default.
- roflyear 4y agoThat's not a full microservice architecture. It's using a few services. It isn't committing to microservices
- jaredcwhite 4y agoThat sounds like the Citadel pattern…not microservices in the truest sense of the word. https://blog.appsignal.com/2020/04/08/the-citadel-architecture-at-appsignal.html https://blog.appsignal.com/2020/04/08/the-citadel-architectu...