Skip to content

juicycleff/north-framework

Repository files navigation

North Framework

A Microservice Framework for Rust

This repo contains packages and APIs that powers North Framework

The project was born out of the need to build microsevices with Rust, benefiting from the performance and sweetness bundled in Rust. North framework avoids building transport layers itself, but more so uses existing crates such as web frameworks like poem, to make a simple, flexible, performant and easy to use microservice framework.


Getting Started

/// Entry into Example service
#[tokio::main]
pub async fn main() -> std::io::Result<()> {
    //#region Setup Server
    let service = north::new_service()
        .graceful_shutdown()
        .address("localhost")
        .name("Example Service")
        .path_prefix("/api")
        .port(8000)
        .api("api", Api)
        .build();

    north::power(service).up().await
    //#endregion
}

Crates

Crate Description Documentation ChangeLog
north North Framework (README) (CHANGELOG)
north-config North dynamic config (README) (CHANGELOG)
north-service [WIP] Service Reg & Disc (README) (CHANGELOG)
north-consul Async consul client (README) (CHANGELOG)

Folder Structure

The repository contains folders that require mentioning, which are;

North Framework
├── crates - In-house packages and libraries are managed
│   ├── north
│   ├── north-config
│   ├── north-service
│   ├── north-common
│   ├── north-consul
├── example - north examples
│   ├── basic
└── docs

Develop

Install Development Binaries

sh setup.sh

About

Rust microservice framework

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published