pananton / busrpc-spec

API design based on Google's protocol buffers for the systems relying on microservice architecture principles
Apache License 2.0
5 stars 1 forks source link
api busrpc message-broker message-bus message-queue microservice protobuf protocol-buffers

Busrpc

Busrpc is an RPC framework designed with microservice architecture principles in mind. It relies on a generalized message bus/queue/broker (for example, NATS or RabbitMQ) as a transport layer and protocol buffers as message format.

The framework consists of the following components:

An example of busrpc API for a simple chat application backend can be found in the example/ directory.

Libraries

Currently no client libraries designed specifically for busrpc APIs exist, which means that you will probably implement one for your platform determined by a combination of programming language and particular message bus/queue/broker. It's usually not a big deal, because you will probably use some client library from the message bus/queue/broker developer (for example, see here for NATS client libraries or here for RabbitMQ client libraries) and implement busrpc-specific wrappers over it. Contributions of such busrpc client libraries are highly appreciated!

Clients

Clients allow developers to test and observe running busprc backends and usually provide at least the following commands:

Currently no clients are provided. To be done.

Contributing

Any contributions are highly appreciated:

If you want to discuss/suggest some feature, create an issue in this repository.

If you want to contribute code to busprc development tool, fork it's repository and make your changes in a separate branch. When the changes are ready, create a pull request to the develop branch.

If you have implemented new busrpc client or library, create an issue in this repository with a link to your project and I will add it to the list.