mirror of
https://github.com/logos-co/Overwatch.git
synced 2025-02-08 12:45:16 +00:00
* relax type bounds * remove Send bound on NoOperator * fix tests * remove bound on service message * re-add type bound on Relay * remove duplicate PhantomBound
Overwatch
Overwatch is a framework to easily construct applications that requires of several independent parts that needs communication between them. Everything is self-contained, and it matches somewhat the advantages of microservices.
Design Goals
-
Modularity:
- Components should be self-contained (as possible)
- Communication relations between components should be specifically defined
- Components should be mockable. This is rather important for measurements and testing.
-
Single responsibility:
- It is easier to isolate problems
- Minimal sharing when unavoidable
-
Debuggeability
- Easy to track workflow
- Easy to test
- Easy to measure
- Asynchronous Communication