Order platform architectureMobile / Web AppHTTPSPOST /api/v1/ordersORDER PLATFORM(k8s ns: orders-prod)API GatewayJWT AuthFilterRateLimiterRouterscope: orders:write100 req/s per user_id/api/v1/orders/** -> orderroute by pathOrder Service (Spring Boot)Query ServiceController layerOrderViewOrderControllerOrderValidatorGET /orders/{id}POST /api/v1/orders--strictsku_rules.ymlSearchIndexDomain layerq=status:PAIDPricingEngineInventoryTaxCalculatorDiscountRulesCheckerregion: IN-MHby user_idreserve()Infra layerOrderRepositoryEventPublisherPaymentClientJPA -> OracleKafka producermTLS, 2s t/oData & messagingOracleKafkapayment-svcRedisschema ORDERStopic orders.v1externalread model, TTL 5mCall tree: POST /api/v1/ordersPOST /api/v1/ordersOrderController.create(req)OrderValidator.validate(req)SkuRules.check(sku)throws InvalidOrderExceptionHTTP 400OrderService.place(cmd)@TransactionalInventoryChecker.reserve(items)inventory-svc(retry x3)PricingEngine.quote(items)TaxCalculator.forRegion("IN-MH")DiscountRules.apply(user_id)PaymentClient.charge(amount)payment-svcon failure: InventoryChecker.release(items)OrderRepository.save(order)Oracle ORDERSEventPublisher.publish(OrderPlaced)Kafka orders.v1OrderView.project(event)(async)