Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
asim committed Nov 22, 2020
1 parent fbce801 commit 5e8f54e
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,46 @@ together.
<img src="/images/micro-3.0.png" />
</center>

## Features

Micro is built as a microservices architecture and abstracts away the complexity of the underlying infrastructure. We compose
this as a single logical server to the user but decompose that into the various building block primitives that can be plugged
into any underlying system.

**Server**

The server is composed of the following services.

- **API** - HTTP Gateway which dynamically maps http/json requests to RPC using path based resolution
- **Auth** - Authentication and authorization out of the box using jwt tokens and rule based access control.
- **Broker** - Ephemeral pubsub messaging for asynchronous communication and distributing notifications
- **Config** - Dynamic configuration and secrets management for service level config without the need to restart
- **Events** - Event streaming with ordered messaging, replay from offsets and persistent storage
- **Network** - Inter-service networking, isolation and routing plane for all internal request traffic
- **Proxy** - gRPC identity aware proxy used for remote access and any external grpc request traffic
- **Runtime** - Service lifecyle and process management with support for source to running auto build
- **Registry** - Centralised service discovery and API endpoint explorer with feature rich metadata
- **Store** - Key-Value storage with TTL expiry and persistent crud to keep microservices stateless

**Framework**

Micro additionaly now contains the incredibly popular Go Micro framework built in for service development.
The Go framework makes it drop dead simple to write your services without having to piece together lines and lines of boilerplate. Auto
configured and initialised by default, just import and get started quickly.

**Command Line**

Micro brings not only a rich architectural model but a command line experience tailored for that need. The command line interface includes
dynamic command mapping for all services running on the platform. Turns any service instantly into a CLI command along with flag parsing
for inputs. Includes support for multiple environments and namespaces, automatic refreshing of auth credentials, creating and running
services, status info and log streaming, plus much, much more.

**Environments**

Finally Micro bakes in the concept of `Environments` and multi-tenancy through `Namespaces`. Run your server locally for
development and in the cloud for staging and production, seamlessly switch between them using the CLI commands `micro env set [environment]`
and `micro user set [namespace]`.

## Source

[GitHub Repo](https://github.com/micro/micro)
Expand Down

0 comments on commit 5e8f54e

Please sign in to comment.