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

Domain Driven Microservices looks good on paper, but its a very very terrible idea.

1. You can't run join queries across domains

2. You can't migrate your schema across domains

3. You will need to sync and map a db with domain dbs for reporting

4. You need to write api/client server for every domain and maintain this with db schema changes



I've never had to do these things. It's possible you're not applying domain boundaries correctly.


It seems like database schema and domain api are very coupled. They should have nothing to do with each other. You should be able to change your database schema without changing your api....

If you want to expose extra features or change the api design, you version your api.

Reporting is a problem, but most large business have some kind of datalake/datawarehouse where all of it comes together anyway these days.


> If you want to expose extra features or change the api design, you version your api.

But you are still coupled. If you have to version your API that means it is relied on by something else and in order to use that extra feature still requires both (or more) services to all be on the same page.

Microservices let you deploy and maintain at different times (if that is appealing to you) but in order to realize a new business feature you are still coupled.

Now you have x tests for x versions as well, make sure the old version remains old and the new feature works in the new version.


I mean yes, if you want a use a new feature using the new api. Then your going to have to move onto the new api. But that would happen regardless of using microservices.

If you version it though, services that don't care can cary on regardless.




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

Search: