- Hands-On Reactive Programming in Spring 5
- Oleh Dokuka Igor Lozynskyi
- 369字
- 2021-07-23 16:36:17
Why Reactive Spring?
In the previous section, we looked at a few interesting examples in which reactive system approaches shine. We have also expanded on the usage of fundamentals such as elasticity and resilience, and seen examples of microservice-based systems commonly used to attain a reactive system.
That gave us an understanding of the architectural perspective but nothing about the implementation. However, it is important to emphasize the complexity of the reactive system and the construction of such a system is a challenge. To create a reactive system with ease, we have to analyze frameworks capable of building such things first and then choose one of them. One of the most popular ways to choose a framework is by analyzing its available features, relevance, and community.
In the JVM world, the most commonly known frameworks for building a reactive system has been Akka and Vert.x ecosystems.
On the one hand, Akka is a popular framework with a huge list of features and a big community. However, at the very beginning, Akka was built as part of the Scala ecosystem and for a long time, it showed its power only within solutions written in Scala. Despite the fact that Scala is a JVM-based language, it is noticeably different from Java. A few years ago, Akka provided direct support for Java, but for some reason, it was not as popular in the Java world as it was in Scala.
On the other hand, there is the Vert.x framework which is also a powerful solution for building an efficient reactive system. Vert.x was designed as a non-blocking, event-driven alternative to Node.js that runs on the Java Virtual Machine. However, Vert.x started being competitive only a few years ago and during the last 15 years, the market for frameworks for flexible robust application development has been held by the Spring Framework.
The Spring Framework provides wide possibilities for building a web application using a developer-friendly programming model. However, for a long time, it had some limitations in building a robust reactive system.
- Application Development with Qt Creator(Second Edition)
- 從區塊鏈到Web3:構建未來互聯網生態
- 互聯網安全的40個智慧洞見:2014年中國互聯網安全大會文集
- Getting Started with Grunt:The JavaScript Task Runner
- 圖解手機元器件維修技巧
- Kong網關:入門、實戰與進階
- 網絡環境中基于用戶視角的信息質量評價研究
- 物聯網頂層設計與關鍵技術
- 從實踐中學習手機抓包與數據分析
- 深入理解Nginx:模塊開發與架構解析
- Implementing NetScaler VPX?
- Selenium WebDriver 3 Practical Guide
- 計算機網絡技術
- 走近奇妙的物聯網
- 智能物聯網:區塊鏈與霧計算融合應用詳解