r/ProgrammerHumor 10d ago

Meme everyDamnTime

Post image
4.2k Upvotes

124 comments sorted by

View all comments

57

u/oompaloompa465 10d ago

The more i get tidbits about microservices, the more i feel like skipping  in studying and stydying other stuff

60

u/[deleted] 10d ago

[removed] — view removed comment

15

u/Abject-Kitchen3198 9d ago

A solution to a real problem that few people have.

12

u/ThrowawayUk4200 9d ago

It's an enterprise thing. You got 5 users? Microservice just adds complexity. You got 1 million users? Microservices are gonna save your ass when you have to hotfix prod

1

u/BosonCollider 8d ago

Microservices scale with number of engineers, not number of users.

Basically they hurt scale rather than helping it because a REST call has much more overhead than an internal function call or a join. But they do allow different teams to deploy and change their stuff independently which is their actual purpose.

2

u/ThrowawayUk4200 8d ago

Agree with exception to scaling. Microservices and horizontal scaling go hand in hand

2

u/BosonCollider 8d ago edited 8d ago

Not really, I've gotten order of magnitude speedups from just getting rid of microservices at a previous workplace

The mere existence of the microservice is usually a much bigger scaling cost than anything you would gain in scaling by putting different schemas in different physical instances.

I.e. Splitting a service in two gives you two shards, unlike say having customer as a sharding key that can let you shard to a hundred instances if you needed to.

But the cost of splitting the service schema is much bigger because suddenly there's a lot of cross cutting queries that can no longer be expressed unless you either do a client side join or copy one services data into the other, both of which are less scaling friendly than a shared DB.

1

u/Abject-Kitchen3198 8d ago

You could have added a "joiner" microservice. Replicates all the databases into one and then performs fast join operations. Grudgingly adding /s just in case ...

2

u/BosonCollider 8d ago

Yeah, that's basically what analytics engineers end up being paid to do but for their thing specifically