原理 | 技术 |
---|---|
负载均衡 | 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。