一起玩轉微服務(4)——如何實施微服務

一、如何實施微服務

微服務是一種架構的理念,提出了微服務的設計原則,從理論為具體的技術落地提供了指導思想。
實施微服務需要具備以下條件:

  • 計算和存儲資源能否快速的分配
  • 是否具備快速部署的能力,因為微服務每個服務都比較微小,所以不管是測試環境還是生產環境都需要快速部署的能力
  • 基本的監控,包括CPU、內存、網絡等
  • 標準化的RPC

Spring Boot 是一套快速配置腳手架,可以基於 Spring Boot 快速開發單個微服務。
Spring Cloud 是一個基於 Spring Boot 實現的服務治理工具包;Spring Boot 專註於快速、方便集成的單個微服務個體;Spring Cloud 關注全局的服務治理框架。
Spring Boot / Cloud 是微服務實踐的最佳落地方案。
當然,微服務的設計還對運維提出了更高的要求,如何進行自動構建,如何進行自動發布,對於應用程序的質量管理以及遇到峰值時如何通過橫向擴展、彈性伸縮對於整個技術團隊都提出了更高的要求。

二、最流行6種微服務RPC技術

 

 

 

 

開源 RPC 框架有哪些呢?

 

一類是跟某種特定語言平台綁定的,另一類是與語言無關即跨語言平台的。
跟語言平台綁定的開源 RPC 框架主要有下面幾種。

  • Dubbo:國內最早開源的 RPC 框架,由阿里巴巴公司開發並於 2011 年末對外開源,僅支持 Java 語言。
  • Motan:微博內部使用的 RPC 框架,於 2016 年對外開源,僅支持 Java 語言。
  • Tars:騰訊內部使用的 RPC 框架,於 2017 年對外開源,僅支持 C++ 語言。
  • Spring Cloud:國外 Pivotal 公司 2014 年對外開源的 RPC 框架,僅支持 Java 語言

而跨語言平台的開源 RPC 框架主要有以下幾種。

  • gRPC:Google 於 2015 年對外開源的跨語言 RPC 框架,支持多種語言。
  • Thrift:最初是由 Facebook 開發的內部系統跨語言的 RPC 框架,2007 年貢獻給了 Apache 基金,成為 Apache 開源項目之一,支持多種語言。

三、rest

1. 什麼是REST

REST是一種架構風格,指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。REST規範把所有內容都視為資源,網絡上一切皆資源。

REST並沒有創造新的技術,組件或服務,只是使用Web的現有特徵和能力。 可以完全通過HTTP協議實現,使用 HTTP 協議處理數據通信。REST架構對資源的操作包括獲取、創建、修改和刪除資源的操作正好對應HTTP協議提供的GET、POST、PUT和DELETE方法。

REST與RPC比較

比較項        規範 REST RPC
通信協議 HTTP 一般使用TCP
性能
靈活度

高與低是對實現兩種規範框架的相對比較,但也不是絕對的,需要根據實際情況而定。

都是網絡交互的協議規範。通常用於多個微服務之間的通信協議。

2. REST與RPC應用場景

REST和RPC都常用於微服務架構中。

  • HTTP相對更規範,更標準,更通用,無論哪種語言都支持http協議。如果你是對外開放API,例如開放平台,外部的編程語言多種多樣,你無法拒絕對每種語言的支持,現在開源中間件,基本最先支持的幾個協議都包含RESTful。

RPC在微服務中的作用,RPC 框架作為架構微服務化的基礎組件,它能大大降低架構微服務化的成本,提高調用方與服務提供方的研發效率,屏蔽跨進程調用函數(服務)的各類複雜細節。讓調用方感覺就像調用本地函數一樣調用遠端函數、讓服務提供方感覺就像實現一個本地函數一樣來實現服務。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司“嚨底家”!

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

聚甘新