GitHub - vardius/pushpull: gRPC message-oriented middleware on top of worker-pool, event ingestion and delivery system. (original) (raw)
π¨ pushpull
pushpull - gRPC event-oriented middleware on top of worker-pool, event ingestion and delivery system.
pushpull allows you to push event to queue that later can be pulled by one of clients pulling from that queue. See also pubsub.
Table of Contents
π ABOUT
Contributors:
Want to contribute ? Feel free to send pull requests!
Have problems, bugs, feature ideas? We are using the github issue tracker to manage them.
π HOW TO USE
π³ Docker Hub
Pull image from the command line:
$ docker pull vardius/pushpull:latest
Use as base image in DockerFile:
FROM vardius/pushpull:latest
Github Package Registry
Pull image from the command line:
$ docker pull docker.pkg.github.com/vardius/pushpull/pushpull:latest
Use as base image in DockerFile:
FROM docker.pkg.github.com/vardius/pushpull/pushpull:latest
How to use this image
Starting a pushpull instance:
docker run --name my-pushpull -e QUEUE_BUFFER_SIZE=100 -d vardius/pushpull:tag
Environment Variables
HOST (string)
This is optional variable, sets gRPC server host value. Default 0.0.0.0
PORT (int)
This is optional variable, sets gRPC server port value. Default 9090
QUEUE_BUFFER_SIZE (int)
This is optional variable, sets buffered channel length per worker pool. Default 0, which evaluates to runtime.NumCPU().
KEEPALIVE_MIN_TIME
This is optional variable, if a client pings more than once every 5 minutes (default), terminate the connection. ParseDuration parses a duration string. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, -1.5h or 2h45m. Valid time units are ns, us (or Β΅s), ms, s, m, h
KEEPALIVE_TIME (nanoseconds)
This is optional variable, ping the client if it is idle for 2 hours (default) to ensure the connection is still active. ParseDuration parses a duration string. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, -1.5h or 2h45m. Valid time units are ns, us (or Β΅s), ms, s, m, h
KEEPALIVE_TIMEOUT (nanoseconds)
This is optional variable, wait 20 second (default) for the ping ack before assuming the connection is dead. ParseDuration parses a duration string. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, -1.5h or 2h45m. Valid time units are ns, us (or Β΅s), ms, s, m, h
LOG_VERBOSE_LEVEL (int)
This is optional variable, Verbose level. -1 = Disabled, 0 = Critical, 1 = Error, 2 = Warning, 3 = Info, 4 = Debug. Default 3 (Info).
Makefile
β pushpull git:(master) make help
version Show version
docker-build Build given container. Example: make docker-build
docker-run Run container on given port. Example: make docker-run PORT=9090
docker-stop Stop docker container. Example: make docker-stop
docker-rm Stop and then remove docker container. Example: make docker-rm
docker-publish Docker publish. Example: make docker-publish REGISTRY=https://your-registry.com
docker-tag Tag current container. Example: make docker-tag REGISTRY=https://your-registry.com
docker-release Docker release - build, tag and push the container. Example: make docker-release REGISTRY=https://your-registry.com
Client
See proto package for details.
π License
This package is released under the MIT license. See the complete license in the package
