介紹微服務框架Micro筆記

Micro - 微服務開發套件

原文地址html

目前,你應該據說過了一個新概念-微服務; 若是你不熟悉而又對微服務感興趣,能夠來這裏查看更多的介紹;python

本文將介紹開源的微服務開發套件-Micro; Micro提供了開發與管理微服務的基礎組件。Micro主要爲使用Go語言的開發者提供了一系列庫與工具。其它編程語言使用Sidecar經過HTTP協議與Micro交互。git

在開始討論Micro的細節以前,咱們先來看看爲何要選擇Micro。github

開發與部署

從過去的經驗與行業狀況來看,與部署相比,你們更關注開發。PaaS使用很便利。Google、AWS和Microsoft也提供了強大的雲平臺,同時容器技術也獲得了極大的發展。這些平臺使得的咱們經過點擊幾個按鈕就能使用大規模運算。web

這些雲服務讓人們眼前一亮。或許大家會認爲這些服務已經足夠解決遇到的問題,但實際是這樣嗎?當咱們面對雲的時候,每每沒有合適的工具幫助咱們去利用雲資源。處此以外,當服務需求變動或者服務器運行故障時,容器技術也是不可靠的。編程

集羣面臨的挑戰

未完成api

Micro的世界

Micro包含開發微服務基礎鏈:開發工具、服務和微服務管理工具。這個生態鏈工具的名稱也叫Micro。Micro工具是微服務開發套件,包含的自動生成工具大大的增長了開發的效率。ruby

如今咱們來看看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

總結

相關文章
相關標籤/搜索