The document discusses various approaches for handling asynchronous operations when processing a payment for a bill in a Clojure web application. It evaluates 9 different solutions using techniques like synchronous code, promises, core.async, and various Clojure libraries. The top portion provides code snippets for each approach. The bottom compares the performance of synchronous code versus core.async.
4. If payment is success: display amount remaining on bill!
If payment fails: display error
Make a payment on a bill!
- Not necessarily a full payment
POST /bills/:bill-id/payments
Session: user-id
Post Data: amount
1. GET credit card token for user!
1.1. POST request to payment gateway!
2. GET how much was left to be payed
21. CQRS!
• Want fast reads. Reduce the
number of queries.!
• Don't want to have to
update write code every
time we add a new reader.!
• Don't want to have to
update reader every time
there's a new writer.!
• Would be great to have an
event stream to re-calculate
current state.
24. CASSANDRATRIGGERS
• Can just throw the Clojure
jar in there!
• Everything is byte buffers!
• Need to know the type of
fields out of band!
• One class per trigger per
table!
• Bizarre key names (format
changes depending on value
type)