Idempotence: Build Mission Critical Systems *and* Keep Your Job - Ethan Garofolo
UtahJS
0:00 / 0:00
Idempotence: Build Mission Critical Systems *and* Keep Your Job - Ethan Garofolo
936 просмотров · 6 лет назад
UtahJS
6,51 тыс. подписчиков
936 просмотров · 6 лет назад
Level up your system design skills and make your users' lives better with this one weird trick.
Have you ever seen a submit button get disabled after clicking it? Have you ever seen the same comment twice in a row on a blog? Have you ever seen the same comment twice in a row on a blog?
It seems like some team didn't make their system idempotent.
Idempotent literally means "same power", and it's a concept that will make your APIs more robust, make it so your microservices can function at all, and provide lots of fun when trying to figure out how to pronounce it
Simply put, when an idempotent operation is called once or called a million times, the end result is exactly the same. Did you get a network failure during your API call, and you're not sure if you actually charged your customer's credit card? Not a problem if your API is idempotent. Did your autonomous microservice just encounter a message it has already handled, and you're not sure if you should wire the 10 million dollars again? Not a problem if your handlers are idempotent.
This talk will show (with code examples) how to make systems (both regular web APIs and microservices) idempotent and demonstrate the kinds of catastrophe you can easily avoid when designing with idempotence in mind.
www.utahjs.com