互联网系统架构-课件.ppt

上传人(卖家):ziliao2023 文档编号:5951654 上传时间:2023-05-18 格式:PPT 页数:58 大小:2.83MB
下载 相关 举报
互联网系统架构-课件.ppt_第1页
第1页 / 共58页
互联网系统架构-课件.ppt_第2页
第2页 / 共58页
互联网系统架构-课件.ppt_第3页
第3页 / 共58页
互联网系统架构-课件.ppt_第4页
第4页 / 共58页
互联网系统架构-课件.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、互联网系统架构2提纲 指导思想 实例 架构进化 实现框架 常用技术3指导思想 分而治之(divide and conquer)集中调度(centralized schedule)缓存(cache)复制(replication)数据采集(sample)4实例1:Google早期系统架构Replica 1Replica 0GTCNetscalerGFEGSLBGFEGFEBackend0Backend0Backend0Backend0LBBackend1Backend1UserBorgBorgMonAlertManager5实例2:分层分模块架构6架构进化 运用指导思想,一步一步进化成一个大规模的

2、服务架构7分离分离webserverwebserver和数据库和数据库状态收集89增加页面缓存增加页面缓存状态收集10增加页面片段缓存增加页面片段缓存状态收集11数据缓存数据缓存状态收集12增加增加webserverwebserver状态收集服务调度13分库分库状态收集服务调度14分表、分表、DALDAL和分布式缓存和分布式缓存状态收集服务调度15增加更多的增加更多的webserverwebserver状态收集16数据读写分离和廉价存储方案数据读写分离和廉价存储方案状态收集17大型分布式应用和廉价服务器群大型分布式应用和廉价服务器群状态收集服务调度18实现框架Zookeeper服务集群管理Th

3、rift RPC 实现服务模块Nagios数据采集监控19ZooKeeper Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群管理。20统一命名服务(Name Service)分布式应用中,通常需要有一套完整的命名规则,既能够产生唯一的名称又便于人识别和记住,通常情况下用树形的名称结构是一个理想的选择,树形的名称结构是一个有层次的目录结构,既对人友好又不会重复。Name

4、Service 已经是 Zookeeper 内置的功能,只要调用 Zookeeper 的 API 就能实现。如调用 create 接口就可以很容易创建一个目录节点。21配置管理(Config Management)配置的管理在分布式应用环境中很常见,例如同一个应用系统需要多台 Server 运行,但是它们运行的应用系统的某些配置项是相同的,如果要修改这些相同的配置项,那么就必须同时修改每台运行这个应用系统的 Server,这样非常麻烦而且容易出错。像这样的配置信息完全可以交给 Zookeeper 来管理,将配置信息保存在 Zookeeper 的某个目录节点中,然后将所有需要修改的应用机器监控配

5、置信息的状态,一旦配置信息发生变化,每台应用机器就会收到 Zookeeper 的通知,然后从 Zookeeper 获取新的配置信息应用到系统中。22配置管理(Config Management)23集群管理(Group Membership)Zookeeper 能够很容易的实现集群管理的功能,如有多台 Server 组成一个服务集群,那么必须要一个“总管”知道当前集群中每台机器的服务状态,一旦有机器不能提供服务,集群中其它集群必须知道,从而做出调整重新分配服务策略。同样当增加集群的服务能力时,就会增加一台或多台 Server,同样也必须让“总管”知道。实现方式都是在 Zookeeper 上创建

6、一个 EPHEMERAL 类型的目录节点,然后每个 Server 在它们创建目录节点的父目录节点上调用 getChildren(String path,boolean watch)方法并设置 watch 为 true,由于是 EPHEMERAL 目录节点,当创建它的 Server 死去,这个目录节点也随之被删除,所以 Children 将会变化,这时 getChildren上的 Watch 将会被调用,所以其它 Server 就知道已经有某台 Server 死去了。新增 Server 也是同样的原理。24集群管理(Group Membership)25Thrift Thrift 是 Faceb

7、ook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。结合了功能强大的软件堆栈的代码生成引擎,无缝地与C+,C#,Java,Python和PHP和Ruby,Javascript等多种语言结合。Thrift允许你定义一个简单的定义文件中的数据类型和服务接口,以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。竞品有ProtoBuf等。26Thrift 文件样例Hello.thriftnamespace java service.demo service Hello string helloString(1:string para)i32 helloIn

8、t(1:i32 para)bool helloBoolean(1:bool para)void helloVoid()string helloNull()定义了服务 Hello 的五个方法,每个方法包含一个方法名,参数列表和返回类型。每个参数包括参数序号,参数类型以及参数名。使用 Thrift 工具编译 Hello.thrift,就会生成相应的 Hello.java 文件。该文件包含了在 Hello.thrift 文件中描述的服务 Hello 的接口定义,即 Hello.Iface 接口,以及服务调用的底层通信细节。27Thrift 文件样例struct Report 1:required s

9、tring msg;/该字段必须填写 2:optional i32 type=0;/默认值 3:i32 time/默认字段类型为optional28Thrift 架构29Nagios 一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知。Nagios 结构简单,可维护性强,同时提供一个可选的基于浏览器的 Web 界面,方便管理人员查看系统的运行状态,网络状态、服务状

10、态、日志信息,以及其他异常现象。简单地插件设计使得用户可以方便地扩展自己服务的检测方法。竞品有Zabbix等。30Nagios工作原理31Nagios架构32插件样例插件:#!/usr/bin/env pythonimport os,sys(d1,d2,d3)=os.getloadavg()if d1=5.0:print GETLOADAVG CRITICAL:Load average is%.2f%(d1)sys.exit(2)else:print GETLOADAVG OK:Load average is%.2f%(d1)sys.exit(0)注册:define command comma

11、nd_name check_mygetloadavg command_line /path/to/check_getloadavg 使用:define service use service-template host_name localhost service_description LoadAverage check_period 24x7 contact_groups server-admins notification_options c,r check_command check_mygetloadavg33Put them togetherZooKeeper数据服务1数据服务2数

12、据服务n业务服务1业务服务2业务服务m展示服务1展示服务2展示服务k注册监听ThriftThriftThriftThriftThrift反向代理1反向代理2反向代理l负载均衡Nagios34Q/A or Continue?35常用技术 前端 应用逻辑 后端 数据库 搜索 推荐 移动36前端 防火墙,DDos 负载均衡:F5,Netscaler,LVS,DNS HTML,HTML5,Flash,Javascript PHP,Java,Ruby,.Net,Python,Node.js Apache,Nginx,customized http server37负载均衡 数据中心间均衡:DNS 数据中

13、心内均衡:F5,LVS,反向代理 后端服务均衡38应用逻辑 PHP,Ruby,Python,Java,.Net等 框架 组件39数据库 Database:MySQL,Postgres,Oracle NoSQL:MongoDB,Cassandra40数据库/存储结构41数据库/分表42数据库/分表43数据库/高可靠性44数据库/Cache&Search45NoSQL46搜索引擎47推荐引擎48推荐引擎基于人口统计学的推荐机制的工作原理基于人口统计学的推荐机制的工作原理49推荐引擎基于内容推荐机制的基本原理基于内容推荐机制的基本原理50推荐引擎基于用户的协同过滤推荐机制的基本原理基于用户的协同过滤推荐机制的基本原理51推荐引擎基于项目的协同过滤推荐机制的基本原理基于项目的协同过滤推荐机制的基本原理52CDN53移动互联网54技术/移动互联网55技术/移动互联网56淘宝57Flickr58Google 搜索早期

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(互联网系统架构-课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|