[Spring cloud 一步步實現廣告系統] 22. 廣告系統回顧總結


到目前為止,我們整個初級廣告檢索系統就初步開發完成了,我們來整體回顧一下我們的廣告系統。
整個廣告系統編碼結構如下:
廣告系統

1.mscx-ad 父模塊

主要是為了方便我們項目的統一管理

2.mscx-ad-db

這個模塊主要有2個作用,本身只應該作為數據庫腳本管理package來使用,但是我們在生成索引文件的過程中,為了方便,我就直接將導出全量索引的json文件生成也寫在了該項目中。 主要目的還是通過flyway進行數據庫腳本的管理。

3.mscx-ad-common

這個主要是一些通用工具類的存放

4.mscx-ad-feign-sdk

這個jar包主要是為了服務間的調用,為了統一管理各種pojo 以及CustomFeignClient而創建的,方便一次修改,全局應用。當然如果項目團隊不大的時候,你完全可以在不同的project中創建相同的vo對象,目前RPC中大多如此設計。

5.mscx-ad-dashboard

這個是hystrix提供的可視化管理工具,當然,后期我同樣會使用我們的阿里大大的sentinel將其替換掉,敬請期待。

6.mscx-ad-discovery

這個我命名的時候沒有使用ad-eureka,在項目中也是盡量使用的SpringCloud Common抽象的公共注解,比如@EnableDiscoveryClient,其實有心的同學能看的出來,我打的主意也是想要后續替換的,我們可以使用ZK,但是我后期同樣會使用我們阿里大大的NACOS 來替換掉它。

7.mscx-ad-zuul

網關路由組件,沒啥特別的,后續使用gateway替換

8.mscx-ad-sponsor

廣告新增的主要模塊,為廣告主服務

9.mscx-ad-search

整個廣告系統的核心,對外暴露查詢服務。

為了我們系統的高可用,上述系統理論上都需要多實例部署。

我們在廣告檢索服務中使用到了監聽 Mysql數據庫的 Binlog來實現增量索引,大家不妨想想,如果我們的系統請求很高,我們的binlog就需要被N多的服務實例所監聽,這樣會有什么問題? 為什么會有這種問題? 怎么修改是合理的?

番外

從2018年10月31號,我們阿里大大開源發布了Spring Cloud Alibaba,經過1年的項目孵化,終於在2019年8月1號畢業了小馬哥威武, SC-Alibaba Team 威武。為了迎接這一偉大的國內Spring盛世,接下來我會寫一個學習SCA的課程,途中遇到的所有問題都會和大家一起共享,加油。

我的博客即將同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=2sndng6f1kmc8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM