I'm working on a system design and feel like I'm doing it wrong.
Situation
I have two services and they each have a bunch of data they each need. Much is overlapping data from overlapping tables. Also, I believe these services will be the sole users of these tables.
Let's say Service A needs T1, T2, T3, T4, and Service B needs T2, T3, T4.
It's been suggested I make 4 microservices who sole purpose is to read those 4 tables. That feels like a "too many microservices" anti-pattern.
My Thoughts
All four tables are roughly in the same business domain, and I'd imagine Service A and Service B would be the sole users of all four tables. So I'm thinking we make a single microservice which gets called for any of the T* data. I think everything can scale happily: the services, microservice, and db.
Is there some tradeoff I'm not seeing? Or reason I should use 4 services? I don't think the query logic will be complex for any of the reads, so the source code could be small even for the single microservice solution.
What am I missing?
That feels like a "too many microservices" anti-pattern.
- there's no such thing?