Order platform architectureMobile/WebAppHTTPSPOST/api/v1/ordersORDERPLATFORM(k8sns:orders-prod)APIGatewayJWTAuthFilterRateLimiterRouterscope:orders:write100req/speruser_id/api/v1/orders/**->orderroutebypathOrderService(SpringBoot)QueryServiceControllerlayerOrderViewOrderControllerOrderValidatorGET/orders/{id}POST/api/v1/orders--strictsku_rules.ymlSearchIndexDomainlayerq=status:PAIDPricingEngineInventoryTaxCalculatorDiscountRulesCheckerregion:IN-MHbyuser_idreserve()InfralayerOrderRepositoryEventPublisherPaymentClientJPA->OracleKafkaproducermTLS,2st/oData&messagingOracleKafkapayment-svcRedisschemaORDERStopicorders.v1externalreadmodel,TTL5mCalltree:POST/api/v1/ordersPOST/api/v1/ordersOrderController.create(req)OrderValidator.validate(req)SkuRules.check(sku)throwsInvalidOrderExceptionHTTP400OrderService.place(cmd)@TransactionalInventoryChecker.reserve(items)inventory-svc(retryx3)PricingEngine.quote(items)TaxCalculator.forRegion("IN-MH")DiscountRules.apply(user_id)PaymentClient.charge(amount)payment-svconfailure:InventoryChecker.release(items)OrderRepository.save(order)OracleORDERSEventPublisher.publish(OrderPlaced)Kafkaorders.v1OrderView.project(event)(async)