shop
The complete distributed service of V.5: users, orders and carts; checkout as a saga with an external warehouse and
payments; photo upload through a pipeline on a GPU; order events through a topic; live statistics. Five roles (api, storage,
saga, gpu, ml) in one binary.
oxl test examples/shop # unit tests, mocks of the warehouse and payments
oxl test examples/shop --kind sim # simulation of a saga node crash, 300 seeds
oxl test examples/shop --kind ab # the A/B experiment test ab "search v2"
oxl dev --nodes 5 examples/shop # a cluster of five nodesDirectory of src/ | Contents |
|---|---|
model/ | Money, Sku, Item, access roles |
users/, orders/ | services, ORM tables, order events (a topic) |
cart/ | the sharded cart actor |
checkout/ | the saga checkout: warehouse reservation, payment, order creation, compensations |
photos/ | the pipeline on gpu / on ml |
search/ | search and the test ab experiment |
config/, limits/ | config App and dynamic Features, constants |
cluster.oxl, main.oxl | the cluster declaration and the statistics leader task |
The deviations from the text of the Standard are listed in DEVIATIONS.md of the project. The tests of the project (shop_oxl_test,
shop_sim, shop_ab_test, shop_cluster5) are part of the acceptance of the repository.