当前位置: 首页 > 软件库 > 程序开发 > 微服务框架 >

go-micro

基于微服务库的可插拔 RPC
授权协议 Polyform Shield
开发语言 Google Go
所属分类 程序开发、 微服务框架
软件类型 开源软件
地区 不详
投 递 者 拓拔坚
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Go-Micro 是一个基于微服务库的可插拔 RPC,为编写分布式应用程序提供基本构件。它是 Micro 工具包的一部分,支持 Proto-RPC 和 JSON-RPC 的请求/响应协议,默认设置 Consul 为探索。

示例服务可以在 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
  • 前言 不管是单个服务还是微服务,读取文件在每个项目系统中是必不可少的部分。 大多数项目中都是静态加载项目配置文件的,有时候可能需要从各种源中读取配置数据,这让配置读取复杂化,不易于快速开发。而go-micro中,不管是从动态读取配置,还是从多元读取配置都很简单,唯一难点就是需要读取源码来了解他的工作机制。 Go-Micro支持多种源的读取,包括命令行参数、文件(json、yaml)、etcd、co

  • go-micro在微服务框架中提供了开箱即用的灵活接口,但是官方文档以及版本过于混乱,导致很难上手,初次使用很多调用都需要去阅读源码才能使用,微服务之间最核心的功能就是接口调用,当你使用go-micro的微服务去调用另一个go-micro的微服务时,使用起来简单,但是如果跨语言呢,grpc是没有语言限制的,假设你用go-micro实现了一个微服务,使用java作为客户端去调用呢?本教程主要记录go

  • 由于 Micro3.0直接放弃维护 go-micro,所以网上很多文章都是已经过时的了。那些安装方法根本装不上了。此贴主要根据官方文档进行摸索,感觉官方文档似乎也没来得及更新,所以部分操作也没能成功。就只记录一下自己成功的操作和遇到的问题。 依赖 我们需要protoc-gen-micro来生成代码 protobuf protoc-gen-go protoc-gen-micro #Download

  • 1.micro简介 Micro由开源的库与工具组成,旨在辅助微服务开发。 go-micro - 基于Go语言的可插拔RPC微服务开发框架;包含服务发现、RPC客户/服务端、广播/订阅机制等等。 go-plugins - go-micro的插件有etcd、kubernetes、nats、rabbitmq、grpc等等。 micro - 微服务工具集包含传统的入口点(entry point);API

  • 安装gin go get -u github.com/gin-gonic/gin 安装go-micro v3 先安装依赖 go get -u github.com/golang/protobuf/proto go get -u github.com/golang/protobuf/protoc-gen-go //安装asim/go-micro 这个是go micro 3.0 框架 go g

  • 一、 在线安装 #安装 go-micro go get -u -v github.com/micro/go-micro #安装工具 go get -u -v github.com/micro/micro #安装protobuf插件  go get -u  github.com/golang/protobuf/{proto,protoc-gen-go} go get -u github.com/mi

 相关资料
  • web.xml模块 使用上述定义的注解,使得 web.xml 的使用变为可选。然而,对于覆盖默认值或使用注解设置的值,仍然需要使用部署描述符。如前所述,如果 web.xml 描述符中的 metadata-complete 元素设置为 true,则存在于 class 文件和绑定在 jar 包中的 web-fragments 中的指定部署信息的注解将不被处理。这意味着,所有应用的元数据通过 web.x

  • 背景 在 Apache ShardingSphere 中,很多功能实现类的加载方式是通过 SPI(Service Provider Interface) 注入的方式完成的。 SPI 是一种为了被第三方实现或扩展的 API,它可以用于实现框架扩展或组件替换。 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔内核,以叠加的方式将各种功能组合使用。 设计一

  • 本文向大家介绍PHP基于反射机制实现插件的可插拔设计详解,包括了PHP基于反射机制实现插件的可插拔设计详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于反射机制实现插件的可插拔设计。分享给大家供大家参考,具体如下: 说PHP和ASP等同的朋友们可以就此打住了,PHP支持反射,而且还是非常的强大。好了,我们开始今天的话题。 功能描述: 页面拥有一个主导航菜单,里头有默认连接若干。

  • 如果发生任何问题,大多数开发人员都难以跟踪日志。 这可以通过用于Spring Boot应用程序的Spring Cloud Sleuth和ZipKin服务器来解决。 春云侦探 Spring cloud Sleuth日志以下列格式打印 - [application-name,traceid,spanid,zipkin-export] Where, Application-name =应用程序的名称

  • ServletContainerInitializer 和编程式注册特性可以在 Servlet 和JSP 容器之间提供一个清晰的职责分离,通过由 Servlet 容器只负责解析 web.xml 和 web-fragment.xml 资源,而解析标签库描述符(TLD)资源委托给 JSP 容器。 在此之前,web 容器必须扫描 TLD 资源寻找任何 Listener 声明。使用Servlet 3.0

  • 在 web 应用中,使用注解的类仅当它们位于 WEB-INF/classes 目录中,或它们被打包到位于应用的 WEB-INF/lib 中的 jar 文件中时它们的注解才将被处理。 Web 应用部署描述符的 web-app 元素包含一个新的 “metadata-complete” 属性。“metadata-complete”属性定义了 web 描述符是否是完整的,或是否应该在部署时检查 jar 包