SEARU.ORG
当前位置:SEARU.ORG > Linux 软件 > 正文

HTTP接口 Micro_SideCar

Micro SideCar

SideCar提供了一个集成应用程序到微型生态系统的HTTP接口

它类似于Netflix称为Prana的SideCar。

特性

  • 登记发现系统

  • 主机其他服务发现

  • 健康检查服务

  • HTTP API和负载平衡要求

  • 通过PubSub的的WebSockets

入门

安装

go get github.com/micro/micro

运行

micro sidecar默认在端口8081运行

开始sidecar

micro sidecar

如果你想在启动程序自动登记一个应用程序可以选择指定的应用程序服务器名称和地址。

micro sidecar --server_name=foo --server_address=127.0.0.1:9090

服务安全TLS

Sidecar支持TLS证书的安全服务

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

主机发现

curl http://127.0.0.1:8081/registry?service=go.micro.srv.example
{
    "name":"go.micro.srv.example",   
    "nodes":[{
         "id":"go.micro.srv.example-c5718d29-da2a-11e4-be11-68a86d0d36b6",  
         "address":"[::]","port":60728
    }]
}

注册/注销服务

注册

curl -H 'Content-Type: application/json' http://127.0.0.1:8081/registry -d 
{
    "Name": "foo.bar", 
    "Nodes": [{
        "Port": 9091, 
        "Address": "127.0.0.1",    
        "Id": "foo.bar-017da09a-734f-11e5-8136-68a86d0d36b6"
    }]
}

注销

curl -X "DELETE" -H 'Content-Type: application/json' http://127.0.0.1:8081/registry -d 
{
    "Name": "foo.bar", 
    "Nodes": [{       
        "Port": 9091,       
        "Address": "127.0.0.1",      
        "Id": "foo.bar-017da09a-734f-11e5-8136-68a86d0d36b6"
    }]
}

健康检查

利用“–healthcheck_url=”启用micro sidecar使得健康检查工作

$ micro sidecar --server_name=foo --server_address=127.0.0.1:9090 \
    --healthcheck_url=http://127.0.0.1:9090/_status/health
I0523 12:25:36.229536   85658 car.go:184] Registering foo-6ebf29c0-013e-11e5-b55f-68a86d0d36b6
I0523 12:25:36.241680   85658 car.go:188] Starting sidecar healthchecker

HTTP RPC API

通过http rpc api查询micro服务。

$ curl  -d 'service=go.micro.srv.example' \
    -d 'method=Example.Call' \
    -d 'request={"name": "John"}' http://127.0.0.1:8081/rpc
{"msg":"go.micro.srv.example-c5718d29-da2a-11e4-be11-68a86d0d36b6: Hello John"}

通过WebSockets的PubSub

通过WebSocket的接口连接到micro的Pub/Sub

c, _, _ := websocket.DefaultDialer.Dial("ws://127.0.0.1:8081/broker?topic=foo", make(http.Header))
go func() {   
    for {       
       _, p, err := c.ReadMessage()        
       if err != nil {           
           return
       }       
       var msg *broker.Message
       json.Unmarshal(p, &msg)
       fmt.Println(msg.Data)
   }
}()
ticker := time.NewTicker(time.Second)
for _ = range ticker.C {   
    if err := c.WriteMessage(1, []byte(`hello world`)); err != nil {       
        return
    }
}

代理CLI请求

sidecar还充当CLI代理

$ micro --proxy_address=127.0.0.1:8081 list services
go.micro.srv.greeter

统计仪表板

您可以通过–enable_stats旗子启动统计仪表板。它将在/统计中显示出来。

micro --enable_stats sidecar

未经允许不得转载:SEARU.ORG » HTTP接口 Micro_SideCar

赞 (0)
分享到:更多 ()

评论 0