Distributed processing
Yet another important piece of architectural concern within a distributed system is Distributed Processing.
Put simply, distributed processing means dividing your processing logic into smaller chunks, such as the filtering of messages, normalization of data, and parallel processing on the data (for example, enriching the IP address with the domain and who-is Information, both of which can be done in parallel).
Distributed processing refers to the use of multiple, distributed processes (participants) to solve computational problems. That is, a problem is divided into multiple, smaller tasks, each of which is solved by one or more participants. Take a look at the following diagram:
Besides its ability to execute a task, distributed processing requires the following capabilities:
- Coordination: This concerns the proper execution of all necessary steps by the different participants in the distributed system to achieve a desired, common goal.
- Splitting: This consists of dividing...