`

大型分布式系统组成元素

阅读更多
#1,分布式跟踪系统
     监控平台,如淘宝的鹰眼。用于跟踪请求处理调用链关系,并将各环节请求处理时间,处理结果等信息通过日志系统存入数据库。便于排查错误和分析性能瓶颈等作用。分布式跟踪系统要做到低损耗,低侵入性(最好能做到对应用层代码透明)等特性。
       
#2,消息中间件
     作用:异步,解耦,并行,流量削峰(activeMq,rabbiteMq,kafka,zeroMq等),对于秒杀类场景,可以使用mq进行流量削峰,将客户端抢购请求封装成消息,投入mq。由后台系统异步去处理抢购请求,从而可以避免大量请求直接打到应用服务器,数据库服务器,造成系统瘫痪。后台处理系统可以采用按批次处理抢购请求,比如1次处理100个请求。从而可以很好的控制对数据库系统造成的压力。

#3,分布式缓存系统
     作用:缓存热点数据,减轻数据库系统压力,提升服务响应性能(redis,memcached等),要做到缓存系统的高可用,一般采用主从模式,redis自带数据复制功能,但memcached不支持数据复制,必须采用第三方插件repcached,完成主从之间的复制,memcached sdk支持failuremode,当主库宕机后,能够自动将请求转到从库。或者使用keepalived插件实现双机浮动的高可用方案。

#4,分布式文件系统(fastDFS)

#5,分布式日志收集系统
     作用:收集应用系统日志,用于系统分析
     flume(日志采集器) -> kafka(日志缓冲队列) -> storm(实时分析框架) -> mongodb或hdfs或关系型数据库(分析结果入库)

#6,分布式数据库集群
      mysql数据库,当单表数据量达到千万级别时,就要考虑数据的水平切分了,mysql单表数据量一亿时,select count(1) from t_table_a,耗时24秒左右,性能慢的是让人难以忍受的。所以对于数据按时间,Id,hash等规则水平切分到不同分库里(mycat中间件代理),按业务进行垂直拆分,将不同业务表,分到不同的业务库里。以此提升数据库服务器响应性能。
      
#7,集群配置管理系统
     作用:管理应用系统配置及服务降级开关等配置,可以采用netty自己实现配置变更推送功能。
     
#8,SOA服务化治理
     作用:服务动态发现,服务治理,服务监控等功能。例如:阿里的dubbo , 当当网的dubbox。

#9,负载均衡,反向代理
     作用:流量分发,失效转发 failover,反向代理等功能。例如:nginx , haproxy , lvs。
 
分享到:
评论

相关推荐

    大型分布式系统的近似可靠性评估

    为了评估具有有限计算资源的大型分布式系统的复杂结构功能,通常的做法是截断BDD。 使用截短的BDD(比精确的BDD小得多),可以计算出近似的可靠性。 本文提出了一种高效的BDD截断算法,该算法采用惰性机制和写回...

    《计算机操作系统》期末复习指导

    操作系统的五大类型是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 多道程序设计的基础:是将...

    设计学生学籍管理系统

    本系统的开发采用的是PowerBuilder9.0,它是一个大型数据库应用系统的开发平台,基于客户/服务器的体系结构,可以广泛开发适合于远程数据库和本地数据库的应用系统。它除拥有其他开发平台的界面制作的优秀控件之外,...

    软件工程知识点

    通过系统的外部事件、内部状态为基本元素来描绘系统的工作流程,这种建模方式比较适合于描述一些依赖于外部事件驱动的实时系统。 5.需求有效性验证 需求有效性验证是指对已经产生的需求结论所要进行的检查与评价。...

    超级有影响力霸气的Java面试题大全文档

    堆是栈的一个组成元素 22、forward 和redirect的区别  forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从...

    数据可视化分析.docx

    数据采集系统的组成元件当中包括用于将测量参数转换成为电信号的传感器,而这些电信号则是由数据采集硬件来负责获取的。 数据分析 数据分析是指为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。...

    java 面试题 总结

    堆是栈的一个组成元素 19、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...

    会计理论考试题

    34.对话框常见的组成元素不含___A___。 A、菜单栏 B、复选栏 C、标签 D、滚动条 35.有关Windows屏幕保护程序的说法,正确的是___A____。 A、可以减少屏幕损耗 B、可以节省计算机内存 C、可以保障系统安全 D、可以...

    ASP.NET的网页代码模型及生命周期

    ASP.NET网页一般由三部分组成,这三个部分如下所示。 q 可视元素:包括HTML,标记,服务器空间。 q 页面逻辑元素:包括事件处理程序和代码。 q designer.cs页文件:用来为页面的控件做初始化工作,一般只有ASP.NET...

    二十三种设计模式【PDF版】

    汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder 模式就是将这两 种情况分开进行。 设计模式之 Prototype(原型) 用原型实例指定创建对象的种类,并且通过拷贝这些...

Global site tag (gtag.js) - Google Analytics