大型网站技术架构(二):架构体系的技术介绍

来源:互联网 发布:淘宝联盟pc客户端 编辑:程序博客网 时间:2024/05/17 09:19
原理 技术 负载均衡 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

0 0