Giter Site home page Giter Site logo

vardius / pubsub Goto Github PK

View Code? Open in Web Editor NEW
47.0 1.0 10.0 106 KB

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

Home Page: https://hub.docker.com/r/vardius/pubsub

License: MIT License

Dockerfile 4.14% Makefile 15.70% Go 80.16%
pubsub broker queue bus message-bus message-broker message-queue docker docker-image grpc

pubsub's Introduction

πŸ“¬ 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

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

pubsub's People

Contributors

fossabot avatar mar1n3r0 avatar vardius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

pubsub's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.