999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微服務的大平臺系統架構演進探討

2018-01-02 08:44:48鄭明釗張建強
軟件 2017年12期
關鍵詞:功能服務系統

鄭明釗,張建強

(中國移動通信集團設計院有限公司山東分公司,山東 濟南 250101)

基于微服務的大平臺系統架構演進探討

鄭明釗,張建強

(中國移動通信集團設計院有限公司山東分公司,山東 濟南 250101)

當前很多企業和公司的生產平臺大都使用老舊的單塊架構(Monolithic)模式,不易擴展,且升級過程復雜,存在維護成本高、持續交付周期長、靈活性差等多種問題。微服務(Microservice)的架構模式將生產平臺拆分成一個一個非常細小的微服務,每個微服務都單獨部署,將一組微服務進行組合從而實現一個復雜的功能。微服務具有實現簡單、業務專一、相互獨立、耦合度低、開發和維護成本低等優點。另外,Spring Boot和Docker容器技術的發展,使得微服務的具體實現和部署變得非常方便。

單塊架構;微服務;Spring Boot;容器

0 引言

在過去相當長的一段時間內傳統的單塊式(Monolithic)[1]系統架構思維及技術一直統占據著主流的地位。單塊架構具有如開發方便、容易部署、易于水平擴展以及方便測試等許多優點。但是隨著互聯網行業的不斷發展,各個公司的業務需求不斷增長,以及用戶量的激增,單塊架構模式已經慢慢的被互聯網的發展速度拋在了后面,面臨著巨大的挑戰。在這種趨勢下,單塊模式系統暴露出了持續交付周期增長、新人培養時間增長、技術選型成本高、可伸縮性差、靈活性降低,以及測試成本、構建成本和維護成長增加的不利局面。

當前有很多公司或者機構都還保留著一些使用單塊模式的開發架構,同樣出現了維護成本高、持續交付周期長、靈活性差等一系列的問題。另外,有些公司在進行不同的項目時會進行重復開發相同的功能,這樣無疑增加了開發負擔,而且還降低了工作效率。

在此背景下,微服務(Microservice)的誕生很好的解決了單塊模式的很多不足之處。微服務架構模式提倡將應用內的子功能劃分成一組小的服務,組合不同的服務就可以實現一個復雜的功能服務。

另外微服務的技術發展已經有很多成熟的案例,使用容器等工具進行開發的方式也有很多應用。為了改進過去老舊的生產平臺系統,達到去中心化、快速迭代和持續交付的目的,無疑使用微服務的架構模式是最為合適的。

1 微服務架構介紹

1.1 微服務概念

所謂微服務[2],就是將應用程序內的功能盡可能的細進行劃分,并將每個細小的功能作為一個獨立的服務。每個微小的服務間通常使用 HTTP API的方式進行通信,而且他們都專注于具體的業務功能,擁有強壯的模塊邊界,可以獨立部署。每個服務進行協調與配合,最終為用戶提供相應的功能需求。

1.2 微服務架構特點

復雜度可控:微服務讓應用被分解為多個可管理的分支或服務,通過微服務架構模式,讓復雜的功能,通過模塊化的方式呈現出來,讓單個服務更容易開發和維護;

靈活可擴展:微服務架構模式使得每個服務獨立擴展,每個服務可以進行單獨的增減功能,使得整體變得非常靈活;

獨立部署:微服務具備獨立的運行進程,所以每個微服務也可以獨立部署。使用相同的部署環境可以實現批量快速部署微服務。

1.3 微服務與SOA對比

SOA(服務導向式架構)[3]在過去已經存在了很長時間,他是一種粗粒度、松耦合服務架構,服務之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊模型。“微服務(micro service)”架構是最近出現的新概念,目的是將大型的、復雜的、長期運行的系統構建為一組相互配合的服務,每個服務都有單一職責,他們間都采用輕量級通信,開發測試與部署相互獨立,且具有良好的擴展性等特點。

微服務與SOA存在多方面的不同,二者的主要區別如下表1所示。

表1 微服務架構與SOA架構比較Tab.1 Comparison of microservices architecture and SOA architecture

綜合上面所示,我們可以認為微服務就是SOA的一個子集,相較而言使用微服務的架構更加符合當前互聯網發展趨勢。

2 利用微服務架構來實現大平臺統一服務

微服務架構是一種去中心化的架構,在互聯網時代,企業的核心就是效率。傳統企業服務總線是中心化的架構,這會導致效率低下、穩定性差。而微服務技術體系提供給我們帶來是負載更小,故障影響的范圍也更小,能夠大幅降低去中心化應用系統的運營成本。

本節將針對一些公司企業的內部平臺存在的問題進行分析,并提出使用微服務架構模式來實現平臺的改造建設方案。

2.1 現狀分析

當前很多公司和企業的平臺大都遵循傳統的SOA架構實現,傳統的系統架構將所有的功能模塊進行羅列,通過接口層將對外的功能進行劃分,再對外進行開放。這樣在業務處理和技術實現方面都存在多種問題,其主要表現在如下幾點:

(1)平臺缺乏統一業務處理流程,不同平臺各有各自的處理方式,難以統一;

(2)平臺內部多次實現了相同的功能,進行重復開發;

(3)平臺升級需要重新構建、編譯,打包部署,耗時耗力耗財;

(4)開發SaaS[4]互聯網功能的產品迫在眉睫,需要滿足快速開發、靈活升級、高性能、高可用、高穩定、簡化運維等更高的需求;

(5)大容量訪問下無法提供可靠性服務。

2.2 微服務架構的大平臺規劃方案設計

經過上述對一些公司的信息化平臺的現狀分析,可以得出當前很多公司的信息化生產平臺存在著很多嚴重問題,為了能夠解決這些問題,他們迫切需要改進其生產平臺系統架構建立一個統一的大平臺服務體系。

2.2.1 平臺構建原則

構建大平臺應當遵循微服務的設計原則,如下圖1所示。

1、部署方式:每個主機可部署單個服務或者多個服務,視所部屬的主機性能所定;

2、數據存儲:每個微服務間應當盡量做到數據隔離,相互獨立;

3、對外通信:使用API GateWay來對外通信,API GateWay可以起到負載均衡、用戶驗證和安全保護等作用;

4、通信方式:可以使用HTTP Restful[5]消息方式或者,遠程調用方式;

圖1 微服務架構設計原則Fig.1 Design principles of microservice architecture

5、服務發現方式:客戶端直接發現方式和服務端發現方式。兩種方式各有優點,客戶端方式省去了中間的一些操作,更加簡單方便,但是安全方面可能會存在問題。而服務端發現方式由服務端的一個中轉站進行,這種方式可以進行統一管控,方便管理。

2.2.2 微服務架構設計方案

結合上述分析的一些公司生產平臺現狀態以及存在的不足,使用微服務的架構思想可以有效的解決這些問題,主要體現在:

1、系統管控簡單,每個服務只需負責好自己即可;

2、易維護性,過去若系統需要增刪功能需要對系統進行重新構建和部署,而使用微服務架構可以實現服務的“熱插拔”,只有對單個服務進行操作即可完成需求;

3、易擴展性,方便快捷的部署方式使得微服務在進行擴展時,只需要將相同的服務進行注冊即可完成部署。另外,在開發新功能時,完成新功能的服務后,同樣也可以非常快速的進行服務部署。

2.2.2.1 生產平臺改造設計方案

根據微服務的架構思想來改造生產平臺,其方案改造可以遵循圖2的方法:

圖2 微服務架構改造老生產平臺步驟Fig.2 The Step of reform the old production platform with microservice architecture

根據上圖中的方法,下面詳細說明每一步的工作內容:

1、分析生產平臺所包含的功能模塊,將具有共性的部分抽取出來,將各個功能模塊盡可能小的再細分成小的功能點;

2、功能剝離:將分析得到的各個功能點進行提取,將獨立的模塊進行提取;

3、數據解耦:剝離出業務數據,盡量做到每個微服務間業務數據相互獨立、相互隔離,不產生影響;

4、確定微服務功能點:分析確定所有需要實現的功能點,確定每個服務的業務流程和開發技術選型;

5、系統設計:根據微服務的技術特點和大平臺的業務需求進行概要設計和詳細設計;

6、行代碼的快速開發與測試;

7、使用容器部署:容器是用來封裝微服務所部屬使用的資源環境的,相同的容器可以直接進行簡單部屬。

2.2.2.2 系統架構設計

根據上述設計原則以及改進方案,設計出如圖

3的新系統的邏輯架構:

由圖可見每個微服務需要單獨部署并進行注冊,服務路由負責注冊服務和發現服務,其物理實現可以通過高速緩存系統實現。API GateWay負責訪問的負載均衡[6]、身份認證和安全管控等,通過API GateWay可以實現服務的調用。在實際部署中,每個服務可能是對應著一組服務集群,這樣可以保證服務的訪問效率。部署一個服務時,可以將其部署到容器中,這樣可以保持相同環境一次部署多個服務。每個服務間通過 Rest協議通信,每個服務也可以通過消息中心模塊獲取數據。消息中心一般使用大數據的分布式架構實現消息的自動輸送。對于維護模塊需要實現的功能是自動化的運維和日志的監控等。

圖3 系統邏輯架構圖Fig.3 System logic architecture diagram

3 關鍵技術

Docker容器:Docker[7]是一款強大的開源的應用容器,編程人員可以封裝應用以及相關的開發環境到一個可移植的容器中,然后發布到其他機器或者系統上。Docker也可以實現虛擬化,容器是使用沙箱機制,相互之間不會有任何接口。

其實現原理如下圖4所示,應用程序如同正方形內的三角形、圓形和五邊形,而正方形就是Docker,最外層的長方形就是我們的系統,我們將應用程序放在Docker里面,然后將一個或多個正方形塊整體放到長放行內,可以實現快速而簡單的服務部署。

圖4 Docker容器封裝不同服務Fig.4 Docker container encapsulating different services

Nginx[8]:在本系統中Nginx作為負載均衡服務器,可以進行 HTTP代理對外進行服務,不論是系統資源開銷還是CPU使用效率都是非常不錯的。通過Nginx的配置可以進行對外部訪問進行分流和負載均衡。

Restful API:近年來隨著移動互聯網的發展,各種類型的 Client層出不窮,RESTful可以通過一套統一的接口為不同的客戶端提供統一的服務接口。如下圖所示,不同的終端可以通過一個標準的Restful API來訪問數據庫從而獲取到相同的數據。

圖5 Restful API統一不同終端接入Fig.5 Docker container encapsulating different services

Spring Boot:Spring Boot[9]其初始的設計目的是用來簡化Spring應用的初始搭建以及開發過程,但是經過不斷的發展,如今已經應用于開發Java微服務。它通過封裝底層框架的復雜配置,從而使的開發者可以非常容易的進行微服務的開發。Spring Boot提供了一些非常強大的通用功能,如RESTful API[10]接口功能,所以它在一定程度上極大的提高了工作人員的效率。Spring Boot目前廣泛應用于微服務,可以讓他們非常簡潔的開發某個龐大系統中的某個單獨的服務。

4 大平臺統一服務前景

使用微服務來實現的統一服務大平臺,具有多方面的價值,其發展前景非常好,主要體現在如下幾點:

1、節省了運維成本:許多微服務單獨部署,在進行維護時,只需對單個服務進行修改即可;

2、統一的大平臺節省了后續功能擴展的開發成本;

3、平臺推廣能力增強,外部系統若想使用某個功能,只需要將該服務的接口提供給對方即可,無需額外開發程序;

4、大數據、云計算已經廣泛應用,通過微服務的架構思想可以輕松實現SaaS層次的云服務。

5 結束語

本文提出了使用微服務的架構思想來統一構建大生產平臺的一種架構方案,該方案不但在理論上進行了介紹,而且還在具體的架構實現進行了分析,具有非常高的可行性。如果真的應用到實際的企業工作環境中將會大大節約我們的開發成本,而且還會提高我們的工作效率。

[1] 張晶, 王琰潔 黃小鋒. 一種微服務框架的實現[J]. 計算機系統應用, 2017, 26(04): 82-86.

[2] 郭棟, 王偉, 曾國蓀. 一種基于微服務架構的新型云件PaaS平臺[J]. 信息網絡安全, 2015, (11): 15-20.

[3] 凌曉東. SOA綜述[J]. 計算機應用與軟件, 2007, (10):122-124+199.

[4] 陳鵬, 薛恒新. 面向中小企業信息化的SaaS應用研究[J].中國制造業信息化, 2008, (01): 10-13.

[5] 孫楊. 基于REST風格構建Web服務的研究與應用[D]. 電子科技大學, 2009.

[6] 周瑩蓮, 劉甫. 服務器負載均衡技術研究[J]. 計算機與數字工程, 2010, 38(04): 11-14+35.

[7] 張建, 謝天鈞. 基于Docker的平臺即服務架構研究[J]. 信息技術與信息化, 2014, (10): 131-134.

[8] 林麗麗. 使用高性能Web服務器Nginx實現開源負載均衡[J]. 大眾科技, 2010, (07): 37-38+27.

[9] 王永和, 張勁松, 鄧安明, 周智勛. Spring Boot研究和應用[J]. 信息通信, 2016, (10): 91-94.

[10] 劉興邦. 基于RESTful和Android的途家網房源管理系統的設計與實現[D]. 北京交通大學, 2015.

Discussion on the Evolution of Big Platform System Architecture Based on Microservice

ZHENG Ming-zhao, ZHANG Jian-qiang
(China Mobile Group Design Institute Co., LTD Shandong, Jinan 250101, China)

As of now, the production platforms of many companies are using the old monolithic mode that is difficult to expand, with complex upgrade process, high maintenance cost, long period of continuous delivery as well as poor flexibility. The architectural pattern of microservice divided the production platforms into individual services with tiny size, each of which will be separately deployed before being grouped together for realizing a complicated function. Actually, the advantages of micro-services include simplicity, specificity, mutual independence,low degree of coupling as well as low maintenance cost. Meanwhile, the progress of container technologies such as Spring Boot and Docker enabled the implementation and deployment of micro-services to be done in a convenient manner.

Monolithic; Microservice; Spring boot; Container

TP302

A

10.3969/j.issn.1003-6970.2017.12.031

本文著錄格式:鄭明釗,張建強. 基于微服務的大平臺系統架構演進探討[J]. 軟件,2017,38(12):165-169

鄭明釗(1989-),男,碩士,中國移動通信集團設計院有限公司山東分公司,研發工程師,主要研究云計算、大數據;張建強(1974-),男,本科,中國移動通信集團設計院有限公司山東分公司,研發工程師,主要研究虛擬化、大數據、云計算。

猜你喜歡
功能服務系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關于非首都功能疏解的幾點思考
主站蜘蛛池模板: av性天堂网| 亚洲欧美不卡| 亚洲一级毛片免费看| 日韩欧美国产成人| 色老头综合网| 91免费片| 亚洲三级网站| 色悠久久综合| 九色综合伊人久久富二代| 制服丝袜在线视频香蕉| www.99精品视频在线播放| 精品在线免费播放| 国内嫩模私拍精品视频| 美女内射视频WWW网站午夜 | 国产性爱网站| 亚洲Av综合日韩精品久久久| 欧美无专区| 亚洲天堂777| 成年A级毛片| 国产午夜无码片在线观看网站| 18禁不卡免费网站| 久久久久亚洲AV成人人电影软件| 国产内射在线观看| 中文国产成人久久精品小说| 欧美19综合中文字幕| 国产欧美日韩资源在线观看| 亚洲天堂日本| av午夜福利一片免费看| 国产一级毛片在线| 日本黄色不卡视频| 亚洲va精品中文字幕| 永久成人无码激情视频免费| 国产乱人免费视频| 久久亚洲国产一区二区| 98精品全国免费观看视频| 5388国产亚洲欧美在线观看| 一本综合久久| 又爽又大又光又色的午夜视频| 成人午夜亚洲影视在线观看| 99精品高清在线播放| 中文成人在线视频| 麻豆国产原创视频在线播放| 青青青国产视频手机| 香蕉久人久人青草青草| 婷婷午夜影院| 九月婷婷亚洲综合在线| 欧洲极品无码一区二区三区| 婷婷五月在线视频| 欧美特黄一级大黄录像| 午夜福利无码一区二区| 午夜毛片福利| 日韩精品专区免费无码aⅴ| 免费看a毛片| 欧美成人免费一区在线播放| 欧美日本在线播放| 国产视频a| 欧美成人影院亚洲综合图| 色噜噜在线观看| 亚洲丝袜第一页| 伊人久久婷婷| 亚洲看片网| 国产精品一区在线麻豆| 国产在线一区视频| 亚洲第一国产综合| 亚洲最猛黑人xxxx黑人猛交| 高清不卡毛片| 亚洲综合精品香蕉久久网| 亚洲人成网站18禁动漫无码| 99久久精品国产精品亚洲| 夜夜操天天摸| 美女亚洲一区| 国产真实乱了在线播放| 日韩精品毛片人妻AV不卡| 亚洲欧美不卡| 精品无码一区二区在线观看| 日韩精品资源| 一级毛片免费观看不卡视频| 色综合五月婷婷| 亚洲浓毛av| 国产亚洲欧美另类一区二区| 黄片一区二区三区| 亚洲欧美自拍中文|