自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

GemFire——12306背后的分布式內(nèi)存對象緩存系統(tǒng)

云計(jì)算 分布式
我們通過把對象或數(shù)據(jù)緩存在內(nèi)存中,減少對傳統(tǒng)關(guān)系型數(shù)據(jù)庫的讀寫次數(shù)(減少IO瓶頸),從而使我們的應(yīng)用支持更多的TPS,更多的并發(fā)用戶數(shù)。GemFire能夠在部分場景下對關(guān)系型數(shù)據(jù)庫起到很好的補(bǔ)充(甚至替代)作用,它可以作為應(yīng)用層與傳統(tǒng)數(shù)據(jù)層的“潤滑劑”。

一、GemFire是什么?

如果你了解Redis或memCached,那么恭喜,你很快就能理解GemFire是什么,沒錯,你可以把它理解為一個增強(qiáng)版的Redis,具體在哪些方面增強(qiáng),我們?nèi)蘸舐摹H绻悴涣私釸edis,也沒有關(guān)系,先看官方網(wǎng)站上的說法:Pivotal GemFire is the distributed, in-memory database for developers who are building the highest scaling and performing data-centric apps in the world. 但是,按照我對它的理解,我更愿意用下面的語言來描述它,GemFire是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),如果非要說它是數(shù)據(jù)庫,那也只能算是一個Key/Value數(shù)據(jù)庫(我更愿意稱之為Key/Value存儲系統(tǒng))

我們通過把對象或數(shù)據(jù)緩存在內(nèi)存中,減少對傳統(tǒng)關(guān)系型數(shù)據(jù)庫的讀寫次數(shù)(減少IO瓶頸),從而使我們的應(yīng)用支持更多的TPS,更多的并發(fā)用戶數(shù)。GemFire能夠在部分場景下對關(guān)系型數(shù)據(jù)庫起到很好的補(bǔ)充(甚至替代)作用,它可以作為應(yīng)用層與傳統(tǒng)數(shù)據(jù)層的“潤滑劑”。

二、關(guān)于GemFire的前世今生?

GemFire的***個版本發(fā)布于2002年3月份,當(dāng)時它還屬于一家獨(dú)立的公司GemStone Systems.后來GemStone System這家公司被VMware給收購了,GemFire也被整合到了VMware Vfabric產(chǎn)品線。請注意,VMWare當(dāng)時也收購了Redis項(xiàng)目。在2013年4月EMC與VMware/GE合資成立一家新公司Pivotal,VMware慷慨的貢獻(xiàn)出了它的vfabric產(chǎn)品線,以及它收購的一些開源項(xiàng)目。

目前,GemFire的商業(yè)版權(quán)已經(jīng)屬于Pivotal了。順便說一句,Redis的創(chuàng)始人Salvatore Sanfilippo 現(xiàn)在也供職于Pivotal.

三、GemFire有什么特點(diǎn)?

分布式數(shù)據(jù)存儲

  • 穩(wěn)定而高性能的的基于內(nèi)存的數(shù)據(jù)數(shù)據(jù)存儲
  • 靈活的Cache部署策略:點(diǎn)對點(diǎn)(peer to peer);客戶端/服務(wù)端(client server);多集群(multiple clusters)的本地或遠(yuǎn)程數(shù)據(jù)同步,支持?jǐn)?shù)據(jù)高性能災(zāi)備和雙活
  • 靈活的Region(數(shù)據(jù)對象集或者可理解為表)分布式處理:同一 集合數(shù)據(jù)(可理解為一個表的數(shù)據(jù))可以整集多點(diǎn)同步或切割后不同點(diǎn)保存,并支持?jǐn)?shù)據(jù)實(shí)時再平衡(rebalance)既數(shù)據(jù)分隔保存后若加入新的空閑服務(wù) 器,數(shù)據(jù)可以在不重啟服務(wù)的情況下重新切割和平衡數(shù)據(jù),從而達(dá)到真正的數(shù)據(jù)在線動態(tài)延展
  • 具有持續(xù)性的數(shù)據(jù)高可用性和容錯性:各個分散的 數(shù)據(jù)點(diǎn)可以配置一個或多個基于內(nèi)存的熱備數(shù)據(jù)點(diǎn),當(dāng)主數(shù)據(jù)點(diǎn)宕機(jī)的情況下,其中一個熱備點(diǎn)就會提升稱為主數(shù)據(jù)點(diǎn),同時可以繼續(xù)在空閑機(jī)器上創(chuàng)建備份點(diǎn),從 而達(dá)到數(shù)據(jù)的持續(xù)的可用性。同時數(shù)據(jù)可以通過配置同步或異步地持續(xù)化到本地硬盤,或者到指定的數(shù)據(jù)庫或文件中。
  • 數(shù)據(jù)地客戶端緩存:客戶端可以將最常用數(shù)據(jù)緩存一個備份與本地,進(jìn)一步加快效能

在線數(shù)據(jù)備份

  • 數(shù)據(jù)全內(nèi)存和部分內(nèi)存策略:通過配置可以將數(shù)據(jù)全部存入內(nèi)存,或者通過將非頻繁使用數(shù)據(jù)擠出策略(LRU)來將部分頻繁適用數(shù)據(jù)保存于內(nèi)存中達(dá)到成本效益***化
  • 內(nèi)置資源優(yōu)化器用以降低JAVA GC所帶來的延遲,支持單個大容量Cache點(diǎn)(一般服務(wù)器可配置超過40GB內(nèi)存的Java heap size)
  • 安全支持:基于用戶和角色的數(shù)據(jù)訪問,數(shù)據(jù)傳輸渠道加密(SSL)

數(shù)據(jù)存取

  • 除key-value簡單cache支持外,支持復(fù)雜數(shù)據(jù)對象和關(guān)系存儲
  • 豐富的OQL(類SQL)的查詢語言支持
  • 支持?jǐn)?shù)據(jù)單記錄或批處理
  • 本地或分布式事務(wù)處理
  • Map-Reduce并行查詢:同一查詢命令可并行發(fā)送到各Cache點(diǎn)(Map),結(jié)果集自動在客戶端匯合(Reduce)
  • 智能定點(diǎn)查詢:查詢命令在包含數(shù)據(jù)特征如主鍵值時,查詢命令會自動***數(shù)據(jù)點(diǎn)

服務(wù)和事件

  • Function支持: Function相當(dāng)于一個數(shù)據(jù)庫存儲過程,區(qū)別在于其可動態(tài)植入Cache點(diǎn)。
  • 親密關(guān)系數(shù)據(jù)同業(yè)務(wù)邏輯聚合:親密關(guān)系數(shù)據(jù)指需要相互直接依賴完成一個交易的多個數(shù)據(jù),例如客戶A和屬于客戶A的產(chǎn)品數(shù)據(jù)。GemFire可以將業(yè)務(wù)邏輯涉及到親密關(guān)系數(shù)據(jù)放到同一個計(jì)算機(jī)進(jìn)程來處理,避免數(shù)據(jù)網(wǎng)絡(luò)傳輸和數(shù)據(jù)序列化等帶來的延遲,并極大體現(xiàn)Share Nothing的涉及理念,因?yàn)榛ハ嗖灰蕾噺亩哟蠓?wù)的涉及延展性
  • ***化的并行處理:數(shù)據(jù)各子集合和業(yè)務(wù)邏輯可分散在各點(diǎn)并行處理,而不需要想數(shù)據(jù)庫等產(chǎn)皮按順序處理
  • 事件監(jiān)聽處理:Cache點(diǎn)可以根據(jù)數(shù)據(jù)的增、刪、改和過期等事件來觸發(fā)另外的業(yè)務(wù)邏輯處理。
  • 類消息隊(duì)列處理:客戶端可以注冊其感興趣數(shù)據(jù)在Cache點(diǎn),當(dāng)滿足條件數(shù)據(jù)出現(xiàn)時,自動向客戶端發(fā)布。可實(shí)現(xiàn)類似于消息隊(duì)列的Queue 或 Topic機(jī)制。
  • 持續(xù)查詢功能:客戶端可以定制復(fù)雜查詢條件在Cache點(diǎn),同樣在滿足條件的數(shù)據(jù)出現(xiàn)時向客戶端發(fā)送。
  • Delta數(shù)據(jù)傳輸:所有數(shù)據(jù)的網(wǎng)絡(luò)同步可以選擇只將變化碎片傳輸同步,例如當(dāng)一個客戶只有地址數(shù)據(jù)發(fā)生改變時,就只需要將地址同步而非整個客戶數(shù)據(jù)對象。

整合與管理

  • Cache的監(jiān)控和數(shù)據(jù)分析工具,便于管理
  • Springdata-GemFire項(xiàng)目,使得GemFire和Spring的集成渾然一體

***,想問一句,今年你買到回家的火車票了嗎?如果你用過12306的網(wǎng)站,那么GemFire已經(jīng)為你服務(wù)過了,雖然只是余票查詢。

【本文來源:科技***微信號】

責(zé)任編輯:Ophira 來源: 科技百分百微信號
相關(guān)推薦

2022-04-07 17:13:09

緩存算法服務(wù)端

2020-07-08 11:59:52

分布式系統(tǒng)緩存

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2017-12-12 14:51:15

分布式緩存設(shè)計(jì)

2009-11-09 09:25:24

Memcached入門

2023-05-12 08:23:03

分布式系統(tǒng)網(wǎng)絡(luò)

2023-05-05 06:13:51

分布式多級緩存系統(tǒng)

2009-02-06 09:38:38

memcached分布式緩存系統(tǒng)ASP.NET

2013-04-19 11:03:32

memcahce入門教分布式緩存系統(tǒng)

2023-05-12 11:52:21

緩存場景性能

2023-02-11 00:04:17

分布式系統(tǒng)安全

2023-05-29 14:07:00

Zuul網(wǎng)關(guān)系統(tǒng)

2013-06-13 11:29:14

分布式分布式緩存

2019-02-18 11:16:12

Redis分布式緩存

2023-02-28 07:01:11

分布式緩存平臺

2023-10-26 18:10:43

分布式并行技術(shù)系統(tǒng)

2017-10-27 08:40:44

分布式存儲剪枝系統(tǒng)

2022-03-06 23:14:56

緩存分布式系統(tǒng)

2009-02-10 08:57:01

分布式緩存.Net開發(fā)

2023-01-13 07:39:07

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號