人工智慧 人臉識別專案的改造
阿新 • • 發佈:2018-12-17
背景介紹:從之前的設計模組方面來思考,人工智慧這個專案裡面的上傳功能應該如何完善成一個真正的微服務,之前的呼叫鏈是批量的上傳功能依賴單張入庫的功能,而這裡的單張入庫的功能是一個單獨的服務,其實這裡的單張入庫的模組,需要進行改造。
方案:把單張入庫的模組進行改造,提取公共的模組,減少物件的冗餘,以及避免資料庫表物件的完全暴露,提高安全意識。
從單張人臉特徵入庫的模組來分析,這個服務只要是依賴了演算法的SDK這個服務提供的人臉特徵的資料返回,如果簡單的依賴關係來看,批量服務依賴單張入庫服務,單張入庫服務依賴演算法服務,而這裡的模組之間的冗餘資料很多,所以從演算法服務來進行分模組開始
1.演算法的服務主要的返回的是人的註冊的資訊,以及人 的特徵的返回,這裡可以提去一個common的模組。提供給自己呼叫,以及暴露介面提供個單張入庫的服務呼叫,這裡需要注意的是在呼叫的消費端的pom配置上這個common模組的依賴,因為此時的common將會以jar的形式放到了maven倉庫,提供單張入庫的呼叫。
2.同樣的方式,批量的服務依賴單張的入庫模組,這裡的單張的模組,涉及到的人的註冊資訊的資料庫物件進行封裝,避免從查詢的介面直接暴露整個資料庫的查詢物件,而且這裡的需要設計出DTO對資料庫物件或者頁面返回的欄位進行抽取成一個單獨的物件進行封裝,提供給批量進行呼叫,實現瞭解耦以及減少程式碼的冗餘。
如何把微服務實現多模組化,這裡 科普一下如何搭建多模組的微服務