介绍微服务框架Micro笔记

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介绍了基本使用

micro/examples/greeter完整实例

Sidecar

其功能是把其它语言实现的服务也纳入到Micro

ruby or python 示例在micro/examples/greeter

API

Web UI

CLI

命令行模式:查询服务

完整流程

完整流程

完整流程图

Demo

running Micro On Kubernetes

github.com/micro/kubernetes

总结

posted @ 2017-05-04 11:00  Joyedong  阅读(1182)  评论(0编辑  收藏  举报