Skip to content

Conversation

@kris-gaudel
Copy link
Contributor

Building off of the architecture discussed here and former work here

This PR implements a proof-of-concept for how a centralized PID state service can be shared among adaptive circuit breakers in a pod. The idea is that a centralized PID state service aggregates observations from all workers and broadcasts rejection rate updates, ensuring all workers have a consistent, pod-wide view of service health.

Notable features:

  • WAL and binary format
  • Messages are encoded inMessagePack format
  • Centralized PID state service communication to clients over async-bus
  • Unit tests for various components of this feature
  • Example where multiple clients are simulated as individual processes communicating back and forth with the PID state service

References:


# Configure Semian with dual circuit breaker
Semian::NetHTTP.semian_configuration = proc do |host, port|
Semian::NetHTTP.semian_configuration = proc do |host, _port|
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was changed by the linter, not related to the the functionality of this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants