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

     1  # Micro [![License](https://img.shields.io/:license-apache-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![GoDoc](https://godoc.org/github.com/tickoalcantara12/micro?status.svg)](https://godoc.org/github.com/tickoalcantara12/micro) [![Travis CI](https://travis-ci.org/micro/micro.svg?branch=master)](https://travis-ci.org/micro/micro) [![Go Report Card](https://goreportcard.com/badge/micro/micro)](https://goreportcard.com/report/github.com/tickoalcantara12/micro)
     2  
     3  Micro is a framework for distributed systems development in the Cloud and beyond.
     4  
     5  ## Overview
     6  
     7  Micro addresses the key requirements for building distributed systems. It leverages the microservices
     8  architecture pattern and provides a set of services which act as the building blocks of a platform. Micro deals
     9  with the complexity of distributed systems and provides simpler programmable abstractions to build on.
    10  
    11  ## Features
    12  
    13  The framework is composed of the following features:
    14  
    15  - **Server:** A distributed systems runtime server composed of building block services which abstract away the underlying infrastructure 
    16  and provide a programmable abstraction layer. Authentication, configuration, messaging, storage and more built in.
    17  
    18  - **Client:** Multiple entrypoints through which you can access your services. Write services once and access them through every means 
    19  you've already come to know. An API Gateway, gRPC proxy, slack bot, web dashboard and commmand line interface.
    20  
    21  - **Library:** A Go library which makes it drop dead simple to write your services without having to piece together lines and lines of 
    22  boilerplate. Auto configured and initialised by default, just import and get started quickly.
    23  
    24  - **Plugins:** Micro is runtime and infrastructure agnostic. Each underlying building block service uses the Go Micro standard library 
    25  to provide a pluggable foundation. We make it simple to use by pre-initialising of local use and the cloud.
    26  
    27  ## Install
    28  
    29  Install from source
    30  
    31  ```
    32  go get github.com/tickoalcantara12/micro/v2
    33  ```
    34  
    35  Using a docker image
    36  
    37  ```
    38  docker pull micro/micro
    39  ```
    40  
    41  Latest release binaries
    42  
    43  ```
    44  # MacOS
    45  curl -fsSL https://raw.githubusercontent.com/micro/micro/master/scripts/install.sh | /bin/bash
    46  
    47  # Linux
    48  wget -q  https://raw.githubusercontent.com/micro/micro/master/scripts/install.sh -O - | /bin/bash
    49  
    50  # Windows
    51  powershell -Command "iwr -useb https://raw.githubusercontent.com/micro/micro/master/scripts/install.ps1 | iex"
    52  ```
    53  
    54  ## Getting Started
    55  
    56  Run the server locally
    57  
    58  ```
    59  micro server
    60  ```
    61  
    62  Create a service
    63  
    64  ```
    65  # generate a service (follow instructions in output)
    66  micro new helloworld
    67  
    68  # set to use server
    69  micro env set server
    70  
    71  # run the service
    72  micro run helloworld
    73  
    74  # list services
    75  micro services
    76  
    77  # call a service
    78  micro call helloworld Helloworld.Call '{"name": "John"}'
    79  ```
    80  
    81  ## Usage
    82  
    83  See all the options
    84  
    85  ```
    86  micro --help
    87  ```
    88  
    89  See the [docs](https://github.com/micro/docs) for detailed information on the architecture, installation and use of the platform.
    90  
    91  ## License
    92  
    93  Micro is Apache 2.0 Licensed
    94