shad-go/pubsub
2020-04-02 20:57:31 +03:00
..
my_pubsub.go Add pubsub task 2020-03-26 17:42:29 +00:00
pubsub.go Add pubsub task 2020-03-26 17:42:29 +00:00
pubsub_example_test.go Add pubsub task 2020-03-26 17:42:29 +00:00
pubsub_test.go Добавил тест на публикацию сообщений в 2 разных топика 2020-04-02 20:57:31 +03:00
README.md Add pubsub task 2020-03-26 17:42:29 +00:00

pubsub

В этой задаче нужно написать простую шину событий работающую по принципу pub/sub.

В файле pubsub.go заданы интерфейсы PubSub/Subscription с подробным описанием всех методов.

Требования к системе:

  • На один топик может подписываться (и отписываться) множество подписчиков
  • FIFO для сообщений, вы не должны терять их порядок
  • Один медленный подписчик не должен тормозить остальных
  • Метод Close должен уважать переданный контекст, так если он отменен - выходим, inflight сообщения выбрасываем
  • Если будут использоваться горутины - они не должны течь :)

Нужно написать реализацию и конструктор (см. my_pubsub.go:

func NewPubSub() PubSub