Skip to content

ACID 2.0: Designing Better APIs and Messages

Photo of Sean W
Hosted By
Sean W. and Steve D.
ACID 2.0: Designing Better APIs and Messages

Details

Two meetings in May??? Yup! Why not? Going to virtual meetings has opened the doors to more speakers and I want to take advantage of that. I'm already working on multiple sessions in June too!

*** !! VIRTUAL MEETUP !! ***
Thursday, May 14, 2020
6:30 pm | (UTC-05:00) Central Time (US & Canada)
Join Zoom Meeting
https://us02web.zoom.us/j/89232941363?pwd=N29zUjA2UFhpQnRDd3BtYjhQbVdtZz09

Meeting ID: 892 3294 1363
Password: 890686
One tap mobile
+13462487799,,89232941363#,,1#,890686# US (Houston)
+16699009128,,89232941363#,,1#,890686# US (San Jose)

Dial by your location
+1 346 248 7799 US (Houston)
+1 669 900 9128 US (San Jose)
+1 253 215 8782 US (Tacoma)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Germantown)
Meeting ID: 892 3294 1363
Password: 890686
Find your local number: https://us02web.zoom.us/u/kb69Bnum2A

** There will be an after-party so you're welcome to stick around after the meeting. Last time I was able to get some special guests to drop into the party. **

Presentation:
ACID 2.0: Designing Better APIs and Messages

Databases uphold 4 promises. Transactions are Atomic, Consistent, Isolated, and Durable. That's fine for the small, directly-connected scope of a database, but what about distributed systems? How can we ensure correctness across APIs and message queues?

When we cross compute boundaries, we need a different set of promises. We need to know that the system will behave correctly when messages arrive out of order. It needs the ability to retry on delivery failure without causing duplication. And we must be sure that all nodes converge even if they don't all subscribe to the same queues. We need ACID 2.0.

A system that is ACID 2.0 is:
· Associative
· Commutative
· Idempotent
· Distributed

Each of these guarantees is vital for the correct behavior of a system. And better yet, they provide guidance for designing Web APIs and service bus messages. They are precisely defined, so that we can verify with certainty whether the systems we build uphold these promises, or whether we are setting ourselves up for failure.

Build better Web applications, mobile apps, and microservices. Make them resilient. Make them ACID 2.0.

Bio:
Michael travels through space clinging to the carbon hull of a spherical ship made of molten iron. He commands an army of microorganisms which decompose the molecules that he captures to provide chemical energy for his cells. His mission is to increase entropy throughout the universe.

Michael wrote The Art of Immutable Architecture, a book on applying mathematics to building distributed systems. Learn more at https://immutablearchitecture.com.

In his spare time, he records Pluralsight courses on CQRS, XAML Patterns, Cryptography, and Provable Code. Formerly a Microsoft MVP for seven years. He maintains the spoon-bending Assisticant, Correspondence, and Jinaga open-source libraries. He shared videos about distributed systems at historicalmodeling.com. And he helps his clients at Improving benefit from the power of software mathematics.

Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.

The other meeting is on May 26th with Scott Hunter.
https://www.meetup.com/TulsaDevelopers-net/events/270352812/

Photo of Tulsa Developers Association group
Tulsa Developers Association
See more events