Add README.md
This commit is contained in:
commit
fc110947c5
38
README.md
Normal file
38
README.md
Normal file
@ -0,0 +1,38 @@
|
||||
**Reqser**
|
||||
==========================
|
||||
|
||||
This is a simple web server built with the Hyper framework. I wrote this as a demonstration of fast request handling in rust.
|
||||
|
||||
**Features**
|
||||
------------
|
||||
|
||||
* Request counting with atomic counters
|
||||
* Metric reporting through two API endpoints: `/data/requests` and `/data/cpu`
|
||||
|
||||
**Techstack**
|
||||
-----------------
|
||||
|
||||
* **Lock-free request counting**: Using atomic counters to increment the request count. Lower CPU usage
|
||||
* **Sharded request counting**: Dividing the request count among multiple shards.
|
||||
* **Time series data storage**: Using a `VecDeque` to store time series data.
|
||||
* **Tokio async framework**: Using Tokio to handle asynchronous requests and tasks.
|
||||
* **Hyper framework**: Using Hyper to build the web server and handle HTTP requests.
|
||||
|
||||
**Build and Run**
|
||||
----------------
|
||||
|
||||
To build and run the server, use the following commands:
|
||||
|
||||
```bash
|
||||
cargo build
|
||||
cargo run
|
||||
```
|
||||
|
||||
This will start the server and make it available at `http://0.0.0.0:80`. The metrics endpoints can be accessed at:
|
||||
|
||||
* `http://0.0.0.0:80/data/requests`
|
||||
* `http://0.0.0.0:80/data/cpu`
|
||||
|
||||
**Note**
|
||||
----------------
|
||||
This "project" has no purpose. I made it to demonstrate that most webapps are ass inefficient. lmao
|
Loading…
Reference in New Issue
Block a user