HustStore360高性能分布式存儲服務(wù)
HustStore- 高性能分布式存儲服務(wù)
huststore 是一個高性能的分布式存儲服務(wù),不但提供了 10w QPS 級別的 kv 存儲的功能,還提供了 hash、set 等一系列數(shù)據(jù)結(jié)構(gòu)的支持,并且支持 二進(jìn)制 的 kv 存儲,可以完全取代 Redis 的功能。此外,huststore 還結(jié)合特有的 HA 模塊實(shí)現(xiàn)了分布式消息隊(duì)列的功能,包括消息的流式推送,以及消息的 發(fā)布-訂閱 等功能,可以完全取代 RabbitMQ 的功能。
特性
huststore 分為 hustdb 以及 HA 模塊兩大部分。hustdb (存儲引擎)的底層設(shè)計(jì)采用了自主開發(fā)的 fastdb,通過一套獨(dú)特的 md5 db 將QPS 提升至 10w 級別的水準(zhǔn)(含網(wǎng)絡(luò)層的開銷)。HA 以 nginx 模塊的方式開發(fā)。nginx 是工業(yè)級的 http server 標(biāo)準(zhǔn),得益于此,huststore 具備以下特性:
高吞吐量
hustdb 的網(wǎng)絡(luò)層采用了開源的 libevhtp 來實(shí)現(xiàn),結(jié)合自主研發(fā)的高性能 fastdb 存儲引擎,性能測試 QPS 在 10w 以上。高并發(fā)
參考 nginx 的并發(fā)能力。高可用性
huststore 整體架構(gòu)支持 Replication (master-master),支持 load balance 。
HA 的可用性由nginx 的 master-worker 架構(gòu)所保證。當(dāng)某一個 worker 意外掛掉時, master 會自動再啟動一個 worker 進(jìn)程,而且多個 worker 之間是相互獨(dú)立的,從而保證了 HA 的高可用性。
huststore 的高可用性由其整體架構(gòu)特點(diǎn)保證。由于 hustdb 的存儲節(jié)點(diǎn)采用了 master-master 的結(jié)構(gòu),當(dāng)某一個存儲節(jié)點(diǎn)掛掉時,HA 會自動將請求打到另外一臺 master,同時 HA 會按照自動進(jìn)行負(fù)載均衡,將數(shù)據(jù)分布存儲在多個 hustdb節(jié)點(diǎn)上,因此存儲引擎不存在單點(diǎn)限制。
同時 HA 集群本身也是分布式的設(shè)計(jì),而且每個 HA 節(jié)點(diǎn)都是獨(dú)立的,當(dāng)某一臺 HA 掛掉時, LVS 會自動將請求打到其他可用的 HA 節(jié)點(diǎn),從而解決了 HA 得單點(diǎn)限制。通用性的接口
huststore 使用 http 作為通用協(xié)議,因此客戶端的實(shí)現(xiàn)不限制于語言。支持二進(jìn)制的 key-value
