web开发
徐汉彬-技术
原腾讯研发团队Leader,T3-3级工程师,曾负责QQ会员、鹅漫U品、AMS活动运动平台平台(高峰期日请求13亿)和腾讯信息流商业化推荐系统等项目的架构和研发工作。
展开
-
应对节日高峰-Web架构实践
今天要分享的主题是关于QQ会员活动运营平台的架构实践。首先做一个简单的自我介绍,我叫徐汉彬,现在在腾讯的SNG增值产品部工作,主要负责QQ会员生活特权以及今天分享的AMS系统的研发建设。今天我要分享的内容主要分为三部分:QQ增值业务在海量请求下的技术挑战以及背景; Web系统高并发场景的综合优化策略; 平台高可用的建设实践。活动有很多特性,今天的主题主要关注点是在节假日高流量的推广,...原创 2017-03-16 22:27:04 · 1566 阅读 · 0 评论 -
大规模网站架构的缓存机制和几何分形学
缓存机制在我们的实际研发工作中,被极其广泛地应用,通过这些缓存机制来提升系统交互的效率。简单的总结来说,就是在两个环节或者系统之间,会引入一个cache/buffer做为提升整体效率的角色。 而有趣的是,这种缓存机制令人惊奇并且优美的遵循着“几何分形”的规律,也就是几何分形学中的“自相似性”:从整体上看遵循某种组成规律或者特性,同时从每一个局部看,仍然遵循某种组成的规律或者特性。我们的这些系统原创 2017-03-16 22:26:04 · 378 阅读 · 0 评论 -
亿级Web系统搭建——单机到分布式集群
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。Web负载均衡Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工原创 2017-03-16 22:26:07 · 408 阅读 · 0 评论 -
Web系统大规模并发——电商秒杀与抢购
本博文曾发于CSDN【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。 1. 请求接口的合理设计一个秒杀或者抢购页面,通常分为2个原创 2017-03-16 22:26:17 · 486 阅读 · 1 评论 -
Nginx的TCP负载均衡介绍
Nginx Plus的商业授权版开始具有TCP负载均衡的功能。从Nginx 1.7.7版本开始加入的,现在变成了一个商业收费版本,想要试用,需要在官网申请。也就是说,Nginx除了以前常用的HTTP负载均衡外,Nginx增加基于TCP协议实现的负载均衡方法。HTTP负载均衡,也就是我们通常所有“七层负载均衡”,工作在第七层“应用层”。而TCP负载均衡,就是我们通常所说的“四层负载均衡”,工作在“网原创 2017-03-16 22:26:28 · 332 阅读 · 0 评论 -
高并发Web服务的演变——节约系统内存和CPU
一、越来越多的并发连接数现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战。以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的。结合技术优化方案,才是更有效的解决方法。并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有...原创 2017-03-16 22:26:31 · 1162 阅读 · 0 评论 -
HTTP/2:让Web服务更快[翻译]
HTTP/2 目标InternetEngineering Task Force (IETF)在2015年2月,批准了HTTP/2标准提案。对于HTTP协议来说,HTTP/1.1是1999年被批准成为标准的,而HTTP/2将会是这些年来首次的大更新。HTTP/2主要的目的是在兼容HTTP/1.1的协议的情况下,降低网络通信的延迟。换句话说,就是在保持原有的Web体系的情况下,让Web更快。原创 2017-03-16 22:26:37 · 749 阅读 · 0 评论 -
高并发Web网站构建和安全防护(基础知识分享)
在CSDN学院的“攒课”上做的网络直播分享,关于网站搭建和安全防护的基础知识。http://huiyi.csdn.net/activity/closed?project_id=2545PPT地址:http://vdisk.weibo.com/s/i-lxxvN3Je_h/1447058247原创 2017-03-16 22:26:49 · 1261 阅读 · 0 评论 -
QQ会员活动运营平台架构设计实践——高效自动化运营
QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。在过去四年的时间里,AMS日请求量从200-500万的阶段,一直增长到日请求3-5亿,最高CGI日请求达到8亿。在这个过程中,AMS在架构方面发生了大幅度的调整和变迁,我们走过了一段非常难忘的技术历程。本文将会分享QQ会员活动运营平台的架构设计实践,希望对做技术的同学有所帮助。一、海量活...原创 2017-03-16 22:26:55 · 6845 阅读 · 1 评论 -
snappy压缩工具的PHP拓展版本介绍[译]
snappy是一个字符串压缩工具,应用挺广泛和便利,下面这个是这个压缩组件的PHP拓展版本。我们有在项目中使用,感觉还是挺不错的一个功能。压缩率大概在50%多。下载地址:https://github.com/kjdev/php-ext-snappy下面的解释来自官方github(加了一点翻译,辅助大家理解哈):Build(编译方式)phpize./configuremakemake install原创 2017-03-16 22:26:02 · 612 阅读 · 0 评论 -
单点登录SSO的实现原理 (转)
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞原创 2017-03-16 22:25:59 · 427 阅读 · 0 评论 -
SSL协议原理(Secure Socket Layer)【转载】
摘要 伴随企业信息化程度的加深,远程安全访问、协同工作需求的日益明显,SSL VPN技术逐渐成为企业用户远程安全接入的重要方式。本文着重阐述SSL(安全套接层)协议的基本原理,比较SSL VPN与IPSec VPN技术的优势与不足,探讨了SSL VPN的应用模式并且给出了实际部署的基本拓扑。 关键词 IPSec VPN SSL SSL VPN 远程安全接入 1、引言 当前,越来越多的企业正在通原创 2017-03-16 22:20:38 · 2814 阅读 · 0 评论 -
设计模式之抽象工厂——星际争霸版【转载】
星际争霸是战略游戏,所以同样的兵种,敌我显示是不同的。典型的就是鼠标的颜色,点中自己的物体的时候,鼠标颜色变成绿色,点中敌人的物体的时候,鼠标颜色变成红色。还有就是每个物体的状态,点中自己的物体的时候,状态区显示完整的状态,点中敌人的物体的时候,状态区显示一部分信息。我们假设只考虑鼠标和人族的运输船,玩家自己的运输船点中后状态区会显示里面装载的部队,而点中敌人的则不会显示里面是否装载部队。这样我们原创 2017-03-16 22:20:44 · 228 阅读 · 0 评论 -
Webx简介(转)
经常会到博客来看看大家的一些文章,都写的相当精彩,有水平,感觉大家好像都写了,自己没什么写的,后来跟师傅婉佩沟通,才了解到这样想是错的,每个人针对每个东西可能想法观点都不同,写得也肯定会不一样的,所以也来跟大家交流交流。 进淘宝后,就在参与珠联璧合的Webx层接口测试实践,期间也得到不少沉淀与总结,为了提高我们会员营销线同学的技术能力,也会在内部进行相关的一些学习培训!感觉同样是原创 2017-03-16 22:20:47 · 2164 阅读 · 0 评论 -
Javascript中闭包(Closure)
一、什么是闭包? “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 相信很少有人能直接看懂这句话,因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段代码: function a(){ var i=0;原创 2017-03-16 22:21:48 · 205 阅读 · 0 评论 -
JQuery Highcharts图表控件
下载地址(自行选择最新版本):jquery http://docs.jquery.com/Downloading_jQueryHighcharts http://www.highcharts.com/使用非常简单:将对应的js包include进来后,就可以使用了,下面是一个典型的例子。效果图:Highcharts Example-->var chart;$(document).ready(fu原创 2017-03-16 22:24:39 · 566 阅读 · 0 评论 -
日请求亿级的QQ会员AMS平台PHP7升级实践
注:这里所提到的IE是指的“IE7及以下版本的”。你有没有遇到过定义为block的a的范围在IE7及以下版本中是没办法点击的,即点击范围是0?你所设置的a样式是不是这样:1. 绝对定位;2. 内容为空。还有另外一种情况是,你设置的a为block,并且设定了height和width,但实际上,有可点击的地方,但是可点击范围却不是你预想的,即范围是小于这个height和width。那你所设置的a样式是原创 2017-03-16 22:25:21 · 358 阅读 · 0 评论 -
JS和后端CGI漏洞注意点
JS部分:1、对插入DOM中的URL参数做HTML编码处理(qv.string.encodeJs(实现中)qv.string.encodeHTML)。2、对需要作为脚本执行的URL参数做特殊处理,需要将不可信内容做如下的转码: [a-zA-Z0-9.-_,]以及ASC值大于0x80之外的所有字符转化为\x**这种形式3、对跳转目标URL做验证处理,保证目的地址是合法的。4、对CGI请求加上toke原创 2017-03-16 22:25:27 · 1102 阅读 · 0 评论 -
配置Nginx方向代理后,php获取客户端真实IP
nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中。nginx反向代理配置时,一般会添加下面的配置:proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;p原创 2017-03-16 22:25:47 · 1896 阅读 · 2 评论 -
SPDY:一种更快速web的实验协议(转)
背景:网络协议与网络延时现在,HTTP和TCP是web的两种协议。TCP是一般的,可靠的传输层协议,能够提供可靠的传输,避免出错,按顺序传输,流量控制,冲突避免以及其他的传输特性。而HTTP是一种应用层协议,提供记本的连接、响应语法。我们可能有机会在传输层提高延时性能,但是我们最开始的调查还是关注在应用层,即HTTP。不幸的是,HTTP并不是为了时延而设计的。进一步说,现在的网页传输与10年前的网原创 2017-03-16 22:25:53 · 535 阅读 · 0 评论 -
亿级Web系统的容错性建设实践
三年多前,我在腾讯负责的活动运营系统,因为业务流量规模的数倍增长,系统出现了各种各样的异常,当时,作为开发的我,7*24小时地没日没夜处理告警,周末和凌晨也经常上线,疲于奔命。后来,当时的老领导对我说:你不能总扮演一个“救火队长”的角色,要尝试从系统整体层面思考产生问题的根本原因,然后推进解决。我幡然醒悟,“火”是永远救不完的,让系统能够自动”灭火”,才是解决问题的正确方向。简而言之,系统的...原创 2017-03-16 22:26:58 · 1472 阅读 · 0 评论