1,go_micro介绍
1.1,什么是Micro
Micro是一个微服务生态系统,致力于提供产品,服务和解决方案,以实现现代软件驱动型企业的创新。我们计划成为任何与微服务相关的事实资源,并期待公司能够利用这项技术为自己的业务。从早期的原型开始一直到大规模的生产部署。
1.2,什么是go_micro
Go Micro是一个插件化的基础框架,基于此可以构建微服务,Micro的设计哲学是可插拔的插件化架构
在架构之外,它默认实现了consul作为服务发现(2019年源码修改了默认使用mdns),通过http进行通信,通过protobuf和json进行编解码
Micro 是一个用于构建和管理分布式系统的系统.
Micro 的主要组件如下:
运行时: 用于管理服务包括 auth, config, discovery, networking 的运行时环境.
框架: 用于编写要在运行时运行的服务的 Go 框架.
客户端: 多语言客户端, 使其他程序能够访问微服
1.3,go-micro的主要功能
1.服务发现:自动服务注册和名称解析。服务发现是微服务开发的核心。当服务A需要与服务B通话时,它需要该服务的位置。默认发现机制是多播DNS(mdns),一种零配置系统。您可以选择使用SWIM协议为p2p网络设置八卦,或者为弹性云原生设置设置consul
2,负载均衡:基于服务发现构建的客户端负载均衡。一旦我们获得了服务的任意数量实例的地址,我们现在需要一种方法来决定要路由到哪个节点。我们使用随机散列负载均衡来提供跨服务的均匀分布,并在出现问题时重试不同的节点
3,消息编码:基于内容类型的动态消息编码。客户端和服务器将使用编解码器和内容类型为您无缝编码和解码Go类型。可以编码任何种类的消息并从不同的客户端发送。客户端和服务器默认处理此问题。这包括默认的protobuf和json
4,请求/响应:基于RPC的请求/响应,支持双向流。我们提供了同步通信的抽象。对服务的请求将自动解决,负载平衡,拨号和流式传输。启用tls时,默认传输为http / 1.1或http2
Async Messaging:PubSub是异步通信和事件驱动架构的一流公民。事件通知是微服务开发的核心模式。启用tls时,默认消息传递是点对点http / 1.1或http2
1.5 安装go_micro
go get github.com/micro/go-micro/v2
2,安装consul
2.1 consul的安装步骤
首先进入consul官网下载相应版本(我这里是默认下载当前版本)
可以下载自己想要的版本,如下图
选择相应版本即可
下载后安装到本地的D:/tools/consul文件夹下
直接在D:/tools/consul文件夹输入cmd回车,打开cmd,输入consul即可安装完成
此时输入consul -v即可查看consul相应的版本
给consul配置环境变量方便直接启用cmd,步骤如下图:
2.2 consul的启动方法
consul agent -dev 默认启动本地127.0.0.1:8500
在浏览器中查看出现如下图则启动成功