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

務必慎用!打破“無狀態”的進程內緩存

開發
與沒有緩存相比,進程內緩存的好處是,數據讀取不再需要訪問后端,例如數據庫。一來節省了內網帶寬,二來響應時延會更低。

大部分時候,大家會用redis這類進程外緩存服務。有時候也使用進程內緩存。

什么是進程內緩存?

答:將一些數據緩存在站點,或者服務的進程內,這就是進程內緩存。

進程內緩存的實現載體,最簡單的,可以是一個帶鎖的Map。又或者,可以使用第三方庫,例如leveldb。

進程內緩存有什么好處?

答:與沒有緩存相比,進程內緩存的好處是,數據讀取不再需要訪問后端,例如數據庫。一來節省了內網帶寬,二來響應時延會更低。

進程內緩存有什么缺點?

答:統一緩存服務雖然多一次網絡交互,但仍是統一存儲。

如上圖,站點和服務中的多個節點訪問統一的緩存服務,數據統一存儲,容易保證數據的一致性。

而進程內緩存,如上圖,如果數據緩存在站點和服務的多個節點內,數據存了多份,一致性比較難保障。

如何保證進程內緩存的數據一致性?

答:保障進程內緩存一致性,有幾種方案。

第一種方案,可以通過單節點通知其他節點。如上圖:寫請求發生在server1,在修改完自己內存數據與數據庫中的數據之后,可以主動通知其他server節點,也修改內存的數據。

這種方案的缺點是:同一功能的一個集群的多個節點,相互耦合在一起,特別是節點較多時,網狀連接關系極其復雜。

第二種方案,可以通過MQ通知其他節點。如上圖,寫請求發生在server1,在修改完自己內存數據與數據庫中的數據之后,給MQ發布數據變化通知,其他server節點訂閱MQ消息,也修改內存數據。

這種方案雖然解除了節點之間的耦合,但引入了MQ,使得系統更加復雜。

上兩種方案,節點數量越多,數據冗余份數越多,數據同時更新的原子性越難保證,一致性也就越難保證。

為什么不能頻繁使用進程內緩存?

答:分層架構設計,有一條準則:站點層、服務層要做到無數據無狀態,這樣才能任意的加節點水平擴展,數據和狀態盡量存儲到后端的數據存儲服務,例如數據庫服務或者緩存服務。

可以看到,站點與服務的進程內緩存,實際上違背了分層架構設計的無狀態準則,故一般不推薦使用。

什么時候可以使用進程內緩存?

答:以下情況,可以考慮使用進程內緩存。

  • 情況一,只讀數據,可以考慮在進程啟動時加載到內存。
  • 情況二,極其高并發的,如果透傳后端壓力極大的場景,可以考慮使用進程內緩存。例如,秒殺業務,并發量極高,需要站點層擋住流量,可以使用進程內緩存。
  • 情況三,一定程度上允許數據不一致業務。例如,有一些計數場景,運營場景,頁面對數據一致性要求較低,可以考慮使用進程內頁面緩存。

末了,再次強調,進程內緩存的適用場景并不如redis廣泛,不要為了炫技而使用。更多的時候,還是老老實實使用redis/mc吧。

知其然,知其所以然。

思路比結論更重要。

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

2018-06-26 15:58:39

進程內緩存緩存數據

2024-04-30 11:14:19

KubernetesReplicaSet數量

2020-06-30 08:41:38

HTTP無狀態協議

2018-03-30 16:03:04

軟件無狀態”

2020-03-27 10:50:29

DSL 狀態機工具

2024-11-18 16:28:20

2013-12-09 09:56:30

NAT64IPv6stateful

2024-05-30 11:53:51

2011-11-16 10:46:33

Ehcache

2015-03-25 11:47:57

HTTP協議SessionCookie

2023-12-01 07:03:16

2021-03-09 20:52:01

架構無狀態服務

2009-06-16 13:30:32

REST無狀態

2022-07-20 07:23:40

Kubernetes容器

2010-05-25 09:51:45

IPv6無狀態地址自動

2016-03-11 09:46:26

面向對象設計無狀態類

2020-08-11 10:20:26

http數據庫狀態

2021-08-05 16:10:03

進程緩存緩存服務Java

2016-07-12 10:09:13

OpenManage大

2009-06-10 12:54:35

無狀態的SessionEclipse+JBo
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 视频一区二区三区在线观看 | 成人一级黄色片 | 亚洲精品视频免费 | www.日本黄色 | 日本熟妇毛耸耸xxxxxx | 日韩一级在线 | 午夜在线观看视频 | 午夜av网站 | 亚洲黄色一级 | 精品国产乱码久久久久久影片 | 国产精品免费一区 | 亚洲成年人 | 久久精品av| 四虎黄色片| 福利片在线 | 亚洲一区二区三区在线视频 | 99视频网 | 亚洲精品在线免费 | 欧美日韩中文字幕在线观看 | 欧美福利在线 | 一区二区三区四区视频在线观看 | 国产一区二区中文字幕 | 国产午夜免费视频 | av网站免费在线观看 | 一区二区三区四区在线视频 | 久久小视频 | 成人小视频在线观看 | 黄色av观看 | 久久视频免费看 | 逼逼操| 色呦呦国产精品 | 91福利在线视频 | 手机看片国产 | 伊人精品久久 | 免费黄色大片 | 婷婷久久综合 | www.久久久久久 | 日韩黄网| 五月久久 | 欧美在线网站 | 免费在线看黄网站 |