思考(六十九):一种基于消息总线的功能可插拔的服务器架构

架构图

 +--------------------+           +----------------+             +----------------+
 |                    |           |     NODE 1     |             |     NODE 2     |
 | TOPIC ROUTE INFO   |           |                |             |                |
 |                    |           | TOPIC LOGIN    |             | TOPIC LOGIN    |
 |  LOGIN 1* - NODE1  |           |                |             | TOPIC CHAT     |
 |  LOGIN 5* - NODE2  +<----+     |                |             | TOPIC GAME     |
 |                    |     |     |                |             |                |
 |  ...               |     |     |                |             |                |
 |                    |     |     |                |             |                |
 +--------------------+     |     |                |             |                |
 +--------------------+     |     |      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Go-Micro 是一个基于微服务库的可插拔 RPC,为编写分布式应用程序提供基本构件。它是 Micro 工具包的一部分,支持 Proto-RPC 和 JSON-RPC 的请求/响应协议,默认设置Consul为探索。示例服务可以在 examples/service 找到。特征特征包内置插件描述DiscoveryRegistryconsul用来沟通的一种定位服务方式ClientClientrpc用来将RPC请求变成服务CodecCodecproto,json对请求进行编码/解码处理BalancerSelectorrandom服务节点过滤和池ServerServerrpc监听和服务器的RPC请求Pub/SubBrokerhttp发布和订阅事件TransportTransporthttp服务之间的通信机制示例服务项目描述greetergreeter 服务(包括 Go、Ruby、Python )geo-srv使用 hailocab/go-geoindex 进行地理位置跟踪服务geo-api为地理位置跟踪和搜索提供的 HTTP API 处理程序geocode-srv使用 Google Geocoding API 提供地理编码服务hailo-srv一种用于hailo出租车服务开发者的api服务place-srv存储和检索地点的微服务slack-srv将Slack机器人的API当成一个go-micro 的RPC服务twitter-srv一种用于Twitter的API微服务user-srv一种为用户管理和认证提供的微服务入门这是一个以 greeter 服务为例的快速入门指南。必备条件我们需要一个服务发现机制来解决服务的名称到地址的映射,默认设置Consul为探索。Discovery是可插拔的,你可以使用 kubernetes, zookeeper 等。我们的实践可以在 go-plugins 上找到。安装Consulhttps://www.consul.io/intro/getting-started/install.html运行Consul$ consul agent -dev -advertise=127.0.0.1运行服务$ go run examples/service/main.go 2016/03/14 10:59:14 Listening on [::]:50137 2016/03/14 10:59:14 Broker Listening on [::]:50138 2016/03/14 10:59:14 Registering node: greeter-ca62b017-e9d3-11e5-9bbb-68a86d0d36b6测试服务$ go run examples/service/main.go --client Hello John 标签:gomicro

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值