成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我堅決反對,通過緩存傳遞數據!

開發 架構
我旗幟鮮明的反對“服務之間通過緩存傳遞數據”,下面三種場景,這種設計都不適合。

朋友說他有一個巧妙架構方案,服務之間通過緩存傳遞數據:

如上圖:

  • service-A將數據放入cache;
  • service-B從cache里讀取數據;

朋友問我,這種架構設計好還是不好?

我旗幟鮮明的反對“服務之間通過緩存傳遞數據”,下面三種場景,這種設計都不適合。

場景一:數據管道場景,MQ比cache更加適合。

如果只是單純的將cache作為兩個服務數據通訊的管道,service-A生產數據,service-B(當然,可能有service-C/service-D等)訂閱數據,MQ比cache更加合適:

  • MQ是互聯網常見的邏輯解耦,物理解耦組件,支持1對1,1對多各種模式,非常成熟的數據通道;
  • 而cache反而會將service-A/B/C/D耦合在一起,大家要彼此協同約定key的格式,ip地址等;
  • MQ能夠支持push,而cache只能拉取,不實時,有時延;
  • MQ能支持數據落地,cache具備將數據存在內存里,具有“易失”性,當然,有些cache支持落地,但互聯網技術選型的原則是,讓專業的軟件干專業的事情:nginx做反向代理,db做固化,cache做緩存,mq做通道;

綜上,數據管道場景,MQ比cache更加適合。

場景二:數據共管場景,兩個(多個)service同時讀寫一個cache實例會導致耦合。

如果不是數據管道,是兩個(多個)service對一個cache進行數據共管,同時讀寫,也是不推薦的,這些service會因為這個cache耦合在一起:

  • 大家要彼此協同約定key的格式,ip地址等,耦合;
  • 約定好同一個key,可能會產生數據覆蓋,導致數據不一致;
  • 不同服務業務模式,數據量,并發量不一樣,會因為一個cache相互影響;

例如:

service-A數據量大,占用了cache的絕大部分內存,會導致service-B的熱數據全部被擠出cache,導致cache失效。

又例如:

service-A并發量高,占用了cache的絕大部分連接,會導致service-B拿不到cache的連接,從而服務異常。

綜上,數據共管場景,多個service耦合在一個cache實例里,也是不推薦的,需要垂直拆分,實例解耦。

場景三:數據訪問場景,兩個(多個)service有讀寫一份數據的需求。

根據服務化的原則,數據是私有的(本質也是解耦):

  • service層會向數據的需求方屏蔽下層存儲引擎,分庫,chace的復雜性;
  • 任何需求方不能繞過service讀寫其后端的數據;

假設有其他service要有數據獲取的需求,應該通過service提供的RPC接口來訪問,而不是直接讀寫后端的數據,無論是cache還是db。

簡單總結

不管哪種場景,服務之間都不要使用緩存來傳遞數據:

  • 數據管道場景:MQ比cache更合適;
  • 數據共管場景:多個服務不應該共用一個cache實例,應該垂直拆分解耦;
  • 數據訪問場景:服務化架構,不應該繞過service讀取其后端的cache/db,而應該通過RPC接口訪問;

知其然,知其所以然。

思路比結論更重要。

責任編輯:趙寧寧 來源: 架構師之路
相關推薦

2021-07-01 10:13:51

緩存數據存儲服務化架構

2021-06-28 09:36:05

系統分層架構微服務架構

2021-12-10 06:07:56

電腦360病毒

2021-03-19 09:37:30

運營商外交部中國聯通

2020-09-04 15:20:10

印度APPTikTok

2012-08-22 09:32:54

面試面試題

2020-04-13 13:56:07

AI 論文開源

2021-05-05 10:46:12

Spectre攻擊數據泄露

2020-08-11 15:54:15

數據中心整合數據中心

2009-12-03 08:55:12

Java EE 6

2015-06-01 15:00:22

程序員

2024-03-14 10:30:05

緩存場景DEMO

2009-06-24 13:14:11

URL來傳遞參數JSF

2009-09-04 11:00:13

通過C#引用傳遞

2010-03-29 09:26:23

大學生創業李開復

2016-03-03 19:31:04

隱私安全Facebook

2017-09-21 10:00:07

緩存web服務器

2010-06-09 15:30:51

2010-09-26 17:21:07

2009-09-03 09:12:58

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲欧美日韩精品专区 | 成人特区| 久久一区二区视频 | 亚洲欧美在线观看 | 成人国产精品久久 | 日本一区二区不卡 | 国产成人福利 | 久久精品免费 | 亚洲一区二区三区福利 | 久久久久久久国产精品视频 | 精品国产乱码久久久久久闺蜜 | 精品国产乱码久久久久久1区2区 | 亚洲 自拍 另类 欧美 丝袜 | 亚洲视频精品在线 | 国产精品69久久久久水密桃 | 国产成人99久久亚洲综合精品 | 天天久| 中文字幕av亚洲精品一部二部 | 国产精品美女久久久久久不卡 | 日韩资源 | 7777在线视频| julia中文字幕久久一区二区 | 成人欧美一区二区三区在线观看 | 羞羞在线视频 | 国产精品中文字幕在线观看 | 久久久久久一区 | 久久久成人免费视频 | 国产精品久久久久一区二区三区 | 可以在线观看av的网站 | 伊人久久伊人 | 在线第一页 | www.久久| 久久久精| 做a网站| 日本久久久久久 | 亚洲成a | 中文字幕在线视频免费观看 | 午夜午夜精品一区二区三区文 | 日本视频中文字幕 | 日韩精品一区二区三区中文字幕 | 国产激情精品一区二区三区 |