coherent

Crates.iocoherent
lib.rscoherent
version0.0.1
sourcesrc
created_at2022-12-26 09:48:00.860604
updated_at2022-12-26 09:48:00.860604
descriptionCoherent is a Rust library for consuming microservices state
homepage
repository
max_upload_size
id745701
size2,008
(jlanng)

documentation

README

Coherent

Coherent is a Rust library for consuming microservices state.

One problem in consuming microservices is that the shape of the data often isn't as we'd prefer. Coherent allows for both transform and join

When we join multile sources, we cn encounter read skew. Since every microservice source is asyncronous, it's possible to receive facts about an item before that of a dependent item. For example, imagine a scenario where customer submits an order. If we as a service consumer experience latency from the Orders microservice, we may confirmation from the Payments microservice before knowing anything about the order itself! Dealing with read skew places a burden upon microservice consumers. Coherent solves this by advancing a join frontier to a coherent point within all joined sources. The frontier of any given source may be defined as the time of the most recent fact/message, a heartbeat, or using a time window.

Examples

  • Consume from Kafka, transform and populate a Redis cache
Commit count: 0

cargo fmt