基于容器的通服物聯(lián)-物聯(lián)網(wǎng)服務平臺部署架構

信息化觀察網(wǎng)
信息化觀察網(wǎng)
容器技術(Docker)的發(fā)展使得平臺級系統(tǒng)具有更強的生命力,更靈活的擴展性。然而在實際使用容器平臺時還是會遇到不少優(yōu)化的地方,需要根據(jù)情況進行重新構架,才能使得容器技術得到充分的利用。

容器技術(Docker)的發(fā)展使得平臺級系統(tǒng)具有更強的生命力,更靈活的擴展性。然而在實際使用容器平臺時還是會遇到不少優(yōu)化的地方,需要根據(jù)情況進行重新構架,才能使得容器技術得到充分的利用。我們在通服物聯(lián)-物聯(lián)網(wǎng)服務平臺部署方面做了以下幾個方面的優(yōu)化:

一.數(shù)據(jù)庫、中間件等持久化集群模式的實現(xiàn)

數(shù)據(jù)庫等服務一方面需要保持數(shù)據(jù)的持久性,不會因為容器的重建而導致數(shù)據(jù)的丟失;另一方面需要保證高可用性而采用集群模式。一般的容器是狀態(tài)無關性的,但容器平臺提供了一種StatefulSet模式,它可以保持集群中容器每次啟動時一直掛上和容器編號一致的云盤,從而保證數(shù)據(jù)的持久化。因為容器實例每次建立都會分配新的ip,所以對于應用訪問來說不能直接使用ip地址。但容器平臺提供了一種Headless模式的服務,它可以為每個容器實例提供一個和容器編號一致的域名,保證通過同一個域名每次都可以訪問到集群中的指定的那個容器實例,因此應用可以采用域名訪問進行訪問。對于多主集群的容器服務可以通過統(tǒng)一服務(Service)進行負載均衡供客戶端訪問:

通服物聯(lián)-物聯(lián)網(wǎng)服務平臺各類服務客戶端訪問的模式如下:

多主模式可以通過service負載均衡到任意一個容器實例上。

二.Java應用/微服務共用java鏡像

常規(guī)的java應用部署模式是:從代碼倉庫中拉取代碼編譯并構建相應的鏡像,或者上傳jar來構建相應鏡像。這種模式每個項目都會創(chuàng)建一個對應的容器鏡像,一個方面它的構建時間過長,新的宿主節(jié)點都會重新拉取鏡像,發(fā)布周期長,另一方面不同的項目構建不同鏡像,在鏡像倉庫中的存儲消耗較大。

為了簡化發(fā)布,縮短發(fā)布周期,通服物聯(lián)-物聯(lián)網(wǎng)服務平臺對java應用的發(fā)布進行如下優(yōu)化:

統(tǒng)一構建了一個java鏡像,它同時集成了中文支持、應用監(jiān)控等統(tǒng)一的附加功能,應用的更新不再需要java鏡像的重新構建。我們定義“java應用”和“java微服務”2種組件模版。Java應用需要暴露服務到外部,java微服務不需要暴露出去。

通服物聯(lián)-物聯(lián)網(wǎng)服務平臺java應用部署過程如下:

1.首先將打包好的jar包上傳到統(tǒng)一的部署服務器;

2.然后在容器管理平臺的編排發(fā)布中選擇“java應用”/“java微服務”來進行發(fā)布,其中指定要發(fā)布的jar名;

3.容器啟動時,自動根據(jù)傳入的jar包名從部署服務器下載,然后啟動java服務。

4.后續(xù)更新java應用時,只需要上傳jar,然后在對應java應用上點擊一下“部署”即可。

Java應用容器可以設置自動伸縮,根據(jù)實際資源消耗情況來擴展或者減少容器數(shù)量。

三.Web應用集群通過nfs共享

為了簡化發(fā)布,Web應用集群采用共享文件系統(tǒng)的方式來保證集群一次性發(fā)布。由于通福云不支持多容器的云盤共享,因此通服物聯(lián)-物聯(lián)網(wǎng)服務平臺搭建了一個單獨的nfs文件服務容器來實現(xiàn)web應用集群間的web文件共享:

部署服務容器掛載nfs文件服務器上共享的文件系統(tǒng)/html。Web應用容器掛載nfs文件服務器上共享的文件系統(tǒng)/html。

Web應用部署過程:

1.將打包好的web文件上傳到部署服務器上;

2.在部署服務器上將web文件包解壓到/html路徑下即可,web文件更新不需要重啟web容器立即生效。

以上是通服物聯(lián)-物聯(lián)網(wǎng)服務平臺基于容器部署方面的實踐,希望能夠給大家?guī)韱l(fā)。歡迎大家積極討論,分享經驗。

作者介紹

袁剛:架構師,就職于中通服創(chuàng)立科技信息有限責任公司。長期從事系統(tǒng)架構設計、技術咨詢。曾就職于中國惠普公司,擔任解決方案架構設計顧問。

聯(lián)系方式:QQ/微信:12998295

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論