HTTP接口 Micro_SideCar

码农软件 · 软件分类 · 其他开发相关 · 2019-10-18 15:27:21

软件介绍

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


本文地址:https://codercto.com/soft/d/17034.html

精益数据分析

精益数据分析

[加] 阿利斯泰尔·克罗尔、[加] 本杰明·尤科维奇 / 韩知白、王鹤达 / 人民邮电出版社 / 2014-12 / 79.00元

本书展示了如何验证自己的设想、找到真正的客户、打造能赚钱的产品,以及提升企业知名度。30多个案例分析,全球100多位知名企业家的真知灼见,为你呈现来之不易、经过实践检验的创业心得和宝贵经验,值得每位创业家和企业家一读。 深入理解精益创业、数据分析基础,和数据驱动的思维模式 如何将六个典型的商业模式应用到各种规模的新企业 找到你的第一关键指标 确定底线,找到出发点 在大......一起来看看 《精益数据分析》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具