go-micro 基于微服务库的可插拔 RPC开源项目

我要开发同款
匿名用户2016年03月22日
57阅读
所属分类Google Go、程序开发、微服务框架
授权协议Polyform Shield

作品详情

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为地理位置跟踪和搜索提供的HTTPAPI处理程序geocode-srv使用 GoogleGeocoding 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上找到。

安装Consul

https://www.consul.io/intro/getting-started/install.html

运行Consul

$ consul agent -dev -advertise=127.0.0.1

运行服务

$ go run examples/service/main.go2016/03/14 10:59:14 Listening on [::]:501372016/03/14 10:59:14 Broker Listening on [::]:501382016/03/14 10:59:14 Registering node: greeter-ca62b017-e9d3-11e5-9bbb-68a86d0d36b6

测试服务

$ go run examples/service/main.go --clientHello John
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论