平台服务部署及Web框架.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平台服务部署及Web框架.pdf

平台服务部署及Web框架 原⽂出处:http://weibo .com/p/ 100 1643875679 132642345 作者:苏星宇,@zhuidawugui ⼤纲 微博平台主要负责微博基础功能。接下来将会介绍 平台 作⽤,以及服务提供 形式 平台Web服务 部署 平台Web框架简介 背景 ⽬前整体架构⼤体上分为三层 展现层:⼿机端,主站和第三⽅应⽤,承担相关业务 前端展⽰ 适配层:负责服务端和多个展⽰端 接⼜适配 服务层:提供基础功能服务,包括Feed服务,⽤户关系,开放平台和消息箱等 平台作为整个微博架构 基础功能服务层,对外以 ttp接⼜ ⽅式提供服务。接⼜遵 守RESTful规范。接⼜⽰例如下: 关于RESTful ,与其说是规范,其实更像是⼀种架构设计风格。它主要是提供了⼀组 设计原则和约束条件,⼴泛应⽤于C/S或者B/S架构中。要想理解什么是RESTful ,可 以从它 全称⼊⼿--Representational State Transfer ,翻译成中⽂是表现层状态转化。这 段晦涩 ⽂字省略了主语,表现层其实指 是资源 (Resources ) 表现层。核 ⼼概念包括 资源是由URI来指定。 对资源 操作包括获取、创建、修改和删除资源,这些操作正好对应 TTP协议 提供 GET 、POST 、PUT和DELETE⽅法。 通过操作资源 表现形式来操作资源。 概括起来,平台对外提供服务 形式就是通过 TTP接⼜对基础资源进⾏存取。 平台服务部署 对平台 定位和服务形式有所了解后,我们看下平台 Web服务部署结构。 平台 服务部署在多个机房中。以北京为例,就有AX 、BX和CX三个机房。⾃建 DNS服务会将⽤户 流量根据不同 运营商切换到不同 机房。 ⽤户请求到达服务端后,⾸先会经过反向代理服务器。反向代理 (Reverse Proxy )⽅ 式是指以代理服务器来接受公⽹上 连接请求,然后将请求转发给内部⽹络上 服务 器,并将从服务器上得到 结果返回给公⽹上请求连接 客户端,此时代理服务器对 外就表现为⼀个反向代理服务器。平台⽬前使⽤ 反向代理有LVS和Nginx 。 LVS :Linux Virtual Server ,基于IP 负载均衡和反向代理技术 Nginx :基于 TTP 负载均衡和反向代理服务器 关于Nginx ,除了以上提到 之外,还负责集群 健康检查。这个主要是通过Nginx ⾃ 带 健康检查模块实现 。Nginx server会轮询后端集群 index .j sp页⾯,如果返回200 则认为服务器正常,请求会正常被转发到该服务器;返回503则进⾏服务器摘除,请 求将不会再到达该服务器。 经过反向代理转发后,请求会到达部署Web应⽤ 应⽤服务器。平台⽬前主要使⽤ Tomcat作为应⽤容器。之后,请求会被统⼀ Web框架解析并处理。稍后会详细讲述 Web框架 内容。 对于上⾏和下⾏不同 请求,请求处理 链路也不同。 以微博核⼼业务Feed流为例。应⽤服务器在收到下⾏请求 (如查询⼀条微博 内容) 时,会直接访问缓存资源,如果命中则直接返回结果给客户端,否则继续查询DB , 将结果返回客户端。 ⽽收到上⾏请求 (如发微博)时,应⽤会将上⾏请求写⼊⼀个消息队列中。由另⼀个 单独 处理应⽤读取消息队列,执⾏上⾏请求 资源操作,⽐如写⼊缓存、更新DB 等等。 这种队列加处理机 上⾏请求模式被平台⼴泛使⽤,主要有以下优点: 解除前端应⽤和后端资源 耦合 削峰填⾕:在请求量很⼤时,队列可以作为缓冲,缓解后端资源 压⼒ 由于请求被分配到不同机房,因此多机房之间 数据也需要同步。⽬前我们使⽤虚拟 消息管道WMB来同步机房之间 数据:所有 上⾏请求在到达某个机房后都会通过 WMB重放到其他机房,从⽽保证机房后端资源⼀致。除此之外,为了容灾,后端资 源如缓存,DB 主从集群会分布在不同机房。彼此之间通过应⽤⾃⾝ (Redis、 MySql )或者客户端 (Memcached )来同步主从数据。 平台Web框架 下⾯给⼤家简单介绍下我们使⽤ Web框架。前⾯我们提到,在请求到达应⽤容器 后,⾸先会被统⼀Web框架进⾏处理。⽤户请求在应⽤容器中 整个处理链路如下。 Web框架 处理主要

文档评论(0)

jackzjh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档