大型網站技術架構(二):架構體系的技術介紹

原理 技術
負載均衡 ZooKeeper
分佈式緩存 memcache
持久化存儲 MySQL,HBase,Redis
消息系統 ActiveMQ & JMS, HornetQ, RabbitMQ
垂直化搜索引擎 Lucene,Solr
日誌收集 ActiveMQ-CPP,Chukwa
離線數據分析 Hadoop,MapReduce,Hive
流式數據分析 Strom
數據報表 Highcharts

負載均衡

ZooKeeper,一個針對大型分佈式系統的可靠的協調系統,提供的功能包括配置維護、名字服務、分佈式服務、組服務等。

Zookeeper官網

ZooKeeper API r3.4..9

ZooKeeper java


分佈式緩存

一、memcache

一款開源的高性能的分佈式內存對象緩存系統,使用key-value形式存儲和訪問數據,在內存中維護一張巨大的HashTable,使得對數據查詢的時間複雜度降低到O(1),用於在應用中減少對數據庫的訪問,提高應用的訪問速度,並降低數據庫的負載。

memcache協議

Memcached-Java-Client

memcache官網

memcache api

memcache github

二、分佈式session

基於memcache,將session統一存儲在緩存集羣上。

memcached-session-manager


持久化存儲

一、MySQL擴展

二、HBase

HBase實現了高可靠性、高可擴展性、實時讀寫的列存儲數據庫,本質是一張稀疏的大表,用來存儲粗粒度的結構化數據,並通過簡單地增加節點來實現系統的線性擴展。

HBase運行在分佈式文件系統HDFS上,包含HMaster和HRegionServer。

HBase項目

hidex的二級索引解決方案

三、Redis

Redis是一個高性能的key-value數據庫。

redis命令

redis client

Jedis項目

redis 中文api


消息系統

ActiveMQ

ActiveMQ是一個開源的消息系統,完全採用java實現,支持J2EE提出的JMS規範。

activeMQ

RabbitMQ

rabbitMQ


垂直化搜索引擎

一、Lucene

Lucene是一款高性能、可伸縮的開源的信息檢索庫,容易爲應用程序添加文本搜索功能。

Lucene

二、Solr

Solr是一個基於Lucene、功能強大的搜索引擎工具

Solr


數據分析

一、ActiveMQ-CPP

ActiveMQ-CPP是CMS(類似於java的JMS,是c++程序與消息中間件進行通信的一種標準接口)的一種實現,是一個能夠與ActiveMQ進行通信的C++客戶端庫。

ActiveMQ-CPP

二、Chukwa

Chukwa是基於Hadoop開發的數據採集與分析的框架,用於支持大型分佈式系統的海量日誌的收集與分析工作。

chuwa

三、Hadoop

Hadoop是一個提供可伸縮的、可信賴的分佈式計算的開源項目。

hadoop

四、MapReduce

MapReduce是一種處理海量數據的並行編程模型和計算框架,用於對大規模數據集進行並行計算。

五、Hive

Hive是基於Hadoop的一個數據倉庫工具,可以將HDFS存儲的結構化的數據文件映射爲一張數據庫表,並提供完整的SQL查詢功能,將SQL語句轉換爲MapReduce任務進行運行。

Hive

六、Storm

Storm是一個開源的分佈式實時計算系統,可以簡單、可靠地對大量的流式數據進行分析處理。

storm

七、Sqoop

Sqoop是一個開源數據同步工具,支持關係型數據到Hadoop的數據導入和導出。

Sqoop

八、Highcharts

Highcharts是一個非常流行、界面美觀、功能豐富的JavaScript圖表庫,包含Highcharts和Highcharts。

Highcharts

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章