新聞中心
容器賦能AI-人工智能在360私有云容器服務上的實踐
作者:360技術 2019-04-10 05:45:22
開發(fā)
開發(fā)工具
云計算 360私有云容器服務團隊和人工智能研究院團隊一起配合,在云端提升機器學習的效能方面進行了深入的研究和實踐,本篇文章主要介紹實踐中涉及的“微服務網(wǎng)關與容器服務”技術。

成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設計團隊扎實的技術支持、優(yōu)質(zhì)高效的服務意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站設計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務,在成都10余年的網(wǎng)站建設設計經(jīng)驗,為成都上千中小型企業(yè)策劃設計了網(wǎng)站。
360私有云容器服務團隊和人工智能研究院團隊一起配合,在云端提升機器學習的效能方面進行了深入的研究和實踐,為業(yè)務提供了“人臉檢測”、“花屏檢測”、“色情檢測”、“寵物檢測”、“圖片風格化”、“文字識別”、“智能裁圖”等多種深度學習服務。
下面主要介紹實踐中涉及的“微服務網(wǎng)關與容器服務”技術。
一、什么是微服務架構
微服務是一種構建軟件的架構和方法。在微服務中將以前的單體應用拆分成多個小的組件,并彼此獨立。不同于將所有組件內(nèi)置于一個架構中的傳統(tǒng)單體式應用的構建方法,在微服務架構中,所有的部分都是相互獨立的(可以使用不同的語言,不同團隊來開發(fā)不同的服務模塊)。通過合作來完成相同的任務。其中的每一個組件或流程都是微服務??偨Y微服務的特點就是:更小,更快,更強。
可能通過上面對微服務的描述還是不是特別的直觀,將傳統(tǒng)的單體應用架構和微服務架構進行下比較,就比較直觀了。
1. 單體應用架構
最早對于web程序的開發(fā)(比如JAVA),通常將整個程序打包到一個WAR文件中,然后直接部署到服務器即可。
單體應用架構易于測試和部署,但是在服務的可伸縮性,可靠性, 系統(tǒng)迭代, 跨語言程序, 團隊協(xié)作等方便沒有微服務方便。
2. 微服務架構
為了解決單體應用架構的這些諸多弊端(不是說單體應用架構不好,需要根據(jù)不同的業(yè)務場景選擇不同的服務架構),可以將單體應用架構拆分成多個獨立的小的組件。 這樣就可以每個團隊使用自己的技術棧來實現(xiàn)自己的組件,并在系統(tǒng)迭代的時候獨立地進行迭代而不影響整個應用的整體使用。
二、為什么需要微服務網(wǎng)關
首先介紹下什么是API網(wǎng)關,API網(wǎng)關可以提供一個單獨且統(tǒng)一的API入口用于訪問內(nèi)部一個或多個API服務。API網(wǎng)關常會提供負載均衡,訪問頻率限制,認證授權,監(jiān)控,緩存等功能。
通過API網(wǎng)關,可以將內(nèi)部服務對外部用戶隱藏,而暴露給外部用戶真實需要的API,并可以對外部訪問進行訪問頻率的限制同時還可以對外部的用戶設置認證授權。來保證應用整體的穩(wěn)定及安全等等。而網(wǎng)關內(nèi)部的服務則可以根據(jù)自己的需求通過相關的協(xié)議(REST API, GRPC)進行通信。
三、微服務網(wǎng)關(kong)介紹
kong是一款基于nginx_lua模塊寫的高可用,易擴展的API網(wǎng)關。由于kong是基于nginx的,所以可以水平的擴展多個kong服務實例,通過前置的負載均衡配置把請求均勻地分到各個server,來應對大批量的網(wǎng)絡請求。
kong網(wǎng)關組成:
- Kong server: 基于nginx的服務器,接收外部的api請求。
- PostgreSQL: 用來存儲操作的數(shù)據(jù)。
并且kong采用插件機制進行功能的定制,插件集在API請求響應循環(huán)的生命周期中被執(zhí)行。插件使用lua編寫。
四、微服務網(wǎng)關與容器服務結合使用
通過一個具體的例子來描述部署到容器上的服務是如何與微服務網(wǎng)關結合使用的。比如我們現(xiàn)在有人臉檢測, 寵物檢測, 鑒黃服務等將這個單獨的服務組成一個完成的應用實體來對外提供多功能的服務。
- 首先在容器服務平臺上部署我的三個服務實例(人臉檢測,寵物檢測,鑒黃服務)。并為這些服務實例申請vip。
- 服務注冊完成之后,管理端將這三個服務注冊到微服務網(wǎng)關(kong),kong會將注冊的信息持久化到PostgreSQL數(shù)據(jù)庫。并可以根據(jù)不同的業(yè)務為各個服務已插件的形式注冊認證授權,訪問頻率限制,CORS等插件。
- 當服務注冊完成之后,用戶端可以基于被授權的用戶token去訪問他們想要使用的服務。
本文只是簡單地介紹了下整體的流程。但是每一個部分都需要用戶自己去深入了解了~~
相關文章:
- https://konghq.com/kong-community-edition/
- https://martinfowler.com/articles/microservices.html?spm=a2c4e.11153940.blogcont2764.12.61092766Awrptv
- https://github.com/Kong/kong
- https://www.redhat.com/zh/topics/microservices
- https://www.nginx.com/blog/introduction-to-microservices/
【本文是51CTO專欄機構360技術的原創(chuàng)文章,微信公眾號“360技術( id: qihoo_tech)”】
戳這里,看該作者更多好文
網(wǎng)站標題:容器賦能AI-人工智能在360私有云容器服務上的實踐
URL網(wǎng)址:http://fisionsoft.com.cn/article/coghsee.html


咨詢
建站咨詢
