美文网首页
Go-micro总结篇

Go-micro总结篇

作者: 盈朔 | 来源:发表于2020-11-04 19:16 被阅读0次

一,原因:

学习研究go-micro已经有两三天了,在这里做个总结,有2点原因,第1点方便以后如果有一段时间没有用过micro导致几乎都忘了,那么这篇文章方便自己在很短的时间内重朔对micro的知识体系,第2个原因也算给自己一个交代,比较花了时间去研究了。接下来会从go-micro库,和micro工具两方面。

二,go-micro

介绍:go-micro可以理解为一个可以很快创建微服务器的第三方库,从可提供功能上分一下几点:

1,可提供开发服务端:这个服务端只能通过其他微服务通过rpc方式调用。当你看到用protoc工具生成的.micro.go文件的时候你会发现,主要包含2部分,第1部分接口是给调用方提供的,定义了作为客户端如何调用服务端。第2部分接口是服务端接口。通过实现接口,就可以实现服务端功能。大体上做server的流程如下。

1.1创建一个service实例(相当与micro整体对外的接口)。Micro.NewService

1.2初始化service实例。Service.init()

1.3实践自己的Handler逻辑。

1.4将自己实现的Handler和service绑定注册。

1.5 service运行。  service.run.

2,可提供开发web服务端:用micro做web服务端的优势在于可以在这个web服务端内部实现client接口,进而通过rpc方式调用其他用micro搭建的微服务。大体上创建的流程如下。

2.1创建一个webservice实例(可设置静态文件路由).

2.2初始化service

2.3注册自己的handler函数。

2.4 service启动运行。

3,可提供开发网关api: 其实就是对后面多个服务端起到一个聚合的作用,因为micro工具中网关就是基于go-micro开发的,初步看了一下micro中网关的源码大体设计流程如下。

第二部分micro工具

1,做api使用:上面也有介绍这个api工具就是基于go-micro写的,启动需要注意两个比较主要的参数,--namespace、 --handler.一个是命名空间,一个是api,rpc,event中那种方式。

2,做cli控制台使用:这个比较常用,主要提供一下功能。

2.1代替另一个微服务中的client端,调用call方法测试自己微服务。

2.2检查自己的微服务状态,例如服务列表,服务是否保活。

2.3可以把指定的微服务注册/撤销到另一个服务发现中。

3,做web UI使用:我的理解就是一个web界面的控制台。

4,proxy代理使用:不同的局域网是不能访问的,即使是各种局域网中的电脑能够访问外网。因为中间有所谓的nat技术。感觉这个proxy就是nat穿透技术的一种。

相关文章

网友评论

      本文标题:Go-micro总结篇

      本文链接:https://www.haomeiwen.com/subject/catnvktx.html