https://github.com/tisonkun/morax
Message queue and data streaming based on cloud native services.
https://github.com/tisonkun/morax
Last synced: 11 months ago
JSON representation
Message queue and data streaming based on cloud native services.
- Host: GitHub
- URL: https://github.com/tisonkun/morax
- Owner: tisonkun
- License: apache-2.0
- Created: 2024-10-05T23:58:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-20T07:28:42.000Z (about 1 year ago)
- Last Synced: 2025-04-03T20:12:00.636Z (about 1 year ago)
- Language: Rust
- Homepage:
- Size: 220 KB
- Stars: 106
- Watchers: 1
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome - tisonkun/morax - Message queue and data streaming based on cloud native services. (<a name="Rust"></a>Rust)
README
# Morax
[![Discord][discord-badge]][discord-url]
[![Apache 2.0 licensed][license-badge]][license-url]
[![Build Status][actions-badge]][actions-url]
[discord-badge]: https://img.shields.io/discord/1291345378246922363?logo=discord&label=discord
[discord-url]: https://discord.gg/RRxbfYGqHM
[license-badge]: https://img.shields.io/crates/l/morax
[license-url]: LICENSE
[actions-badge]: https://github.com/tisonkun/morax/workflows/CI/badge.svg
[actions-url]:https://github.com/tisonkun/morax/actions?query=workflow%3ACI
Morax is aimed at providing message queue and data streaming functionality based on cloud native services:
* Meta service is backed by Postgres compatible relational database services (RDS, Aurora, etc.).
* Data storage is backed by S3 compatible object storage services (S3, MinIO, etc.).
## Usage
Currently, Morax supports basic PubSub APIs. You can try it out with the following steps.
1. Start the environment that provides a Postgres instance and a MinIO instance:
```shell
docker compose -f ./dev/docker-compose.yml up
```
2. Build the `morax` binary:
```shell
cargo x build
```
3. Start the broker:
```shell
./target/debug/morax start --config-file ./dev/config.toml
```
The broker is now running at `localhost:8848`. You can talk to it with the [`morax-client`](sdk/client). The wire protocol is HTTP so that all the HTTP ecosystem is ready for use.
You can also get an impression of the interaction by reading the test cases in:
* [behavior-tests](tests/behavior/tests)
## License
This project is licensed under [Apache License, Version 2.0](https://github.com/tisonkun/logforth/blob/main/LICENSE).