美文网首页Go - Micro微服务
Go - Micro微服务框架实践 - Web、Proxy、CL

Go - Micro微服务框架实践 - Web、Proxy、CL

作者: 承诺一时的华丽 | 来源:发表于2018-12-24 16:59 被阅读144次

    一、Web

    Micro Web提供了一个可视化和探索服务的仪表板

    安装

    go get github.com/micro/micro
    

    运行

    micro web
    

    浏览器访问: localhost:8082

    使用ACME

    微型Web仪表板通过Let's Encrypt支持ACME。它会自动获取您域的TLS证书。

    micro --enable_acme web
    

    (可选)指定主机白名单

    micro --enable_acme --acme_hosts=example.com,api.example.com web
    

    设置TLS证书

    仪表板支持使用TLS证书安全地提供服务

    micro --enable_tls --tls_cert_file=/path/to/cert --tls_key_file=/path/to/key web
    

    截图

    image image image image

    二、Proxy

    micro proxy

    所述micro proxy是一个CLI代理。

    micro proxy提供了一个http api,它用作cli的代理,其中环境不能直接访问。

    入门

    用法

    安装

    go get -u github.com/micro/micro
    

    依赖

    代理使用go-micro,这意味着它依赖于服务发现。

    安装consul

    brew install consul
    consul agent -dev
    

    运行

    默认情况下,micro proxy在端口8081上运行。

    启动代理

    micro proxy
    

    ACME

    默认使用ACME通过letsencrypt安全地服务

    MICRO_ENABLE_ACME=true micro proxy
    

    (可选)指定主机白名单

    MICRO_ENABLE_ACME=true MICRO_ACME_HOSTS=example.com,api.example.com micro proxy 
    

    proxy-cli

    要在CLI中使用代理,请指定其地址

    MICRO_PROXY_ADDRESS=127.0.0.1:8081 micro list services
    
    MICRO_PROXY_ADDRESS=127.0.0.1:8081 micro call greeter Say.Hello '{"name": "john"}'
    

    三、CLI

    micro cli

    所述micro cli是用于微工具包命令行界面

    入门

    安装

    go get github.com/micro/micro
    

    交换模式

    将cli用作交互式提示

    micro cli
    

    micro在交互模式下从以下命令中删除

    示例用法

    列出服务

    micro list services
    

    获得服务

    micro get service go.micro.srv.example
    

    输出

    go.micro.srv.example
    
    go.micro.srv.example-fccbb6fb-0301-11e5-9f1f-68a86d0d36b6   [::]    62421
    

    呼叫服务

    micro call go.micro.srv.example Example.Call '{"name": "John"}'
    

    输出

    {
        "msg": "go.micro.srv.example-fccbb6fb-0301-11e5-9f1f-68a86d0d36b6: Hello John"
    }
    

    服务健康

    micro health go.micro.srv.example
    

    输出

    node        address:port        status
    go.micro.srv.example-fccbb6fb-0301-11e5-9f1f-68a86d0d36b6       [::]:62421      ok
    

    注册/注销

    micro register service '{"name": "foo", "version": "bar", "nodes": [{"id": "foo-1", "address": "127.0.0.1", "port": 8080}]}'
    
    micro deregister service '{"name": "foo", "version": "bar", "nodes": [{"id": "foo-1", "address": "127.0.0.1", "port": 8080}]}'
    

    代理远程环境

    使用的代理远程环境 micro proxy

    在针对远程环境进行开发时,您可能无法直接访问服务发现,从而难以使用CLI。在micro proxy提供了这样的场景HTTP代理。

    在远程环境中运行代理

    micro proxy
    

    设置env var MICRO_PROXY_ADDRESS以便cli知道使用代理

    MICRO_PROXY_ADDRESS=staging.micro.mu:8081 micro list services
    

    用法

    NAME:
       micro - A cloud-native toolkit
    
    USAGE:
       micro [global options] command [command options] [arguments...]
    
    VERSION:
       0.8.0
    
    COMMANDS:
        api     Run the micro API
        bot     Run the micro bot
        registry    Query registry
        call    Call a service or function
        query   Deprecated: Use call instead
        stream  Create a service or function stream
        health  Query the health of a service
        stats   Query the stats of a service
        list    List items in registry
        register    Register an item in the registry
        deregister  Deregister an item in the registry
        get     Get item from registry
        proxy   Run the micro proxy
        new     Create a new micro service by specifying a directory path relative to your $GOPATH
        web     Run the micro web app
    

    相关文章

      网友评论

        本文标题:Go - Micro微服务框架实践 - Web、Proxy、CL

        本文链接:https://www.haomeiwen.com/subject/weuzkqtx.html