Sign inSign up

jderusse/http-broadcast

By jderusse

•Updated over 6 years ago

A scalable and fault resilient HTTP Broadcaster

Image
1

10K+

jderusse/http-broadcast repository overview

⁠HTTP Broadcast

A scalable and fault resilient HTTP Broadcaster built on top of mercure⁠ able to forward an HTTP request to several servers without need to maintain a registry.

This project has been initialized in order to invalidate a cluster of docker varnish servers.

⁠Description

Each HTTP request sent to a listening http-broadcast is pushed into a mercure HUB⁠, then dispatched to all listening http-broadcast who'll replay the same request.

Schema

⁠Use cases

Example of usage: Send PURGE/BAN requests to a cluster of Varnish containers.

The solution will be to embeds a http-broadcast binary alongside each Varnish instance (One could use the Inter-container network communication provided by Kubernetes Pods). By sending a single request to the varnish containers, the http-broadcast will take care to dispatch the same request to all varnish instances.

⁠Benefits

  • No needs to maintain an index: each server is allowed to start and die without need to be registered somewhere
  • Fault tolerant: if a server is temporary unreachable (network issue for instance), messages won't be lost: all missed messages will be re-play once recovered.
  • Scalable: dealing with 1 or 2 000 servers is transparent for the client, it have a single request to perform.
  • Network secured: Servers don't have to be exposed to the client which is complex to setup when the servers are located in different region of the world.

⁠Documentation

⁠Contributing

See CONTRIBUTING.md⁠.

Tag summary

Content type

Image

Digest

Size

3.4 MB

Last updated

over 6 years ago

docker pull jderusse/http-broadcast