书签 分享 收藏 举报 版权申诉 / 58
上传文档赚钱

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

  • 上传人(卖家):ziliao2023
  • 文档编号:5951654
  • 上传时间:2023-05-18
  • 格式:PPT
  • 页数:58
  • 大小:2.83MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《互联网系统架构-课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    互联网 系统 架构 课件
    资源描述:

    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 搜索早期

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:互联网系统架构-课件.ppt
    链接地址:https://www.163wenku.com/p-5951654.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库