github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/docs/roadmap/server.md (about)

     1  # Server
     2  
     3  The micro server is a distributed systems runtime for the cloud and beyond.
     4  
     5  ## Overview
     6  
     7  The Micro Server is a distributed systems runtime or also known as a cloud services operating system. 
     8  The server builds on the Go Micro framework, providing service level abstractions of the interfaces 
     9  as RPC. The server started as a toolkit for entrypoints such as CLI, API Gateway and Web dashboard. 
    10  It's since evolved into a full operating environment for microservices which abstracts away the 
    11  complexity of the underlying infrastructure.
    12  
    13  ## Design
    14  
    15  The server starts as a single binary called `micro` available at github.com/tickoalcantara12/micro. It takes 
    16  every Go Micro interface and provides it as a service with RPC endpoints equivalent to the interface. 
    17  These RPC services then leverage the Go Micro interfaces internally making them entirely pluggable. 
    18  So creating a runtime agnostic operating system and anti-corruption layer that forms the basis 
    19  of a platform.
    20  
    21  Services included:
    22  
    23  - **CLI** - a standard command line interface for the terminal
    24  - **API** - external api gateway serving http/json and sending internal RPC
    25  - **Web** - Web dashboard that provides a proxy for serving web apps as microservices
    26  - **Proxy** - service to service gRPC proxy encapsulating the go-micro client/server
    27  - **Bot** - A Slack bot for ChatOps with all the same commands as the CLI
    28  - **Runtime** - Service deployment
    29  - **Registry** - Service discovery
    30  - **Broker** - Asynchronous pubsub messaging
    31  - **Proxy** - Service to service proxy for gRPC communication
    32  - **Store** - Distributed key-value storage
    33  - **Debug** - Stats, logs and tracing for debugging
    34  - **Auth** - User and service authentication and authorization
    35  - **Config** - Dynamic configuration service
    36  
    37  ## TODO
    38  
    39  Open source related requirements
    40  
    41  - [x] Micro as a server
    42  - [x] Code generated gRPC clients
    43  - [ ] Clean idiomatic libraries wrapping the gRPC clients
    44  - [ ] API service interface and code generation