Skip to content

🕑 Real-time event streaming platform built on top of gRPC streams

License

Notifications You must be signed in to change notification settings

sptGabriel/walrus

 
 

Repository files navigation

Walrus

🕑 Real-time event streaming platform built on top of gRPC streams

Table of Contents
  1. About the project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License

About the Project

Built With

How it works

Walrus uses pub/sub pattern to allow applications to subscribe to specific topics. A topic is any event or a concern that can happen on your systems, it can be a new account that was just created, or a credit card purchase. So any application that wants to be notified by new events, it will just need to subscribe to this topic. To make it possible, Walrus offers an rpc method called Subscribe which any service can call to establish a gRPC connection and start to listen for a server side message stream. Then, when a new event happen, any application can call the Publish rpc method to publish this event through Walrus that will send it to all subscriptions based on the event's topic.

walrus pub/sub architecture explained

Getting Started

All you should know to run Walrus locally.

Prerequisites

How to run

  1. Clone the repo
    git clone https://github.com/matheusmosca/walrus.git
  2. Run the server
    make run-server

Testing

make test

Usage

TODO

Contributing

Take a look at the open issues and let a comment on them if you want to help somehow. Feel free to share your ideas or report bugs by opening a new issue as well. Any contributions you make are really appreciated and I would love to review your pull requests. ❤️

License

Distributed under the APACHE-2.0 License. See LICENSE for more information.

About

🕑 Real-time event streaming platform built on top of gRPC streams

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.3%
  • Makefile 5.7%