github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/docs/v2/framework/architecture.md (about)

     1  ---
     2  title: Architecture
     3  keywords: architecture
     4  tags: [architecture]
     5  sidebar: home_sidebar
     6  summary: 
     7  ---
     8  
     9  Micro provides the fundamental building blocks for microservices. It's goal is to simplify distributed systems development. Because microservices is an architecture pattern, Micro looks to logically separate responsibility through tooling. 
    10  
    11  Check out the blog post on architecture [https://micro.dev/blog/2016/04/18/micro-architecture.html](https://micro.dev/blog/2016/04/18/micro-architecture.html) for a detailed 
    12  overview.
    13  
    14  This section should explain more about how micro is constructed and how the various libraries/repos relate to each other.
    15  
    16  ## Runtime
    17  
    18  ### API
    19  
    20  The API acts as a gateway or proxy to enable a single entry point for accessing micro services. It should be run on the edge of your infrastructure. It converts HTTP requests to RPC and forwards to the appropriate service.
    21  
    22  <p align="center">
    23    <img src="images/api.png" />
    24  </p>
    25  
    26  ### Web
    27  
    28  The UI is a web version of go-micro allowing visual interaction into an environmet. In the future it will be a way of aggregating micro web services also. It includes a way to proxy to web apps. /[name] will route to a a service in the registry. The Web UI adds Prefix of "go.micro.web." (which can be configured) to the name, looks 
    29  it up in the registry and then reverse proxies to it.
    30  
    31  <p align="center">
    32    <img src="images/web.png" />
    33  </p>
    34  
    35  ### Proxy
    36  
    37  The proxy is a cli proxy for remote environments.
    38  
    39  <p align="center">
    40    <img src="images/car.png" />
    41  </p>
    42  
    43  ### Bot
    44  
    45  Bot A Hubot style bot that sits inside your microservices platform and can be interacted with via Slack, HipChat, XMPP, etc. It provides the features of the CLI via messaging. Additional commands can be added to automate common ops tasks.
    46  
    47  <p align="center">
    48    <img src="images/bot.png" />
    49  </p>
    50  
    51  ### CLI
    52  
    53  The Micro CLI is a command line version of go-micro which provides a way of observing and interacting with a running environment.
    54  
    55  ## Plugins
    56  
    57  Plugins are a way of adding additional functionality to the runtime. See the [overview](runtime-plugins.html).
    58