I read theory but I need practical architectural advice on the actual implementation in java language for microservices. In the context of the attached screenshot. Here is my setup.
Order Project consisting of the following 4 Modules.
- Order History (Jar file, Docker Container)
- Order Placement (Jar file, Docker Container)
- Order Tracking (Jar file, Docker Container)
- Order Dispute (Jar file, Docker Container)
- Service (WAR file, Docker Container)
Service (5) sits on the front (order.example.com), receives HTTP request, then calls 1 or 2 or 3 or 4 (depending upon the URI) via gRPC and returns the result to the client.
Q1. Is 1, 2, 3, 4 above considered a Microservice or is OrderManagement or ShoppingCart a microservice?
Q2. Shopping Cart has the same setup as Order (sits behind cart.example.com). Communicate between Order and Shopping Cart via like Messaging (Kafka)?
Is this correct? Hopefully, I don't have a nano anti-pattern here?