Posts
Webhook system design - base ZIO
Goals Sending event message by http post Recording success/error response from third-party reply. It should re-send message after third-party reply error or down. Features Delivery (HTTP POST) Success / Error Record Re-send in the case of third-party failure. Run in multi-process environment (e.g. Kubernetes) Metrics of backlog message Policy of record automatic archive Prevent sent too fequencly after massive event generated.(throttle) Results
After I migrated my legacy playframework project to zio, what I learned from it.
Foreword What is R What are the problems caused by DI tools? Current Situation Evolution Stage 1 Evolution Stage 2 Evolution Stage 3 Conclusion References Foreword On April 17, 2020, I start a huge project to migrate the Future[T] from legacy playframework project to ZIO. Three months later, after tens of thousands of lines of code modification, the migration was a complete success. In September, I used this experience as the background to share in the Chinese Scala Meetup community with the title “Introduction to ZIO”. In this share, I explained a fanatic imageation, 在这次分享中,我展望了一个美好的愿景,借由 ZIO 的类型参数 R 提供的抽象能力来实现代码的可移植性,和提高可测试性。但想在遗留项目中实现这个愿景并不容易,主要挑战来自遗留项目的代码耦合,和开发者的思维惯性。如今,这个愿景已经达成。我会在这篇 Post 中与你分享我的进化之路。 ...