60 likes | 178 Views
EventStream design principles. mgdp framework essentials. EventStream design principles. Scalability. EventStream needs to run as efficiently on one node as on a 128 machine cluster. This principle is the foundation for a high performance architecture for massively parallel data processing.
E N D
EventStream design principles mgdp framework essentials
Metagrid Project | mgdp labs EventStream design principles. Scalability EventStream needs to run as efficiently on one node as on a 128 machine cluster. This principle is the foundation for a high performance architecture for massively parallel data processing. Scalability Redundancy Modularity Simplicity Extensibility
Metagrid Project | mgdp labs EventStream design principles. Redundancy EventStream handles real-time data sources with high availability requirements. Each component, as well as the system as a whole, should always run x-times redundant and provide transparent failover . Scalability Redundancy Modularity Simplicity Extensibility
Metagrid Project | mgdp labs EventStream design principles. Modularity EventStream framework has to be divided into small services which perform one task well. The output of one component is the input for another. Clean and simple interfaces connect one component to the next to establish a reliable and scalable workflow for any use case. Scalability Redundancy Modularity Simplicity Extensibility
Metagrid Project | mgdp labs EventStream design principles. Simplicity EventStream architecture is designed for simplicity. Complexity is only added where it cannot be avoided. A service should avoid complex state keeping and recovery procedures. Components should simply fail & retry transparently where repairing a state would be expensive. Those principles ensure robustness for a 24/7 high availability services. Scalability Redundancy Modularity Simplicity Extensibility
Metagrid Project | mgdp labs EventStream design principles. Extensibility EventStream's fine grained modularity should allow extending or replacing every component while avoiding changes in upstream or downstream interfaces. The support for loadable shared libraries improve the extensibility and allow customisations of every part of EventStream. Any functionality required for processing or mapping data should be made possible without modifying the core implementation of the framework. Scalability Redundancy Modularity Simplicity Extensibility