Improve readme (#312)

This commit is contained in:
Benoit Chassignol 2021-03-03 09:40:12 +01:00 committed by GitHub
parent 835be0586d
commit 674deb13e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 92 additions and 101 deletions

193
README.md
View File

@ -2,82 +2,73 @@
<img src="https://github.com/bastion-rs/bastion/blob/master/img/bastion.png"><br>
</div>
-----------------
---
<h1 align="center">Highly-available Distributed Fault-tolerant Runtime</h1>
<table align=left style='float: left; margin: 4px 10px 0px 0px; border: 1px solid #000000;'>
<tr>
<td>Latest Release</td>
<td>
<a href="https://crates.io/crates/bastion">
<img alt="Crates.io" src="https://img.shields.io/crates/v/bastion.svg?style=popout-square">
</a>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>License</td>
<td>
<a href="https://github.com/bastion-rs/bastion/blob/master/LICENSE">
<img alt="Crates.io" src="https://img.shields.io/crates/l/bastion.svg?style=popout-square">
</a>
</td>
</tr>
<tr>
<td>Doc [Bastion]</td>
<td>
<a href="https://docs.rs/bastion">
<img alt="Documentation (Bastion)" src="https://img.shields.io/badge/rustdoc-bastion-blue.svg" />
</a>
</td>
</tr>
<tr>
<table>
<tr>
<td>Latest Release</td>
<td>
<a href="https://crates.io/crates/bastion">
<img alt="Crates.io" src="https://img.shields.io/crates/v/bastion.svg?style=popout-square">
</a>
</td>
<td>License</td>
<td>
<a href="https://github.com/bastion-rs/bastion/blob/master/LICENSE">
<img alt="Crates.io" src="https://img.shields.io/crates/l/bastion.svg?style=popout-square">
</a>
</td>
</tr>
<tr>
<td>Doc [Bastion]</td>
<td>
<a href="https://docs.rs/bastion">
<img alt="Documentation (Bastion)" src="https://img.shields.io/badge/rustdoc-bastion-blue.svg" />
</a>
</td>
<td>Downloads</td>
<td>
<a href="https://crates.io/crates/bastion">
<img alt="Crates.io" src="https://img.shields.io/crates/d/bastion.svg?style=popout-square">
</a>
</td>
</tr>
<tr>
<td>Doc [Bastion Executor]</td>
<td>
<a href="https://docs.rs/bastion-executor">
<img alt="Documentation (Bastion Executor)" src="https://img.shields.io/badge/rustdoc-bastion_executor-blue.svg" />
</a>
</td>
</tr>
<tr>
<td>Doc [LightProc]</td>
<td>
<a href="https://docs.rs/lightproc">
<img alt="Documentation (LightProc)" src="https://img.shields.io/badge/rustdoc-lightproc-blue.svg" />
</a>
</td>
</tr>
<tr>
<td>Build Status</td>
<td>
<a href="https://github.com/bastion-rs/bastion/actions">
<img alt="Build Status" src="https://github.com/bastion-rs/bastion/workflows/CI/badge.svg" />
</a>
</td>
</tr>
<tr>
<td>Downloads</td>
<td>
<a href="https://crates.io/crates/bastion">
<img alt="Crates.io" src="https://img.shields.io/crates/d/bastion.svg?style=popout-square">
</a>
</td>
</tr>
<tr>
<td>Discord</td>
<td>
<a href="https://discord.gg/DqRqtRT">
<img src="https://img.shields.io/discord/628383521450360842.svg?logo=discord" />
</a>
</td>
</tr>
<td>
<a href="https://docs.rs/bastion-executor">
<img alt="Documentation (Bastion Executor)" src="https://img.shields.io/badge/rustdoc-bastion_executor-blue.svg" />
</a>
</td>
<td>Discord</td>
<td>
<a href="https://discord.gg/DqRqtRT">
<img src="https://img.shields.io/discord/628383521450360842.svg?logo=discord" />
</a>
</td>
</tr>
<tr>
</tr>
<tr>
<td>Doc [LightProc]</td>
<td>
<a href="https://docs.rs/lightproc">
<img alt="Documentation (LightProc)" src="https://img.shields.io/badge/rustdoc-lightproc-blue.svg" />
</a>
</td>
<td>Build Status</td>
<td>
<a href="https://github.com/bastion-rs/bastion/actions">
<img alt="Build Status" src="https://github.com/bastion-rs/bastion/workflows/CI/badge.svg" />
</a>
</td>
</tr>
</table>
---
<h1 align="center">Highly-available Distributed Fault-tolerant Runtime</h1>
Bastion is a highly-available, fault-tolerant runtime system with dynamic, dispatch-oriented, lightweight process model. It supplies actor-model-like concurrency with a lightweight process implementation and utilizes all of the system resources efficiently guaranteeing of at-most-once message delivery.
---
@ -87,6 +78,23 @@ Bastion is a highly-available, fault-tolerant runtime system with dynamic, dispa
Bastion comes with a default one-for-one strategy root supervisor.
You can use this to launch automatically supervised tasks.
## Get Started
Include bastion to your project with:
```toml
bastion = "0.4"
```
### Documentation
Official documentation is hosted on [docs.rs](https://docs.rs/bastion).
### Examples
Check the [getting started example](https://github.com/bastion-rs/bastion/blob/master/src/bastion/examples/getting_started.rs) in <code>bastion/examples</code>
[Examples](https://github.com/bastion-rs/bastion/blob/master/src/bastion/examples) cover possible use cases of the crate.
## Features
* Message-based communication makes this project a lean mesh of actor system.
* Without web servers, weird shenanigans, forced trait implementations, and static dispatch.
@ -144,18 +152,6 @@ It's independent of it's framework implementation. It uses lightproc to encapsul
### [Agnostik](https://github.com/bastion-rs/agnostik)
Agnostik is a layer between your application and the executor for your async stuff. It lets you switch the executors smooth and easy without having to change your applications code. Valid features are `runtime_bastion` (default), `runtime_tokio`, `runtime_asyncstd` and `runtime_nostd` (coming soon).
## Get Started
Check the [getting started example](https://github.com/bastion-rs/bastion/blob/master/src/bastion/examples/getting_started.rs) in <code>bastion/examples</code>
[Examples](https://github.com/bastion-rs/bastion/blob/master/src/bastion/examples) cover possible use cases of the crate.
Include bastion to your project with:
```toml
bastion = "0.4"
```
For more information please check [Bastion Documentation](https://docs.rs/bastion)
## Architecture of the Runtime
Runtime is structured by the user. Only root supervision comes in batteries-included fashion.
Worker code, worker group redundancy, supervisors and their supervision strategies are defined by the user.
@ -164,6 +160,20 @@ Supervision strategies define how child actor failures are handled, how often a
![Bastion Architecture](img/bastion-architecture.png)
## Community
### Getting Help
Please head to our [Discord](https://discord.gg/DqRqtRT) or use [StackOverflow](https://stackoverflow.com/questions/tagged/bastion)
### Discussion and Development
We use [Discord](https://discord.gg/DqRqtRT) for development discussions. Also please don't hesitate to open issues on GitHub ask for features, report bugs, comment on design and more!
More interaction and more ideas are better!
### Contributing to Bastion [![Open Source Helpers](https://www.codetriage.com/bastion-rs/bastion/badges/users.svg)](https://www.codetriage.com/bastion-rs/bastion)
All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome.
A detailed overview on how to contribute can be found in the [CONTRIBUTING guide](https://github.com/bastion-rs/.github/blob/master/CONTRIBUTING.md) on GitHub[.](https://youtu.be/w55YCDzZjvA)
## License
Licensed under either of
@ -173,25 +183,6 @@ Licensed under either of
at your option.
## Documentation
Official documentation is hosted on [docs.rs](https://docs.rs/bastion).
## Getting Help
Please head to our [Discord](https://discord.gg/DqRqtRT) or use [StackOverflow](https://stackoverflow.com/questions/tagged/bastion)
## Discussion and Development
We use [Discord](https://discord.gg/DqRqtRT) for development discussions. Also please don't hesitate to open issues on GitHub ask for features, report bugs, comment on design and more!
More interaction and more ideas are better!
## Contributing to Bastion [![Open Source Helpers](https://www.codetriage.com/bastion-rs/bastion/badges/users.svg)](https://www.codetriage.com/bastion-rs/bastion)
All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome.
A detailed overview on how to contribute can be found in the [CONTRIBUTING guide](https://github.com/bastion-rs/.github/blob/master/CONTRIBUTING.md) on GitHub[.](https://youtu.be/w55YCDzZjvA)
## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbastion-rs%2Fbastion.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbastion-rs%2Fbastion?ref=badge_large)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbastion-rs%2Fbastion.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbastion-rs%2Fbastion?ref=badge_shield)