All Projects → dot-microservices → dot-rest

dot-microservices / dot-rest

Licence: MIT license
a minimalist toolkit for building scalable, fault tolerant and eventually-consistent microservices

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to dot-rest

garuda
Automagically Exposing Django ORM over gRPC for microservices written in any other languages
Stars: ✭ 22 (-52.17%)
Mutual labels:  microservice-framework, microservice-toolkit
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (+665.22%)
Mutual labels:  fault-tolerance, soa
Rezilience
ZIO-native utilities for making resilient distributed systems
Stars: ✭ 60 (+30.43%)
Mutual labels:  fault-tolerance
Elixirbooks
List of Elixir books
Stars: ✭ 1,021 (+2119.57%)
Mutual labels:  fault-tolerance
Justindb
⚛️ JustinDB is a highly available globally distributed key-value data store.
Stars: ✭ 147 (+219.57%)
Mutual labels:  fault-tolerance
Vaadin Microservices Demo
A microservices example developed with Spring Cloud and Vaadin
Stars: ✭ 108 (+134.78%)
Mutual labels:  fault-tolerance
Bastion
Highly-available Distributed Fault-tolerant Runtime
Stars: ✭ 2,333 (+4971.74%)
Mutual labels:  fault-tolerance
Fault tolerant router
A daemon, running in background on a Linux router or firewall, monitoring the state of multiple internet uplinks/providers and changing the routing accordingly. LAN/DMZ internet traffic is load balanced between the uplinks.
Stars: ✭ 182 (+295.65%)
Mutual labels:  fault-tolerance
Dkron
Dkron - Distributed, fault tolerant job scheduling system https://dkron.io
Stars: ✭ 2,930 (+6269.57%)
Mutual labels:  fault-tolerance
Metronome
Metronome is a distributed and fault-tolerant event scheduler
Stars: ✭ 131 (+184.78%)
Mutual labels:  fault-tolerance
Circuit Breaker
Circuit breaker for Clojure
Stars: ✭ 130 (+182.61%)
Mutual labels:  fault-tolerance
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (+143.48%)
Mutual labels:  fault-tolerance
Cronsun
A Distributed, Fault-Tolerant Cron-Style Job System.
Stars: ✭ 2,493 (+5319.57%)
Mutual labels:  fault-tolerance
Framework
Asynchronous & Fault-tolerant PHP Framework for Distributed Applications.
Stars: ✭ 1,125 (+2345.65%)
Mutual labels:  fault-tolerance
Cukatify
Cukatify is a music social media project
Stars: ✭ 21 (-54.35%)
Mutual labels:  soa
Http
A smart, simple and fault-tolerant HTTP client for sending and receiving JSON and XML
Stars: ✭ 53 (+15.22%)
Mutual labels:  fault-tolerance
Sniffy
Sniffy - interactive profiler, testing and chaos engineering tool for Java
Stars: ✭ 117 (+154.35%)
Mutual labels:  fault-tolerance
soa-checklist
Microservice Oriented Architecture checklist
Stars: ✭ 92 (+100%)
Mutual labels:  soa
mezon
Mezon is a simple php framework wich will help you to create business applications.
Stars: ✭ 35 (-23.91%)
Mutual labels:  soa
yates
YATES (Yet Another Traffic Engineering System)
Stars: ✭ 46 (+0%)
Mutual labels:  fault-tolerance

dot-rest

a minimalist toolkit for building fast, scalable and fault tolerant microservices

Configuration

  • host : binds server instance to this value. it's 0.0.0.0 by default.
  • pino : options for pino logger. it's { "level": "error" } by default.
  • port : start point for port assignment. it's 8000 by default.

Examples

const Clerq = require('clerq');
const { Client, Server } = require('dot-rest');
const IORedis = require('ioredis');

class Service {
    static _configure() {
        return {
            echo: [ '*', '/:path' ]
        };
    }

    static _name() {
        return 'myService';
    }

    static async echo(req) { // ? , res
        return req.params;
    }
}

const registry = new Clerq(new IORedis(), { expire: 5, pino: { level: 'error' } });
const client = new Client(registry, { expire: 5, pino: { level: 'error' } });
const server = new Server(registry, { expire: 5, pino: { level: 'error' } });
server.start()
    .then(() => server.addService(Service))
    .catch(console.log);

setTimeout(async() => {
    const r = await client.get(Server._unCamelCase(Service._name()), 'test');
    console.log(r.data);
    server.stop();
    client.close();
}, 500);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].