原理 | 技術 |
---|---|
負載均衡 | ZooKeeper |
分佈式緩存 | memcache |
持久化存儲 | MySQL,HBase,Redis |
消息系統 | ActiveMQ & JMS, HornetQ, RabbitMQ |
垂直化搜索引擎 | Lucene,Solr |
日誌收集 | ActiveMQ-CPP,Chukwa |
離線數據分析 | Hadoop,MapReduce,Hive |
流式數據分析 | Strom |
數據報表 | Highcharts |
負載均衡
ZooKeeper,一個針對大型分佈式系統的可靠的協調系統,提供的功能包括配置維護、名字服務、分佈式服務、組服務等。
分佈式緩存
一、memcache
一款開源的高性能的分佈式內存對象緩存系統,使用key-value形式存儲和訪問數據,在內存中維護一張巨大的HashTable,使得對數據查詢的時間複雜度降低到O(1),用於在應用中減少對數據庫的訪問,提高應用的訪問速度,並降低數據庫的負載。
二、分佈式session
基於memcache,將session統一存儲在緩存集羣上。
持久化存儲
一、MySQL擴展
二、HBase
HBase實現了高可靠性、高可擴展性、實時讀寫的列存儲數據庫,本質是一張稀疏的大表,用來存儲粗粒度的結構化數據,並通過簡單地增加節點來實現系統的線性擴展。
HBase運行在分佈式文件系統HDFS上,包含HMaster和HRegionServer。
三、Redis
Redis是一個高性能的key-value數據庫。
消息系統
ActiveMQ
ActiveMQ是一個開源的消息系統,完全採用java實現,支持J2EE提出的JMS規範。
RabbitMQ
垂直化搜索引擎
一、Lucene
Lucene是一款高性能、可伸縮的開源的信息檢索庫,容易爲應用程序添加文本搜索功能。
二、Solr
Solr是一個基於Lucene、功能強大的搜索引擎工具
數據分析
一、ActiveMQ-CPP
ActiveMQ-CPP是CMS(類似於java的JMS,是c++程序與消息中間件進行通信的一種標準接口)的一種實現,是一個能夠與ActiveMQ進行通信的C++客戶端庫。
二、Chukwa
Chukwa是基於Hadoop開發的數據採集與分析的框架,用於支持大型分佈式系統的海量日誌的收集與分析工作。
三、Hadoop
Hadoop是一個提供可伸縮的、可信賴的分佈式計算的開源項目。
四、MapReduce
MapReduce是一種處理海量數據的並行編程模型和計算框架,用於對大規模數據集進行並行計算。
五、Hive
Hive是基於Hadoop的一個數據倉庫工具,可以將HDFS存儲的結構化的數據文件映射爲一張數據庫表,並提供完整的SQL查詢功能,將SQL語句轉換爲MapReduce任務進行運行。
六、Storm
Storm是一個開源的分佈式實時計算系統,可以簡單、可靠地對大量的流式數據進行分析處理。
七、Sqoop
Sqoop是一個開源數據同步工具,支持關係型數據到Hadoop的數據導入和導出。
八、Highcharts
Highcharts是一個非常流行、界面美觀、功能豐富的JavaScript圖表庫,包含Highcharts和Highcharts。