楼主: wangfans

假如我来架构12306网站(一) - 概论

[复制链接]
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
31#
 楼主| 发表于 2013-4-14 12:40 | 只看该作者
冗余设计:
包括依照地域、用户群建立不同的数据中心的设计、基于DNS区域解析规划设计、基于各服务器角色进行的冗余设计(WEB服务器、搜索服务器、缓存服务器、集成服务器、数据库服务器、存储服务器等)所进行的数据的冗余设计,譬如常见的集群技术、热备以及热切技术等均可考虑在此应用;

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
32#
 楼主| 发表于 2013-4-14 12:41 | 只看该作者
其实笔者使用了中国国内的服务器以及美国的服务器分别解析了1230**域名地址,显示了两个不同的地址,这已说明12306设计组已经考虑了这些内容:
从美国PING将会发现:

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
33#
 楼主| 发表于 2013-4-14 12:41 | 只看该作者
ping www.1230**
PING 08911.xdwscache.glb0.lxdns.com (183.60.136.64) 56(84) bytes of data.
64 bytes from 183.60.136.64: icmp_seq=1 ttl=49 time=171 ms
64 bytes from 183.60.136.64: icmp_seq=2 ttl=49 time=171 ms

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
34#
 楼主| 发表于 2013-4-14 12:41 | 只看该作者
从上海PING将会发现:
ping www.1230**
Pinging 08911.xdwscache.glb0.lxdns.com [211.144.81.22] with 32 bytes of data:
Reply from 211.144.81.22: bytes=32 time=11ms TTL=59
Reply from 211.144.81.22: bytes=32 time=10ms TTL=59

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
35#
 楼主| 发表于 2013-4-14 12:41 | 只看该作者
部署与维护设计:
部署设计的关键是确保各种角色的服务器如何能够实现快速复制扩展,在紧急需要时能够快速部署实施,同时对于服务器集群在进行升级时如何快速批量地更新整个执行包;

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
36#
 楼主| 发表于 2013-4-15 12:36 | 只看该作者
维护设计的关键考虑因素是系统运行的监控与报警系统设计,监控的指标就前端包括整个系统的访问数量、单个客户端的访问频率、访问的URL分布等,后端需要监控的是各服务器的使用量、负载量同时以此进行上报到监控服务器来决定相应的服务器是否需要进行动态扩展;

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
37#
 楼主| 发表于 2013-4-15 12:37 | 只看该作者
. 开发实施阶段
针对于此巨型交易系统的开发,在开发阶段的关键因素是代码品质控制,建议采用软件工程成熟的Coding->Review->UT控制技术(基于TDD的开发模式)来完成个模块以及集成子系统的品质管控,在此特别提醒的是对于Review、UT段的密度需要做硬性的规定,流程裁剪时建议采用高密开发模式确保此阶段的品质管控目标

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
38#
 楼主| 发表于 2013-4-15 12:37 | 只看该作者
在此不得不多说一句的是很多时候很多的公司、开发人员总是错误地认为这些流程过于复杂,浪费时间,其实从各种实际的项目实施经历来看,此处多花了2-3倍的开发时间可以避免后续5-10甚至数十倍调试时间(Bug fix)的投入,整体上来算还是非常值得的,对于大型项目尤其如此,笔者在很多大型项目的集成阶段碰到集成不畅、无法按时完成集成任务时,开发、测试人员都是通宵达昼地加班,这其中很多的工作都是无用功,何不在开发实施阶段将系统的测试密度进行加大呢?构建质量上更好的组件(部件、模块),这样到集成的时候就不手忙脚乱了。

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
39#
 楼主| 发表于 2013-4-15 12:37 | 只看该作者
由于此系统的规模非常大,因此在详细设计、开发时,应该考虑到各子系统必须设计得非常易于测试,特别是易于进行单体测试与自动化测试,这点可以大幅降低项目的执行成本;

使用道具 举报

回复
论坛徽章:
66
现任管理团队成员
日期:2011-05-07 01:45:08版主9段
日期:2013-04-21 02:21:02ITPUB年度最佳版主
日期:2014-02-19 10:05:27ITPUB年度最佳版主
日期:2013-01-30 17:30:25ITPUB年度最佳技术原创精华奖
日期:2012-03-13 17:12:05优秀写手
日期:2013-12-18 09:29:15元宝章
日期:2015-02-10 19:57:54金牌徽章
日期:2015-02-10 19:59:42银牌徽章
日期:2015-02-10 19:59:42铜牌徽章
日期:2015-02-10 19:59:41
40#
 楼主| 发表于 2013-4-15 12:37 | 只看该作者
6. 测试阶段
对此巨型系统的构建完毕后需要经历子系统集成测试、系统总集成测试两个阶段,并且需要按照如下不同的测试种类来进行逐个测试确认:
功能测试、性能测试、安全测试、破坏性测试、持久运行能力测试等

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表