I come from a "monolithic" SOA API mindset where, lets say, there would only be one RESTful service for persistence (persistence-app). Now that I'm developing in a microservice environment, I believe it's best to further decouple the big monolithic service into several independent microservices such as:
- DAO layer (each entity has is its own microservice e.g. user-app, order-app, item-app)
- Validation layer (validation to check whether the request to, for example, create an entity)
- Business logic layer (assume we were to create an order for a customer, there should be another microservice that accesses the DAO microservices)
So from the old approach: Client -> persistence-app...
Now it would be: Client -> validation layer -> business logic layer -> DAO layer.
My question is how do I name these microservices? Before, it just used to be one name and it was basically "persistence-app". Now that we've decoupled it into much more defined services with their own functions, what's the best practice to name these? "user-service", user-validation-service", "user-order-logic-service"?