~/talk

Building payment processing engine with Stateful Functions and Spring Boot

Talkat Flink Forward Global 2021 · 2021-10-18..10-27· [distributed-systems, java]
links:none on file
slides:none on file

Proof of concept payment engine implements account and transaction as separate namespaces, deployed as two Spring Boot remote SDK modules; account stores balance and uses a negative-amount applyTransaction for withdrawals while transaction orchestrates withdraw → deposit and sends transaction accepted or declined messages. JSON/Jackson serializes commands, module.yaml uses wildcard namespace routing and two Kafka ingresses for initAccount and executeTransaction. Exactly-once to Kafka is achieved with exactly-once Kafka transactions tied to Flink checkpoints; CQRS egresses update a read store.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 1:49Grimgotts bank transformation
  3. 2:56Designing payment functions
  4. 4:20Namespace design principles
  5. 5:25Embedded vs remote SDK
  6. 6:52Idempotency and delivery
  7. 7:57CQRS for data curation
  8. 8:39Code walkthrough start
  9. 9:00Account function implementation
  10. 11:03Spring Boot integration
  11. 11:45Transaction function logic
  12. 13:55Stateful Functions config
  13. 14:59Ingress configuration
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.