国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java - 微服務(wù)架構(gòu)下跨服務(wù)查詢的聚合有什么好的方案?

瀏覽:99日期:2023-12-25 08:45:24

問題描述

微服務(wù)架構(gòu)中,每個服務(wù)都有自己的獨立數(shù)據(jù)庫。然而現(xiàn)在有個需求,需要生成一張實時的報表,該報表包含兩個服務(wù)的數(shù)據(jù)。如服務(wù)A,服務(wù)B。B中僅包含A的主鍵id作為關(guān)聯(lián)。而此報表的搜索條件包含A服務(wù)實體中的字段也包含B服務(wù)實體中的字段。

現(xiàn)有方案1、如果搜索條件中包含A的條件,則先去服務(wù)A中搜索,得到所有結(jié)果的主鍵,在服務(wù)B中使用where A.id IN (ids) 再次查詢想法:當(dāng)A.id數(shù)量龐大時,這個查詢極其緩慢! 而A.id數(shù)量龐大的情況很多

2、使用搜索引擎

想法:感覺殺雞用牛刀

請教各位大牛有更好的方案嗎

問題解答

回答1:

瀉藥

如果是線上業(yè)務(wù)數(shù)據(jù)(OLTP),那么方案一是微服務(wù)的標(biāo)準(zhǔn)做法。如果線上要頻繁做這種關(guān)聯(lián)的查詢,就說明兩個服務(wù)(及其兩個庫)的耦合非常嚴(yán)重,那當(dāng)初何必要把它們拆開來呢?

如果是分析報表,那就屬于OLAP范疇了,方案二確實是一種可取的方案。如果使用搜索引擎覺得殺雞用牛刀的話,不妨試試在從庫上做各種報表分析操作,比如線上的A庫和B庫都實時同步到一個只讀庫中,然后在只讀庫里JOIN一下就搞定了。

回答2:

微服務(wù)的一個設(shè)計原則是業(yè)務(wù)沒有關(guān)聯(lián)的服務(wù)拆開成單獨的服務(wù),你這個業(yè)務(wù)之間有交叉了。

回答3:

其實這種問題在微服務(wù)中很常見,比如說需要通過商品上的一些信息查詢訂單,訂單和商品分別屬于兩個微服務(wù),該類問題的解決方案除了你自己兩種方案,還有

將數(shù)據(jù)聚合放入數(shù)據(jù)倉庫,實時聚合A和B中的數(shù)據(jù)放入另外一個庫中(不一定是mysql,也可以是Hbase),報表拉的數(shù)據(jù)都從數(shù)據(jù)倉庫中拉去

表設(shè)計的時候適當(dāng)冗余一些字段,就如你說的在B上可預(yù)見性的冗余一些A的字段

方法1有一個很致命的缺點,一旦涉及到分頁,這種方式必定不可行.具體采用哪種方案,還是需要根據(jù)你的數(shù)據(jù)對應(yīng)的數(shù)量級來決定,如果對應(yīng)的數(shù)據(jù)量不是很大,可以采用方法1,如果速度比較慢,可以多開幾個線程分批撈相應(yīng)的數(shù)據(jù)(id數(shù)量太多分批拉,批量查詢都是可以減少超時情況和時間的有效解決方案);如果數(shù)據(jù)量很大,建議采用數(shù)據(jù)倉庫的方式,采用數(shù)據(jù)倉庫的主要好處是,對主庫不會產(chǎn)生壓力,因為聚合表的產(chǎn)生可以通過Binlog來獲取;因為報表還是屬于離線數(shù)據(jù)的范疇,如果真的需要像訂單查詢那樣實時,效率很高期間還伴隨著狀態(tài)的該表,并且搜索條件巨多無比,那么搜索引擎是一個很好的選擇所以,可以根據(jù)實際情況采用方法1和方法3

回答4:

生成報表這樣的需求就不應(yīng)該放在業(yè)務(wù)數(shù)據(jù)庫系統(tǒng)中,你可以在后端做一套o(hù)tter匯聚庫,實時同步多個服務(wù)的數(shù)據(jù)進(jìn)來,然后在這個匯聚庫中你想怎么玩就怎么玩

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 欧美成人视 | 欧美一级片 在线播放 | 成年人黄国产 | www.久草| 大陆老太xxxxxxxxhd | 国产在线观看免费人成小说 | japanese色系国产在线高清 | 91成人在线播放 | av毛片免费看 | 欧洲成人在线 | 91精品国产高清91久久久久久 | 国产观看在线 | 免费播放毛片 | 成人国产精品免费网站 | 99久久久国产精品免费播放器 | 日本高清专区一区二无线 | 91精品国产色综合久久不 | www亚洲精品| 神马我我不卡伦影视 | 亚洲国产精品自在现线让你爽 | 亚洲欧美日本韩国综合在线观看 | 男人女人做刺激视频免费 | 美女日韩在线观看视频 | 男人桶女人逼 | 国内精品视频九九九九 | 老头老太做爰xxx视频 | 欧美人禽杂交狂配毛片 | 国产精品一区在线播放 | 亚洲欧美日韩精品久久亚洲区 | 国产亚洲一区在线 | 色偷偷亚洲女人天堂观看欧 | 喷潮白浆| 精品国产高清在线看国产 | 亚洲第一视频网站 | 亚洲欧美日韩在线精品一区二区 | 真人毛片免费全部播放完整 | 国产成人高清视频在线观看免费97 | 手机在线免费毛片 | 在线中文字幕播放 | 日本一区二区三区国产 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文!!! |