溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

發(fā)布時間:2020-07-15 21:41:46 來源:網(wǎng)絡(luò) 閱讀:185 作者:UCloud_TShare 欄目:云計算

“使用UK8S,開發(fā)者可以像使用普通云服務(wù)器一樣迅速搭建K8S環(huán)境。在享受K8S帶來的便利的同時,能夠讓開發(fā)人員集中注意力在業(yè)務(wù)實現(xiàn)的細(xì)節(jié),而不必在基礎(chǔ)架構(gòu)搭建上浪費太多的精力。UCloud為此提供的專業(yè)、快速的服務(wù)和響應(yīng)機制幫助我們成功的將整個環(huán)境從自建K8S平滑遷移到UK8S。UCloud的UK8S如同其它的基礎(chǔ)服務(wù)一樣穩(wěn)定,使我們相信‘讓專業(yè)的人做專業(yè)的事’,選擇UCloud作為我們的云服務(wù)提供商是我們在技術(shù)選型上做出的正確選擇之一?!?/p>

—元年科技CTO 楊熠

寫在開始

本文主要介紹UK8S在公有云場景中的實踐案例,后續(xù)即將推出在混合云模式下的案例分享。

元年科技業(yè)務(wù)使用UK8S的效果

業(yè)務(wù)上引入UK8S落地微服務(wù),目的并非是節(jié)約云主機資源,而是節(jié)省人工成本,使得開發(fā)人員可更專注于業(yè)務(wù)實現(xiàn);可降低系統(tǒng)耦合度、研發(fā)難度,從而更高效合理的調(diào)度主機集群資源;提高團隊整體交付效率,實現(xiàn)時間成本的節(jié)約,最終轉(zhuǎn)化為業(yè)務(wù)迭代的加速。

關(guān)于元年科技

自2000年成立起,一直專注于以管理會計為核心的管理咨詢和管理信息化領(lǐng)域,致力于成為“中國管理會計領(lǐng)航者”,幫助中國企業(yè)實現(xiàn)財務(wù)轉(zhuǎn)型和管理精細(xì)化。

元年科技的專業(yè)服務(wù)和軟件平臺涵蓋企業(yè)運營以及管理的四個層面:以管理會計為核心,支持企業(yè)分析模擬、決策支持和管理控制;以財務(wù)共享為核心,推動財務(wù)轉(zhuǎn)型、提升企業(yè)運營效率;基于商業(yè)智能平臺和大數(shù)據(jù),實現(xiàn)客戶分析、銷售分析、運營分析;以企業(yè)信息化規(guī)劃和互聯(lián)網(wǎng)轉(zhuǎn)型為核心,提供集團管控體系、組織和流程優(yōu)化等咨詢服務(wù)。

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

云快報的業(yè)務(wù)場景和架構(gòu)

云快報是元年科技旗下一款商旅及支出管理SaaS產(chǎn)品。采用云計算和移動互聯(lián)網(wǎng)技術(shù)開發(fā),凝聚了眾多行業(yè)、企業(yè)費用管理的最佳實踐,滿足廣大企業(yè)提升業(yè)務(wù)能力、規(guī)范業(yè)務(wù)行為、管控業(yè)務(wù)費用的核心需求,同時集成了同程、藝龍、滴滴、京東等互聯(lián)網(wǎng)消費平臺, 將差旅申請、消費和報銷流程打通,此外還整合發(fā)票查驗、智能記賬、多種財務(wù)接口,讓企業(yè)的費用管控更高效,更清晰透明。

該產(chǎn)品中的 商城業(yè)務(wù)采用巨石與微服務(wù)結(jié)合的架構(gòu)模式 ,包含商城端以及商城服務(wù)端兩部分內(nèi)容。商城端目前仍使用傳統(tǒng)巨石結(jié)構(gòu), 也正在改造中,主要負(fù)責(zé)買賣雙方的管理,涵蓋商戶管理、購物商城、管理后臺等服務(wù)。由于云快報中接入的商戶并未實際在商城中開店,遂引入對接端的概念,完成對遠(yuǎn)端商戶的真實下單操作。

商城用戶在購物商城中下單并完成支付后,對接端將訂單通過API服務(wù)提交至商城服務(wù)端進行真實下單,商城服務(wù)端采用微服務(wù)架構(gòu), 每類服務(wù)之間既相互獨立又維持協(xié)作的關(guān)系。此外,針對搜索服務(wù),云快報選擇將微服務(wù)架構(gòu)與Solr結(jié)合的方式,實現(xiàn)供應(yīng)電商系統(tǒng)中商品的定時同步,以及推送至Solr中提供搜索服務(wù)。

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

圖:云快報商城業(yè)務(wù)架構(gòu)圖

引入K8S,解決業(yè)務(wù)痛點

微服務(wù)架構(gòu)下,元年科技開發(fā)人員發(fā)現(xiàn)使用K8S 比原先云主機部署模式在如下場景中可更為有效的解決問題。

痛點一:新服務(wù)的上線以及原有服務(wù)的更新過程繁雜

一方面,若要在既有云主機上發(fā)布全新的服務(wù),需考慮不同類型語言要求不一致的問題,從基礎(chǔ)環(huán)境到啟動腳本,內(nèi)容十分零散,整個發(fā)布過程相當(dāng)復(fù)雜;另一方面,若要更新已存在的服務(wù),腳本語言可使用熱更新,但編譯類語言又面臨同樣的困境。

常規(guī)做法是由nginx在服務(wù)前面做一個負(fù)載的代理,人工操作切換負(fù)載來保證非中斷服務(wù)方式的更新,但當(dāng)服務(wù)數(shù)量較多時,人工操作負(fù)擔(dān)大。

K8S下可利用容器技術(shù)的自包含自描述解決多種編程語言更新的問題,并實現(xiàn)零散發(fā)布內(nèi)容的整合;此外,使用K8S的應(yīng)用編排能力進行發(fā)布,可解決微服務(wù)架構(gòu)下復(fù)雜的多應(yīng)用依賴發(fā)布的問題,同時還可降低誤操作概率。

痛點二:動態(tài)服務(wù)遷移操作難度大

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

圖:動態(tài)服務(wù)遷移示意圖

由于云主機資源的限制,為了給特定服務(wù)提供資源升級的空間,常常需要動態(tài)的將其余正在執(zhí)行的服務(wù)遷移至新的云主機。如上圖所示,服務(wù)11要由0.5核CPU升級為1核CPU,此時需要把服務(wù)07和12遷移至別的節(jié)點中,再對服務(wù)11進行升級操作。

未使用K8S的情況下,為了防止業(yè)務(wù)中斷,通常會將服務(wù)07和服務(wù)12在節(jié)點05中進行部署,更改服務(wù)發(fā)現(xiàn)后再將節(jié)點02中資源清除。而K8S中只需更改服務(wù)07和12的nodeSelector,即可將服務(wù)07和12實現(xiàn)遷移,在保障服務(wù)不中斷的前提下快速滿足服務(wù)11的擴容需求。

痛點三:線上服務(wù)健康檢查復(fù)雜度高

為了保證線上服務(wù)的存活,需安裝多類別的檢測監(jiān)控軟件,安裝軟件工作量大,并且只能作為報警提醒,無法協(xié)助后續(xù)處理。

利用K8S的健康檢查機制,可以通過請求服務(wù)的健康檢查接口來檢測服務(wù)的工作狀態(tài),并根據(jù)響應(yīng)碼判識狀態(tài)是否正常,若處于非正常狀態(tài),K8S會自動執(zhí)行Pod的銷毀重建,保障服務(wù)正常工作。

痛點四:服務(wù)之間的調(diào)用和發(fā)現(xiàn)配置工作多

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

圖:服務(wù)調(diào)用與發(fā)現(xiàn)示意圖

實際應(yīng)用中,會需要服務(wù)之間的內(nèi)部調(diào)用。但不同環(huán)境下,調(diào)用相同的服務(wù)由于內(nèi)部IP無法固定,需要額外增加多個配置文件,且每個環(huán)境下對應(yīng)一套,服務(wù)數(shù)量較多時,配置工作繁重。

而K8S的服務(wù)發(fā)現(xiàn)基于Service加DNS解析實現(xiàn),完成服務(wù)發(fā)現(xiàn)的同時具備負(fù)載。如上圖所示,服務(wù)16訪問服務(wù)18的時候會先由K8S內(nèi)部的DNS來獲取服務(wù)18的Service代理IP,再訪問服務(wù)18-proxy。

痛點五:單個服務(wù)完全消耗云主機資源

原有的部署模式下,單臺云主機上同時運行多個服務(wù),并且沒有對每個服務(wù)的CPU、內(nèi)存以及磁盤IO進行限制,導(dǎo)致出現(xiàn)單個服務(wù)負(fù)載過高,將整臺主機資源耗盡,從而主機卡住的情況,此時再擴展新的資源部署服務(wù),整個恢復(fù)過程較為漫長。

K8S中可對服務(wù)的CPU、內(nèi)存使用量進行限制,有效減少運行在同一臺主機上服務(wù)資源爭搶問題。

由自建K8S遷移至UK8S

元年科技業(yè)務(wù)中共有兩套K8S集群,一套是運行在線下內(nèi)網(wǎng)環(huán)境中的自建K8S集群,直接使用Rancher搭建和管理,另一套運行在UCloud公有云環(huán)境中,先前也是自建的K8S集群??紤]到UK8S相較于自建K8S集群有如下幾點優(yōu)勢,最終選擇從自建K8S集群遷移至UK8S。

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

表:UK8S與自建K8S對比

—END —

歡迎掃描下方二維碼,加入UCloud K8S技術(shù)交流群,和我們共同探討Kubernetes前沿技術(shù)。(如顯示群人數(shù)已加滿,可添加群主微信zhaoqi628543,備注K8S即可邀請入群。)

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

TIC 2019報名火熱進行中,歡迎加入我們共同探討Kubernetes的技術(shù)實踐!UCloud實驗室負(fù)責(zé)人葉理燈將于 技術(shù)專場A 帶來更多Kubernetes技術(shù)干貨。除此之外,技術(shù)專場還匯集了 Serverless、微服務(wù)、分布式技術(shù)等 熱門話題,誠邀廣大技術(shù)開發(fā)者掃描下方二維碼參與報名,共享技術(shù)盛宴!

利用UK8S落地微服務(wù),加速元年科技業(yè)務(wù)迭代

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI