diff --git a/scs-100-2/material/kafka-events-intro-1002-1.svg b/scs-100-2/material/kafka-events-intro-1002-1.svg index 8ae8464..07fc8ff 100644 --- a/scs-100-2/material/kafka-events-intro-1002-1.svg +++ b/scs-100-2/material/kafka-events-intro-1002-1.svg @@ -1,3 +1,3 @@ -
Place Order (REST)
Place Order (REST)
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
Create Order in the topic
Create Order in the...
key = orderUuid
value = order
key = orderUuid...
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
KGroupedStream<KR,V>
KGroupedStream<KR,V>
groupBy
orderUuid
groupBy...
KTable<UUID,String>
KTable<UUID,String>
aggregate
status
aggregate...
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
KStream<UUID, Order>
KStream<UUID, Order>
left join
orderUuid
left join...
orderAggConsumer
orderAggConsumer
branch
branch
KStream<UUID, Order>
KStream<UUID, Order>
shipping
shipping
shipped
shipped
KStream<UUID, Order>
KStream<UUID, Order>
inventoryCheck
inventoryCheck
PENDING
PENDING
INVENTORY_CHECKING
INVENTORY_CHECKING
SHIPPED
SHIPPED
End
End
Materialized
Materialized
Check Order (REST)
Check Order (REST)
Viewer does not support full SVG 1.1
\ No newline at end of file +
Place Order (REST)
Place Order (REST)
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
Create Order in the topic
Create Order in the...
key = orderUuid
value = order
key = orderUuid...
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
KStream<UUID, Order>
KGroupedStream<KR,V>
KGroupedStream<KR,V>
groupBy
orderUuid
groupBy...
KTable<UUID,String>
KTable<UUID,String>
aggregate
status
aggregate...
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22KStream%26amp%3Blt%3BUUID%2C%20Order%26amp%3Bgt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221251%22%20y%3D%22236%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
KStream<UUID, Order>
KStream<UUID, Order>
left join
orderUuid
left join...
orderAggConsumer
orderAggConsumer
branch
branch
KStream<UUID, Order>
KStream<UUID, Order>
shipping
shipping
shipped
shipped
KStream<UUID, Order>
KStream<UUID, Order>
inventoryCheck
inventoryCheck
PENDING
PENDING
INVENTORY_CHECKING
INVENTORY_CHECKING
SHIPPED
SHIPPED
End
End
Materialized
Materialized
Check Order (REST)
Check Order (REST)
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/scs-100-2/src/main/java/com/ehsaniara/scs_kafka_intro/scs1002/OrderService.java b/scs-100-2/src/main/java/com/ehsaniara/scs_kafka_intro/scs1002/OrderService.java index d6e8198..711758b 100644 --- a/scs-100-2/src/main/java/com/ehsaniara/scs_kafka_intro/scs1002/OrderService.java +++ b/scs-100-2/src/main/java/com/ehsaniara/scs_kafka_intro/scs1002/OrderService.java @@ -82,6 +82,7 @@ public class OrderService implements OrderTopology { public Function, KStream[]> orderProcess() { return input -> input + .peek((uuid, order) -> log.debug("Routing Order: {} [status: {}]", uuid, order.getOrderStatus())) .map((uuid, order) -> { try { //create fake delay @@ -98,14 +99,15 @@ public class OrderService implements OrderTopology { @Bean public Function, KStream> inventoryCheck() { return input -> input + .peek((uuid, order) -> log.debug("Checking order inventory, Order: {}", uuid)) .peek((key, value) -> value.setOrderStatus(OrderStatus.INVENTORY_CHECKING)) - .peek((uuid, order) -> log.debug("Order {} is getting checked in the inventory", uuid)) .map(KeyValue::new); } @Bean public Function, KStream> shipping() { return input -> input + .peek((uuid, order) -> log.debug("Applying Shipping Process, Order: {}", uuid)) .peek((key, value) -> value.setOrderStatus(OrderStatus.SHIPPED)) .map(KeyValue::new); }