新浪陈尔冬:大数据下Web Server面临的挑战

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

从只是简单的数据读写,到现在的跨平台数据分享,海量数据的读写与实时分享为每个互联网公司带来了严峻的考验,无论是数据库还服务器的性能。在面对 大数据、高并发的挑战时,Web Server作为底层承载平台又将如何应对?还将有哪些挑战?今天记者联系到新浪研发中心系统开发部高级系统工程师@陈尔冬 来说一说Web Server的这些事。

互联网发展至今我们已经历了Web1.0时代与Web2.0时代,现在又在经历移动互联网时代。Web Server在这三个不同的时代中都扮演着底层承载平台的角色,但是在这三个互联网时期中用户对于服务的需求是完全不同的。Web1.0时代,用户只需要 服务器完成简单的读写任务;Web2.0时代,用户需要和其他人保持相应的互动;而现在,不仅仅是之前的两种需求,跨平台的数据即时分享成为了更重要的用 户需求。那么在这三个不同时期中对于Web Server的性能上的需求有哪些不同?

在不同时期用户对于Web Server性能上的需求陈尔冬表示:“随着互联网的发展,业务逻辑也越来越复杂,每页面带给Web Server的请求数和CPU计算量越来越高;另一方面,随着客户端性能越来越好、用户接入带宽越来越越来越高,又希望Web Server的延迟越来越低、响应时间越来越短。虽然Web Server硬件设备的性能越来越好,主流Web Server的性能在C10k问题攻破后也拥有了质的飞跃,但对于个别超大规模互联网公司来说,主流Web Server软件的功能或性能还是可能存在不少不尽如意的地方。”

目前大数据、高并发、高负载的数据处理已经成为了众多互联网公司面临的首要问题。解决这些问题主要取决于数据库与整个系统架构的性 能,但是对于Web Server这个底层平台来说又当如何应对大数据、高并发带来的挑战呢?对于企业来说,进行Web Server的二次开发是否能解决这些问题呢?

陈尔冬:原则上不仅仅是数据库,而是数据,数据的产生、传输、处理、存储以及挖掘一系列过程。数据库仅仅是中间 一环。因为数据库和其他数据相关组件天然有状态(数据本身特点决定的),不像Web Server这样易于扩展(主流使用方法都可以实现通过简单点增加物理服务器来扩展Web Server性能),直接导致了海量数据的挑战是目前大规模和超大规模互联网公司的首要难题。相对来说,易于扩展的Web Server,问题变的不是那么紧迫。所以目前只有技术力量雄厚的公司(如百度、淘宝、腾讯)才会在Web Server做深度的二次开发。一般来说,在Web Server二次开发工作上还是集中在满足特殊的功能需求。

但是也有一些例外,这就是云计算。云计算服务提供商,特别是PaaS云计算提供商希望向用户提供高性能、高可用性、高可扩展性的服务,希望用户不用关心底层实现细节同时用户可以按实际使用量付费。

这就带来以下两个挑战:

  • 如果是系统平台PaaS提供商,就需要对用户抽象系统细节。如数据库平台提供商希望对用户抽象底层数据库服务器架构或者部署形式很多成熟 的开源系统软件其实不不能完全满足云计算的需求,云计算提供商需要自己开发软件去整合开源软件并提高其可用性、扩展性或故障容忍能力由于需要按需支付,所 以需要能够对用户使用情况进行审计并时间计费。
  • 面对这些挑战,很多云计算提供商选择在系统软件前搭建一层自己的API层并以此作为系统平台的入口,这样只要把自己的业务逻辑继承在这个 API层就可以解决上面所有问题。而构件API层的主要方法之一是基于Web Server二次开发提供高性能的RESTful API。最具特点的代表就是agentzh(章亦春)的Nginx Conf编程。

就目前而言,用户需要的不仅仅是满足服务需求,更重要的是优秀的用户体验,对于一个架构师来说应该本着什么样的设计理念去设计并优化大数据下的系统架构呢?

陈尔冬:这个问题有点泛。架构师需要考虑和权衡得纬度很多,性能和功能仅仅是一方面。架构师需要在功能、性能、稳定性、易用易管理等多个维护之间找到一个符合自己公司特点得平衡点,并且不断去调整和优化系统架构去无限接近那个平衡点。

现在做技术无非都是从业务需求入手,对于新浪来说近两年以来新浪微博已经成为了国内最大的网络社交平台,相比09年内测的时候目前新浪微博在服务器上做过哪些调整呢?

陈尔冬:新浪微博之前主要在数据相关的组件上做的工作比较多,主要因为这方面给我们带来的挑战最大。比较有代表的工作如Feed系统、关系系统、缓存系统、可支持跨IDC多点写入的消息系统等。


本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto.com/linuxgeek/998993

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
IDE Linux 开发工具
如何在Linux运行RStudio Server并实现Web浏览器远程访问
如何在Linux运行RStudio Server并实现Web浏览器远程访问
128 0
|
2月前
|
算法 前端开发 JavaScript
什么是 Web 开发的 Server Side Model
什么是 Web 开发的 Server Side Model
|
2月前
|
应用服务中间件 nginx
【报错】Failed to start A high performance web server and a reverse proxy server.
【报错】Failed to start A high performance web server and a reverse proxy server.
473 2
|
2月前
|
Linux
【web server】基于升序链表的定时器
【web server】基于升序链表的定时器
|
1月前
|
tengine 安全 应用服务中间件
修改Nginx/Tengine版本名称伪装任意WEB SERVER
修改Nginx/Tengine版本名称伪装任意WEB SERVER
|
2月前
|
SQL 分布式计算 资源调度
常用大数据组件的Web端口号总结
这是关于常用大数据组件Web端口号的总结。通过虚拟机名+端口号可访问各组件服务:Hadoop HDFS的9870,YARN的ResourceManager的8088和JobHistoryServer的19888,Zeppelin的8000,HBase的10610,Hive的10002。ZooKeeper的端口包括客户端连接的2181,服务器间通信的2888以及选举通信的3888。
79 2
常用大数据组件的Web端口号总结
|
1月前
|
移动开发 Java Maven
基于OSGi的Virgo Server最简单Spring web实例
基于OSGi的Virgo Server最简单Spring web实例
29 0
|
2月前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
2月前
|
Windows
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
|
2月前
|
弹性计算 算法 应用服务中间件
倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践
倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。