Sign inSign up

vardius/pubsub

By vardius

•Updated about 6 years ago

gRPC message-oriented middleware on top of message-bus, event ingestion and delivery system.

Image
0

1.8K

vardius/pubsub repository overview

⁠📬 pubsub

Build Status Go Report Card codecov FOSSA Status Docker Pulls license

logo

pubsub - gRPC message-oriented middleware on top of message-bus⁠, event ingestion and delivery system.

Table of Contents

⁠📖 ABOUT

pubsub⁠ allows you to publish even that is delivered to all subscribed clients. See also pushpull⁠.

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/pubsub:latest

Use as base image in DockerFile:

FROM vardius/pubsub:latest

⁠Github Package Registry⁠

Pull image from the command line:

$ docker pull docker.pkg.github.com/vardius/pubsub/pubsub:latest

Use as base image in DockerFile:

FROM docker.pkg.github.com/vardius/pubsub/pubsub:latest
⁠How to use this image

Starting a pubsub instance:

docker run --name my-pubsub -e QUEUE_BUFFER_SIZE=100 -d vardius/pubsub: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 subscriber. 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
➜  pubsub 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

FOSSA Status

Tag summary

Content type

Image

Digest

Size

9.8 MB

Last updated

over 6 years ago

docker pull vardius/pubsub