Micro - 微服务开发套件
目前,你应该听说过了一个新概念-微服务; 如果你不熟悉而又对微服务感兴趣,可以来这里查看更多的介绍;
本文将介绍开源的微服务开发套件-Micro; Micro提供了开发与管理微服务的基础组件。Micro主要为使用Go语言的开发者提供了一系列库与工具。其它编程语言使用Sidecar通过HTTP协议与Micro交互。
在开始讨论Micro的细节之前,我们先来看看为什么要选择Micro。
开发与部署
从过去的经验与行业情况来看,与部署相比,大家更关注开发。PaaS使用很便利。Google、AWS和Microsoft也提供了强大的云平台,同时容器技术也得到了极大的发展。这些平台使得的我们通过点击几个按钮就能使用大规模运算。
这些云服务让人们眼前一亮。或许你们会认为这些服务已经足够解决遇到的问题,但实际是这样吗?当我们面对云的时候,往往没有合适的工具帮助我们去利用云资源。处此之外,当服务需求变更或者服务器运行故障时,容器技术也是不可靠的。
集群面临的挑战
未完成
Micro的世界
Micro包含开发微服务基础链:开发工具、服务和微服务管理工具。这个生态链工具的名称也叫Micro。Micro工具是微服务开发套件,包含的自动生成工具大大的增加了开发的效率。
现在我们来看看Micro的特点。
Go Micro
组件和功能:
- Registry :服务注册
- Transport :同步通信
- Broker :异步通信
- Selector :节点筛选与负载均衡
- Codec :消息编码与解码
- Server :RPC服务端
- Client : RPC客户端
go-micro跟区别于其它库的最大特点在于它的插件化;
readme介绍了基本使用
Sidecar
其功能是把其它语言实现的服务也纳入到Micro
ruby or python 示例在micro/examples/greeter
API
Web UI
CLI
命令行模式:查询服务
完整流程
完整流程
Demo
running Micro On Kubernetes