4 ms·
Similar. A place I worked at sharded it's SQL database into one microservice per database table. It ended up being something like 70 docker containers across 4
by glouwbug 7y ago
Similar. A place I worked at sharded it's SQL database into one microservice per database table. It ended up being something like 70 docker containers across 4 docker machines. Kicker was this was across 6 repositories. We had much less than 100k users.
I'm all for microservices dying out. It's an awful fad. Making 6 pull requests to add a function argument should not be a thing.
- Ididntdothis 7y agoGod be with the poor people who will have to maintain these systems in a few years when they are legacy and run on old tech. If you think maintains COBOL code is bad then this will be a lot of “fun”.
- tonyedgecombe 7y agoThey will just re-write them in the framework or pattern du jour.
- shantly 7y agoJee. Sus. Why? What benefit did anyone think that would have? Better than half the point of using SQL goes out the window if you can’t query across tables.
- sethammons 7y agoWait until you have half a dozen teams or other services directly accessing your tables and now you need to update the schema or data container for scaling reasons, but you can't because they don't have the time to update their access patterns. Or the team that thoroughly misunderstood how the data was to be used and built their tables and workflows on your tables, forever linking their structure together. Far better to expose data through APIs if you have multiple teams doing their own things in different code bases.
- shantly 7y agoI’m familiar with patterns for divvying up DBs along lines of responsibility and access needs, but the described situation was one per table.
- weberc2 7y agoMicroservices might be awful for all kinds of reasons, but your pull request problem is caused by your multirepo setup, not microservices. You can have microservices and a monorepo, for example.
- felipellrocha 7y agoCame here to say this. OP definitely has a problem, but not with microservices, it seems. Additionally, there are different levels of microservices. Starting creating a communication pattern and separating concerns all the way to the table pattern they have setup, which does seem like overkill. The former is useful in building teams, the latter is useful in dealing with scaling issues.