11 Applying reactive programming everywhere with agents
This chapter covers
- Using the message-passing concurrent model
- Handling millions of messages per second
- Using the agent programming model
- Parallelizing a workflow and coordinating agents
Web applications play an important role in our lives, from large social networks and media streaming to online banking systems and collaborative online gaming. Certain websites now handle as much traffic as the entire internet did less than a decade ago. Facebook and Twitter, two of the most popular websites, have billions of users each. To ensure that these applications thrive, concurrent connections, scalability, and distributed systems are essential. Traditional architectures from years past cannot operate under this high volume of requests.
High-performance computing is becoming a necessity. The message-passing concurrent programming model is the answer to this demand, as evidenced by the increasing support for the message-passing model in mainstream languages such as Java, C#, and C++.
The number of concurrent online connections will certainly continue to grow. The trend is shifting to physical devices that are interconnected, generating sophisticated and massive networks constantly operating and exchanging messages. It’s predicted that the Internet of Things (IoT) will expand to an installed base of 75 billion units by 2025 (http://mng.bz/wiwP).