Our great sponsors
-
PostgreSQL
Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Source code you can find in GitHub repository The main idea of this project is the implementation of Event Sourcing and CQRS using Java, Spring and EventStore using Postgresql, previously have written same article where implemented the same using Go and EventStoreDB, think EventStoreDB is the best choice for event sourcing, but in real life at some projects we usually have business restrictions and for example usage of the EventStoreDB can be not allowed, in this case think postgres and kafka is good alternative for implementing our own event store. Didn't write in this article about Event Sourcing and CQRS patterns,th e best place to read is microservices.io, blog and documentation of this article is very good too, and as written in previous article, highly recommend Alexey Zimarev "Hands-on Domain-Driven Design with .NET Core" book and also his blog.
PostgreSQL - PostgreSQL database.
Jaeger - Jaeger is a distributed tracing system
In this project we have microservice events tore implemented using PostgreSQL,Spring Data JPA and Kafka, for projections used Spring Data MongoDB and communicate by REST.
Spring - Java Spring
Our microservice accept http requests: For swagger used Swagger OpenAPI 3. The bank account REST controller, which accept requests, validate it using Hibernate Validator, then call command or query service. The main reason for CQRS gaining popularity is the ability to handle reads and writes separately due to severe differences in optimization techniques for those much more distinct operations.
Our microservice accept http requests: For swagger used Swagger OpenAPI 3. The bank account REST controller, which accept requests, validate it using Hibernate Validator, then call command or query service. The main reason for CQRS gaining popularity is the ability to handle reads and writes separately due to severe differences in optimization techniques for those much more distinct operations.
Grafana - Grafana
Flyway - Database migrations