Catalog Details
CATEGORY
deploymentCREATED BY
UPDATED AT
April 07, 2025VERSION
0.0.1-
MODELS
What This Pattern Does:
The Pizza Store application simulates placing a Pizza Order that is going to be processed by different services. The application is composed by the Pizza Store Service which serve as the front end and backend to place the order. The order is sent to the Kitchen Service for preparation and once the order is ready to be delivered the Delivery Service takes the order to your door. As any other application, these services will need to store and read data from a persistent store such as a Database and exchange messages if a more event-driven approach is needed. This application uses PostgreSQL and Kafka, as they are well-known components among developers. As you can see in the diagram, if we want to connect to PostgreSQL from the Pizza Store Service we need to add to our applications the PostgreSQL driver that must match with the PostgreSQL instance version that we have available. A Kafka client is required in all the services that are interested in publishing or consuming messages/events. Because you have Drivers and Clients that are sensitive to the available versions on the infrastructure components, the lifecycle of the application is now bound to the lifecycle of these components. Adding Dapr to the picture not only breaks these dependencies, but also remove responsabilities from developers of choosing the right Driver/Client and how these need to be configured for the application to work correctly. Dapr provides developers building block APIs such as the StateStore and PubSub API that developer can use without know the details of which infrastructure is going to be connected under the covers.
Caveats and Consideration:
The application services are written using Java + Spring Boot. These services use the Dapr Java SDK to interact with the Dapr PubSub and Statestore APIs. To run the services locally you can use the Testcontainer integration already included in the projects. For example you can start a local version of the pizza-store service by running the following command inside the pizza-store/ directory (this requires having Java and Maven installed locally): for Caveats And Consideration refer this github repo https://github.com/salaboy/pizza?tab=readme-ov-file#installation
Compatibility:
Recent Discussions with "meshery" Tag
- Dec 31 | 404 page not found
- Mar 30 | Facing issues with meshery playground
- Mar 26 | Meshery Development Meeting | March 26th, 2025
- Mar 24 | Newcomer slides - setup dev env. seems to be broken
- Mar 18 | Looking for a MeshMate for guidance/tips
- Mar 10 | How to Contribute to Sistent!
- Mar 13 | Meshery Build & Release Meeting (Mar. 13th, 2025)
- Mar 12 | Meshery Development Meeting | March 12th, 2025
- Mar 07 | Looking for a MeshMate for guidance to start first issue
- Mar 05 | Meshery Development Meeting | March 5th, 2025