Micro_SideCar HTTP接口 Micro_SideCar

blov2016-03-21 16:00:00 • 4139 次点击    
这是一个分享于 2016-03-21 16:00:00 的项目,其中的信息可能已经有所发展或是发生改变。

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

image

A microservices platform Read More

Latest commit to the master branch on 3-22-2025
Download as zip
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
4139 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传