1. Go Micro 中文文档

此专栏文档转自taadis编写的https://learnku.com/docs/go-micro/2.x

此专栏文档为go-micro 2.x版本 1.x版本点击查看

Micro解决了在云内外构建分布式系统的关键要求。它利用微服务体系结构模式,并提供一组作为平台构建基块的服务. Micro 处理分布式系统的复杂性,并提供更简单的可编程抽象.

Go Micro文档2.x - 图1

技术在不断发展。基础结构堆栈总是在变化. Micro 是一个平台,它使用可插拔的基础和强定义的 api 来解决这些问题。可插入任何堆栈或云.

1.1.1. 特性

运行时由以下功能组成:

  • api: api 网关。使用服务发现具有动态请求路由的单个入口点. API 网关允许您在后端构建可扩展的微服务体系结构,并在前端合并公共 api. micro api 通过发现和可插拔处理程序提供强大的路由,为 http, grpc, Websocket, 发布事件等提供服务.
  • broker: 允许异步消息的消息代理。微服务是事件驱动的体系结构,应该作为一等公民提供消息传递。通知其他服务的事件,而无需担心响应.
  • network: 通过微网络服务构建多云网络。只需跨任何环境连接网络服务,创建单个平面网络即可全局路由. Micro 的网络根据每个数据中心中的本地注册表动态构建路由,确保根据本地设置路由查询.
  • new: 服务模板生成器。创建新的服务模板以快速入门. Micro 提供用于编写微服务的预定义模板。始终以相同的方式启动,构建相同的服务以提高工作效率.
  • proxy: 建立在 Go Micro 上的透明服务代理。将服务发现,负载平衡,容错,消息编码,中间件,监视等卸载到单个位置。独立运行它或与服务一起运行.
  • registry: 注册表提供服务发现以查找其他服务,存储功能丰富的元数据和终结点信息。它是一个服务资源管理器,允许您在运行时集中和动态地存储此信息.
  • store: 有状态是任何系统的必然需求。我们提供密钥值存储,提供简单的状态存储,可在服务之间共享或长期卸载 m 以保持微服务无状态和水平可扩展.
  • web: Web 仪表板允许您浏览服务,描述其终结点,请求和响应格式,甚至直接查询它们。仪表板还包括内置 CLI 的体验,适用于希望动态进入终端的开发人员.

此外,Micro 还提供了 Go 开发框架:

  • go-micro: 利用强大的 Go Micro 框架轻松,快速地开发微服务. Go Micro 抽象了分布式系统的复杂性,并提供了更简单的抽象来构建高度可扩展的微服务.

1.1.2. 开始

  • 框架 - 使用 go-micro框架开始编写服务.
  • 运行时 - 使用 micro 运行时管理您的服务.
  • 网络 - 在网络上 公开共享和托管您的服务.
  • 示例 - 通过实际代码示例示例来学习
  • 社区 - 加入社区并在slack 开始协作