Skip to content
/ blip Public

Write you an in-process gRPC service mesh.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

nytopop/blip

Repository files navigation

logo

Docs.rs Crates.io Crates.io Apache-2.0 OR MIT

A crate for writing fast and highly resilient in-process gRPC service meshes.

Overview

blip provides an implementation of distributed membership based on rapid, exposed as a gRPC service. Groups of servers become aware of each other through the membership protocol, and any given member may expose its own metadata or linked services through the same backing gRPC server.

In essence, this crate provides a membership list with strong consistency semantics (as opposed to weakly consistent protocols like SWIM), distributed fault detection, and grpc routing.

Service Discovery

blip is designed to build heterogenous meshes. As such, members may expose arbitrary (immutable) key-value metadata when they join a mesh, which can be used for the purpose of service discovery.

Sharding and State

blip does not enforce any invariants with regard to state held by members of a mesh. For maximal flexibility, state and sharding are deferred to implementations of member services.

Feature Flags

  • full: Enables all optional features.
  • cache: Enables the cache service.

References

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Write you an in-process gRPC service mesh.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages