# Overwatch [github](https://github.com/logos-co/Overwatch) [crates.io](https://crates.io/crates/overwatch-rs) [docs.rs](https://docs.rs/overwatch-rs) [build status](https://github.com/logos-co/Overwatch/actions?query=branch%3Amaster) 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