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

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

示例服务可以在 examples/service 找到。

特征

特征

内置插件

描述

Discovery

Registry

consul

用来沟通的一种 定位服务 方式

Client

Client

rpc

用来将RPC请求变成服务

Codec

Codec

proto,json

对请求进行 编码/解码处理

Balancer

Selector

random

服务节点过滤和池

Server

Server

rpc

监听和服务器的RPC请求

Pub/Sub

Broker

http

发布和订阅事件

Transport

Transport

http

服务之间的通信机制

### 示例服务

项目

描述

greeter

greeter 服务(包括 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

A Go microservices frameworkRead More

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