GO 微服务GO-Micro -(4)Micro和GO-Micro

Micro的介绍

1.介绍

来自官方文档的介绍(手打主要是为了方便自己理解)

  • Micro 构建为开源库和工具,以帮助微服务开发.
  • 解决云内外构建分布式系统提供支持。
  • 利用微服务结构模式,提供一组作为平台构建即可的服务
  • 提供简单的可编程的抽象

2.组成

GO-Micro 官网信息介绍

来自官方文档的介绍(手打主要是为了方便自己理解)

1.介绍

  • go语言的插件化的基础微服务框架
  • 提升开发效率
  • 提供一套微服务的架构,部分微服务工具的集合

2.特性描述

  • 服务注册/发现,远程过程调用,发布订阅
  • 消息编码,消息解码,并默认支持json以及protobuf
  • 基于rpc的请求响应
  • 异步的消息通讯
  • 通过包装器扩展功能,接口可插拔,可以扩展自己的组件,如服务发现、身份校验、配置管理等
  • 带超时,重试和负载平衡的容错

3.架构三层设计

架构图

设计主要介绍:

  • Micro Runtime - 微服务运行时

可以理解为,应用层通过些基于微服务应用的组件,我们也可以根据业务需要选择应用组件,例如:api网关负责将微服务接口暴露到公网中,web应用,处理一些网页应用。

  • Mico Service - 服务层

我们的提供各自业务微服务的逻辑服务等。

  • cloud provider -云平台提供者

提供和云厂商基础服务的对接能力

4. Go Mirco 核心模块设计解析

  • 框架 - 使用 go-micro 编写微服务的 Go 框架;服务发现,远程过程调用,发布 / 订阅等.
  • **插件 ** - 框架和运行时的插件,包括 etcd, kubernets, nats, grpc, 等.

5 . Micro 运行时功能组成:

工具包集
运行时 - 使用 micro 微服务运行时环境;API 网关,cli, slackbot, service proxy, 等.
  • Go Micro:用于在Go中编写微服务的插件式RPC框架。它提供了用于服务发现,客户端负载平衡,编码,同步和异步通信库。

  • API: api 网关。使用服务发现具有动态请求路由的单个入口点. API 网关允许您在后端构建可扩展的微服务体系结构,并在前端合并公共 api. micro api 通过发现和可插拔处理程序提供强大的路由,为 http, grpc, Websocket, 发布事件等提供服务. 通俗的说法:主要负责提供将HTTP请求路由到相应微服务的API网关。它充当单个入口点,可以用作反向代理或将HTTP请求转换为RPC。

  • Sidecar:一种对语言透明的RPC代理,具有go-micro作为HTTP端点的所有功能。虽然Go是构建微服务的伟大语言,但您也可能希望使用其他语言,因此Sidecar提供了一种将其他应用程序集成到Micro世界的方法。

  • CLI:一个直接的命令行界面来与你的微服务进行交互。它还使您可以利用Sidecar作为代理,您可能不想直接连接到服务注册表。

  • Bot :Hubot风格的bot,位于您的微服务平台中,可以通过Slack,HipChat,XMPP等进行交互。它通过消息传递提供CLI的功能。可以添加其他命令来自动执行常见的操作任务。

  • Web:用于Micro Web应用程序的仪表板和反向代理。我们认为应该基于微服务建立web应用,因此被视为微服务领域的一等公民。它的行为非常像API反向代理,但也包括对web sockets的支持。

总结说明:

Micro Runtime 实现了一些微服务系统常用的应用组件,常用的组件说明。

1.API Gateway
api网关,统一的Http api入口,可以将我们的微服务接口暴露到公网中。

2.Interactive CLI
Go Micro微服务的命令行工具,可以用来查询服务,调用服务接口等等。

3.Web Dashboard
Go Micro微服务web后台,可以用来查询我们正在运行的微服务状态信息。

=======================


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

————————————————转载自
原文作者:taadis
转自链接:https://learnku.com/docs/go-micro/2.x/introduce/8455

6.特性详解说明

  • Registry:主要负责服务注册和发现功能。如结合consul来实现服务发现。

  • Selector:selector主要的作用是实现服务的负载。流程是:某个客户端发起请求时---》首先查询服务注册表--》返回当前系统中可用服务临时表,这个临时表是会定时的刷新的,,然后从临时表中选择其中一个节点进行查询,保证节点可用。

  • Broker:Broker是go-micro框架中事件发布和订阅的接口,主要是使用用消息队列的方式实现服务之间的信息的接收和发布,或进行系统间的异步通讯。

  • Codec:go-micro中数据传输过程中的编码和解码接口。go-micro中有多重编码方式,默认的实现方式是protobuf,除此之外,还有json等格式。

  • Transport:go-micro框架中的通信接口,有很多的实现方案可以选择,默认使用的是http形式的通信方式,除此以外,还有grpc等通信方式。

  • Client和Server:分别是go-micro中的客户端接口和服务端接口。client负责调用,server负责等待请求处理。

======================

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容