阅读更多
【编者按】近期台风肆虐沿海地区,给人民群众的生命和财产安全带来了很大的危害,如果可以及时了解台风信息,进行安全防范,显然可以规避很多损失。浙江省水利厅所做的台风路径实时发布系统是很好的信息预报平台。其背后是阿里云的支持。浙江省水利信息管理中心高级工程师骆小龙及阿里云工程师王徐就“台风的季节性带来IT系统访问量出现波峰波谷的巨大差异,机器的复用等问题”实践经验进行了深入的分享。

根据中央气象台信息,台风苏迪罗将于8月8日登陆我国沿海,台湾、福建、江西、浙江、安徽、江苏等地将受影响。“台风到哪里了”,这两天又成了一个全民话题。

浙江省水利厅研发的台风路径实时发布系统,可以让任何一个人都能通过网络及时了解台风信息。但台风的季节性反应在IT系统上,是访问量波峰和波谷的巨大差异。随着关注度的提升,这种差异被不断拉大。台风来的时候需要紧急扩容,台风走了机器就闲置了。冗长的采购扩容流程和机器的复用等问题难以解决。比如:

服务器无法灵活的增删

先看一下网站近些年的业务量变化情况(由于缺少2012年及之前的数据故只能用现在的数据来让大家有个直观的感受):
引用

2012年“海葵”期间峰值PV达到350W,UV达到120W
2015年“灿鸿”期间峰值PV达到1434W,UV达到508W

这些业务高峰基本上都是每年的7月至10月间产生的,其余时间网站访问量只有几千。对,没错,就是几千。

从数据来看,三年时间网站的关注度有了近5倍的增长。与之对应的服务器数量,也是随着季节变化而变化。比如平常只需要2台服务器即可,但是台风来了就需要增加到12台,那么10台物理机采购就需要近30W块,但是台风过后这10台物理机又没有任何负载了,怎么安置他们又是个问题。未来,这一问题可能还会进一步加剧。

运维成本太高

由于浙江省水利厅内部IT平台较多,人员较少,没有办法安排专门的运维工程师和DBA来支持台风网站,平时都是由开发人员来兼职。需要每个月基于网站的访问情况和历史数据,对平台服务器数量进行评估、调整,人力和工作量较大。如果产品可以承担大部分的运维工作,做到自动化处理服务器的增删,数据库的备份等工作,那么将大大的节省了成本,并且能将更多的精力集中在台风平台的优化、业务逻辑优化上。

攻击无解

普通的IDC和自建机房最怕的就是大流量DDoS攻击,这种攻击会导致线路拥塞影响所有用户和业务。而应对这种攻击的办法只有硬抗并做进一步分析,将正常的请求过滤出来并转给应用。而这种传统的处理方式反应速度太慢。对于台风路径实时发布系统这种灾害预警网站,如果长时间无法打开,容易影响到台风期间大家的日常生活安排。毕竟现在通过手机就可以第一时间获取最新的台风位置等信息,非常便捷。

经过反复论证,2012年,浙江省水利厅选择将系统迁移到阿里云上,借助云计算的弹性应对巨大的峰谷差异。迁移分三阶段进行。

第一阶段实现弹性扩容

之前传统的方式会经常遇到“平常时刻好用不要用,关键时刻想用不能用”的尴尬局面。于是浙江省水利厅在2012年做出创新,将台风网站迁入阿里云,当时主要考虑到平稳上云,所以并未对网站架构等做大量调整。当初仅使用了阿里云的云服务器(ECS)、负载均衡(SLB)和开放存储服务(OSS)产品。上云之后,浙江省水利厅体会到了按量购买、快速调整的便利性,再无之前的顾虑。

当时的网站架构简单的描述如下:



经过这样的改造后,当年网站仅用5台云服务器就成功的支撑了峰值350W的访问量。

第二阶段增加数据库服务,应对移动端访问

台风网站下一步需要对外提供移动端的支持,一旦移动端开放了,那么访问量将会剧增,毕竟移动端的便利性是PC端无法比拟的。同时台风网站初次改版上云后发现使用开放存储服务(OSS)来做台风路径数据、云图数据的中转还是会有延时的问题。于是,浙江省水利厅又再次对网站架构及产品使用上做了如下调整:



  • 云服务器(ECS)里的网站环境部署及网站代码调整优化,与数据盘解耦,软件及数据全部放置到系统盘。使用该系统盘制作自定义镜像,后面扩容机器即可使用自定义镜像快速扩容无需重新配置环境和拷贝网站数据。
  • 启用弹性伸缩服务(ESS),对同一角色的服务器性能评估并在SLB中自动完成扩容、缩容,解放人力、提升效率。
  • 将台风路径数据从开放存储服务(OSS)里迁移到云数据库(RDS)中。可以保证各WEB服务器获取到的台风路径数据的实时性和一致性。

由于台风路径数据同步周期为1个小时及以上,所以网站前端机没有必要每次访问都调用数据库。在网站前端机中配置缓存,节省数据库的资源,提升网站访问体验。
经过这样改造后,今年“灿鸿”期间,峰值PV达到1434W,UV超过500万,其中有1000W的访问量来至于移动端。

第三阶段,高防与优化

在实现第二阶段目标后,对于系统整体的高防和优选还在继续。比如:
  • 台风期间使用高防IP功能。高防IP是将大量攻击用户的流量引入到高防平台,由平台进行分析过滤,将正常的请求转发给真实的业务服务器。这块需要研究一下,如果台风网站用起高防,那么将不再担心DDoS攻击问题了。
  • 网站架构持续优化。“灿鸿”期间的峰值PV里有70%的流量是来自于移动端,且网站的访问量增长剧烈。需要结合阿里云更多的产品,对自身架构上做些改造以应对未来的高速发展。

台风路径实时发布系统本身也在优化,增加更多新功能。这些反馈到系统中,也还有很多技术需求。这都是未来工作的重点。
  • 大小: 43.5 KB
  • 大小: 26.7 KB
1
0
评论 共 3 条 请登录后发表评论
3 楼 紫絮流苏 2015-08-14 16:00
arsemilan 写道
这是不是个广告贴

明显是
2 楼 xul 2015-08-13 11:23
arsemilan 写道
这是不是个广告贴

明显是
1 楼 arsemilan 2015-08-12 17:15
这是不是个广告贴

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • wiki文档书写格式

    文档基本规范 标题 标题:标明需求的简短语句、或模块名称,目录是由标题生成,一份目录结构清晰的需求文档与标题的划分是密不可分。 正文 正文:有规范格式和生效标志的正式文本,正文包括 文字、表格、图片、链接、注释。 标题规范 一级标题要求:顶头,加粗。 二级及二级以下不加粗。 缩进规范 标题与标题之间不缩进。 标题与正文之间不缩进。 正文与正文之间不缩进 有序列或无...

  • 日常学习-wiki文档的编写

    文章目录文本内容标题链接图片文字高亮代码文字格式列表有序列表无序列表分割线表格下拉列表引用Side BarfooterUML图 对于wiki文档的编写,这里将常用的都举例,不记得时就过来看看 对于wiki语法我们一般选择 markdown,因为其功能最多,也是最常用的。 这里都以markdown进行说明。 文本内容 标题 这里当标题为title # title 一级标题 ## title 二级级标...

  • wiki中文文本语料下载,在维基百科中文语料训练Word2vec and doc2vec 文本向量化代码示例

    首先下载wiki中文语料(大约1.7G) https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 下载的文件名为“zhwiki-latest-pages-articles.xml.bz2” 这个大家都知道,然后没什么卵用,因为墙太强大,所以下载不下来,只能另辟蹊径了。。。 因此搜来搜去找到2...

  • 我所编辑的第一个wiki文档,以资纪念!

    java.math Numerical routines. it do need more work to achieve the high perfermence computing(HPC). 紫颜色是俺写的:) 取自: http://en.wikipedia.org/wiki/Java_2_Platform%2C_Standard_Edition#java.math

  • wiki文本处理引擎

    package me.txc.idiom; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Wiki文字处理引擎 * <p&...

  • Senior Software Engineer , PM , interview test

    16、J2EE 的容器与服务器: 容器负责 EJB 组件中生命周期的控制;  服务器包含在容器外,提供系统级操作底层服务,包括事务、事件、多线程……。 17、继承限制: 父类对象不可以赋给子类对象,因为子类可能具有...

  • 经济危机时的职位机会--请关注Senior Software Engineer-SH

    Position title: Senior Software Engineer (Java/J2EE) - Shanghai Job Descriptions: - Specifies, designs, implements, tests and maintains software to meet functional and technical requ...

  • HP GDAS-China - Senior Software Engineer (Mobile Mgmt Center)

    1) Play as senior software engineer in PSG Mobile Management Center product team focusing on software design and development. 2) Responsible for assisting PSG MMC solution architects in product design...

  • Mike McCreavy’s Resume: Silicon Valley Software Engineer, Developer, Architect | mccreavy

    Mike McCreavy’s Resume: Silicon Valley Software Engineer, Developer, Architect | mccreavy Mike McCreavy’s Resume: Silicon Valley Soft...

  • 最新职位正在招聘:Sales Engineer

    InterSystems中国正在招聘SE,具体职位需求以英文发布,详情如下,欢迎将简历砸过来 (claire.zheng@intersystems.com)or 私...Mid-Senior level Industry Information Technology & Services Computer Software...

  • wiki文档_有效使用Wiki进行文档编制的3个技巧

    wiki文档 使用Wiki作为文档并不是一个新主意。 有无数的开源项目。 如果您正在寻找一种快速编写和发布文档的方法,那么Wiki可以替代现有的许多技术编写工具。 也就是说,许多Wiki上的文档并不总是像它可能那样有效,并且您可以使用一些技术来帮助您使Wiki上的文档更有效和更具可读性。 无论是在Wiki上创建新文档还是将现有文档移至一个,都可以使用这些技巧。 在“书”之外思考 我从...

  • wiki系统概念

          wiki 概念的发明人是Ward Cunningham。wiki这个字到底是什幺意思呢?根据FAQ的说法,WikiWiki一词来源于夏威夷语的“wee kee wee kee”,原本是“快点快点”(quick)的意思。实际上 wiki 也真的是既简单又快速,你可以看到 wiki 每天都在成长。  新概念的定义总是让人有点摸不着头脑,wiki 也不例外。先看看简单解释:Wiki--一种多

  • wiki支持html和svg

    vi lib/redmine/wiki_formatting/macros.rb 最末尾 desc "Insert html" + "\n\n" + " !{{html\n\n}}" macro :html do |obj, args, text| text.html_safe end

  • Building a Distributed Object System with .NET and J2EE Using IIOP.NET

    the J2EE platform. Fig.2: Overview of a the distributed object system Using IIOP.NET is almost as simple as using the built-in remoting. The following example will show you how to ...

  • 上海 美国知名软件外包公司 Senior Java Developer

    Position Title Senior Java Developer Position Description GENERAL SUMMARY: The Senior Software Engineer will be re...

  • 张江地铁站OFFICE:最新职位:自动化测试、Linux_ QA Engineer、云计算技术开发、系统管理员、黑盒QA测试、多媒体QA测试...

    :最新职位:自动化测试、Linux_ QA Engineer、云计算技术开发、系统管理员、黑盒QA测试、多媒体QA测试 Sr. Automation Test Engineer - WebOS The Palm WebOS QA group is looking for a motivated and ...

  • java工程师英文简历_软件工程师英文简历

    software desired position: senior software engineer ,system architecture design ,project manager desired address: shanghai desired salary: negotiable work experience 2014/03—present ***company ...

  • 美国程序猿(软件project师)平均年薪状况调查

    来源站点:Indeed.com&computerengineeringsalarydata.com Average Software Engineer Salary by 50 States Software Engineer Salary in Average Salary Unite...

  • java软件工程师 英文简历_java软件工程师英文简历模板3篇

    computers, software desired position: senior software engineer ,system architecture design ,project manager desired address: shanghai desired salary: negotiable work experience 2014/03—present **...

Global site tag (gtag.js) - Google Analytics