Chapter 13. Lightweight Framework Microservices
Lightweight frameworks differ from heavyweight frameworks in that they do not require a dedicated processing and resource management cluster. Instead, they rely solely on the event broker and the container management system (CMS) to scale, manage state, and recover from failures.
Historically speaking, there have been only a few lightweight frameworks that caught on enough to mention here. Apache Kafka Streams and Apache Samza were the only two lightweight streaming frameworks identified in the first edition of this book. In the intervening years, it has become clear that Kafka Streams remains the only one in widespread common use, particularly as it remains a core component of the Apache Kafka project. Apache Samza’s usage has diminished, as has its release cycle frequency, and as a consequence, I wouldn’t recommend starting a new project with it over Kafka Streams.
Like Samza, other lightweight frameworks have emerged and faded away over the years. The open source BSD-licensed Python Faust framework is another example. It isn’t that there is nobody who uses these frameworks nowadays, it’s simply that the critical social mass to keep them up-to-date with event broker evolutions and changes is no longer present. The reality is that building a full-featured, durable, reliable, and scalable framework is hard, and when there are other off-the-shelf options available, it may simply be too hard to rally enough developers and users to ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access