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