finds.dev← search

// the find

chaokunyang/microservices-event-sourcing

★ 751 · Java · Apache-2.0 · updated May 2017

Microservices Event Sourcing 是一个微服务架构的在线购物网站,使用Spring Boot、Spring Cloud、Spring Reactor、OAuth2、CQRS 构建,实现了基于Event Sourcing的最终一致性,提供了构建端到端微服务的最佳实践

A Spring Cloud microservices reference implementation of an e-commerce site, showing event sourcing and CQRS patterns with a polyglot persistence setup (MySQL, MongoDB, Neo4j, Redis). It's aimed at Java developers learning how to wire together the Spring Cloud ecosystem — Eureka, Zuul, Hystrix, OAuth2 — into a working distributed system. Treat it as a study project, not a production template.

The polyglot persistence choices are deliberate and make sense: Neo4j for the inventory graph (warehouse-product-shipment relationships), MongoDB for orders (document fits the order aggregate), MySQL for accounts. The OAuth2 flow is actually implemented end-to-end with a real authorization server, not stubbed out. The service decomposition is reasonable — catalog, inventory, order, account, and cart are genuinely separate bounded contexts with separate data stores, which is the hard part most tutorials skip.

Last commit was May 2017 — nine years ago. Spring Boot 1.x, AngularJS 1.x, Eureka/Zuul/Hystrix (all now in maintenance or retired in favor of Spring Cloud Gateway and Resilience4j). You cannot run this without fighting dependency rot on every service. There is no actual event sourcing implementation visible in the structure — the name promises it, but the directory tree shows plain JPA repositories with no event store, no event log, no projection rebuild. The README also commits credentials to documentation (hardcoded `password` and `secret`), which is a bad habit to learn from.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →