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