|
Flexible and Generic Routing Infrastructure A flexible and generic routing infrastructure can manage an exponentially growing number of components as the routers are laid out in multiple layers. For example, if a single router can serve 20 different destinations with a certain requirement (update frequency, subscriptions, and so on) on a particular CPU, the router can serve 20 routers with equivalent requirements. These, in turn, will be able to serve 20x20 = 400 destination components by running on 20 separate equivalent CPUs.
Component Independence Component behavior does not depend on which components publish what, and on which data path, but only on the data and features available (services). In this way, we can always review the service distribution and split services into more components or servers by keeping the subscribers unaffected. Components can run in multiple instances to share workload.
|
Principle of Locality for Connections and Components All components only need to know the next steps along their connections and do not need to grow their knowledge of the platform they are part of in terms of full topology. On a growing platform, additional local requirements in terms of data will normally be served locally by the nearby server. This allows publishers to be unaffected or only affected marginally by a growing number of subscribers in a platform.
Small and Large Hardware Configurations Platforms can use small and large hardware configurations. A platform can grow incrementally and the hardware architecture does not need to be reviewed completely even when facing a quick growth in computing needs.
|