基于微服务库的可插拔RPC go-micro

apache
Google Go 查看源码»
跨平台
2016-03-22
花仲马

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 上找到。

安装Consul

https://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
的码云指数为
超过 的项目
加载中

评论(2)

loglay123
loglay123
“测试服务”命令错了吧,应该是"go run main.go --run_client"
L11758207
L11758207
点击链接加入群【go-micro微服务群】:https://jq.qq.com/?_wv=1027&k=48ZKdH9

暂无资讯

暂无问答

微信小程序倒计时组件

适用于电商应用的限时团购、商品秒杀等

2016/10/06 19:04
1K
0
go-micro中文资料

[一、Micro - 微服务生态系统](http://btfak.com/%E5%BE%AE%E6%9C%8D%E5%8A%A1/2016/03/17/introduction/) [二、Micro - 微服务工具箱](http://btfak.com/%E5%BE%AE%E6%9C%8D%E5%8A%A1/2016...

2018/06/04 11:16
96
0
.Net Micro Framework 快速入门

Microsoft .NET Micro Framework 将 .NET 的可靠性和效率与 Visual Studio的高生产率结合起来,以针对价格较低、资源受限的小型设备开发应用程序,可帮助人们使用熟悉的 Visual Studio 工具来...

2014/05/27 10:29
132
0
解决CrossOver下TM2013的中文乱码问题

主要有两个步骤组成。 ## 调Locale设置 就一句话: 记得将Locale调成中文`zh_CN.UTF-8`!!! 使用英文的Locale, TM 2013的输入字体区会使用英文字体,而英文字体无法显示中文,就会变成”口...

2016/11/13 10:05
639
0
Golang 微服务 - 04 编写服务 & 上传Github

创建Github Repository 登录Github,创建一个Repository,取名go-micro-demo 首次提交,参照如下命令(使用 Git Bash Here) mkdir -p /c/gitrepo/go-micro-demo cd /c/gitrepo/go-micro-dem...

2018/10/14 18:50
52
0
MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]

MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]: 基础训练题: Q1:摇晃micro:bit编程板,随机出现7个小动物图标中的一个,并且前后相邻两次出现的小动物不重复。 注:七个小动物...

2018/07/16 18:07
73
0
面向对象开发方式的开源硬件--.NET Gadgeteer

微软推出了一个开源软件和开源硬件平台.NET Gadgeteer,但兼容.NET Gadgeteer的硬件价格不菲。  .NET Gadgeteer是一套用于创造不同用途的小型电子设备的开源工具集,使用.NET Micro Framew...

2014/05/27 15:47
134
0
香蕉派与MOTO的PC坞站的融合

一、材料准备 Q:坞站是什么? A:它其实就是一台缺少CPU、内存、硬盘的的笔记本,仅有11.6寸屏幕(1366x768分辨率)、键盘和电池。显示器接收的是HDMI线传输过来的信号,而MicroUSB接口连接...

2014/05/16 14:05
405
0
Golang 微服务 - 02 入门微服务框架 go-micro

安装 安装 go-micro,使用 Git Bash Here,输入如下命令 cd $GOPATH/src go get -u github.com/micro/go-micro 此过程中会安装 mdns 等 实操 下面以 micro/go-micro 首页中的 Greeter 例子出...

2018/09/15 22:04
182
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部