An open API service indexing awesome lists of open source software.

https://github.com/getjump/pubsub

Pubsub Server gRPC implementation Golang
https://github.com/getjump/pubsub

Last synced: 19 days ago
JSON representation

Pubsub Server gRPC implementation Golang

Awesome Lists containing this project

README

          

## Описание

Простой и быстрый pubsub сервис

## Основные фичи

- Подписка на топики, в том числе с учётом wildcard (Trie) (Trie немного сломан сейчас)
- Публикация Sync/Async - Sync ждёт пока все сообщения не будут отправлены, Async отправляет параллельно,
так же, Sync может ждать подтверждение получения сообщений, если это необходимо
- Почти нет мусора, после отваливания консьюмера почти всё чистится

## Improvements

- Масштабирование посредством архитектуры multi master (несколько ЦОД, механизм синхронизации между репликами)
- Персистентность (что-то вроде Apache Kafka), чтобы можно было прочитать исторические данные + механизм отслеживания последовательности событий (можно использовать например LevelDB)
- Фичи из существующих брокеров, как zeromq или kafka, google pubsub, ...
- Метод Fetch для получения определенного сообщения

## Как запустить

- Можно запустить напрямую `pubsub-server/cmd/grpc_app.go` и параллельно `pubsub-client/examples/benchmark/main.go`
- Docker не проверял и почти не занимался