58到家入驻微信钱包的技术优化

一、需求缘起

大伙打开微信钱包,会发现58到家入驻了微信钱包的一级入口(如下图),这个入口流量极大,微信要求被接入的H5必须能抗住n万的qps(58到家的系统是偏交易的系统,虽然一天100w订单其实也没多少请求),这是之前的业务系统没有遇到过的,要抗住这个n万的qps的优化思路是怎么样的呢?


这里做一个思路分享,希望能对业界同仁有启示作用。

二、业务分析

在微信钱包里,点击进入58到家,会发现其实是一个类别落地页,根据不同城市开通的服务类别,展示不同类别的入口(如下图)。


很容易想到,整个架构与流程是这样滴:


架构分层:

(1)微信钱包端,嵌有到家H5页面

(2)web-server层,生成H5页面

(3)service层,提供“城市开通了哪些核心服务”的接口

(4)数据库层,存储了“城市开通了哪些核心服务”的数据

核心流程:

步骤一:微信端通过native的GPS定位或者微信的js-sdk获取用户当前所在城市,并往web-server发送http请求

步骤二:web-server收到http请求,调用service层,获取当前城市开通了哪些核心服务的数据,以瓶装返回html

步骤三:service收到RPC请求,调用mysql,获取真正的数据

步骤四:mysql返回service,service返回web-server,web-server拼装html,返回微信钱包

潜在的问题

每秒钟n万的qps数据库扛不住

三、优化分析

看到这里,很多读者就笑了,这个场景加个缓存不就搞定了么,好吧,是可以,但本文的重点并不是加一个缓存,还有其他的梗等着你。

场景分析:这个“城市开通了哪些核心服务”是一个几乎只读的场景,因为城市要开通新的服务是很低频的,所以一大早就想到了cache的优化(cache要注意高可用),优化后的架构分层如下:


cache存储城市开通的核心服务列表,key value建立的是一个city-id到list<service-id>的映射关系。

几乎100%的请求会命中缓存。

潜在的问题:服务与缓存之间的带宽会不会成为瓶颈呢?

因为几乎是只读的请求,很容易想到将分布式缓存优化为服务内存缓存,优化后的架构分层如下:


每一个服务内部都有一个map,存储city-id到list<service-id>的映射关系,而不用通过cache来读取数据。

还能不能进一步优化,例如进一步降低网络交互呢?

是可以的,服务层可以做数据的缓存map<cityid, list<sid>>,web-server层可以进一步做页面缓存优化,架构图如下:


每一个站点层,直接做页面缓存,上游传入一个city-id,就直接将提前拼装好的页面返回,得到很高的性能。

有甚者,通过nginx/varnish/squid针对性的做一些“页面静态化的优化”,直接每个city有一个对应的html,能极大的提高吞吐量:

四、页面静态化的适用场景

在做站点架构的过程中,“动静分离”是一项很常见的优化手段:

(1)对于不变的首页、js、jpg、css,可以用专门的file-server来针对性优化(cdn/nginx/varnish/squid)提供高速访问

(2)对于动态的页面,有专门的tomcat/apache/iis/lighttpd集群来提供动态站点生成

一般来说动态站点时延会大大高于静态站点,应为每次生成动态站点需要访问服务(多次网络传输)、访问数据库(可能有很慢的磁盘io),并且还有大量的计算逻辑,而静态文件则可以直接返回。

“页面静态化”是一种将原本需要动态生成的站点提前生成静态站点的优化技术,什么样的业务场景可以进行“页面静态化”优化呢?

解答:总数据量不大,生成静态页面数量不多的业务,非常适合于“页面静态化”优化

<广告>

如果你读到了这里,说明对微信平台还是有点兴趣的,58到家微信平台团队目前只有一个女生负责(技术圈混,绝不骗人),奇缺人,欢迎有志之士加入

一些说明:base北京,核心团队,技术导向,Java方向,和58沈剑一个团队

加入方式:(1)直接在文章下面留言(2)在公众号回复“招聘”获取加盟密钥

</广告完毕>

例如:到家开通的城市只有几百个,那只需提前生成几百个城市的“静态化页面”即可

又例如:一些二手车业务,整个公司可能只有几万量二手车库存,也可以提前生成这几万量二手车的静态页面

再例如:像58同城这样的信息模式业务,又几十亿的帖子量,就不太适合于静态化

五、总结

“页面静态化”是一种将原本需要动态生成的站点提前生成静态站点的优化技术,总数据量不大,生成静态页面数量不多的业务,非常适合于“页面静态化”优化

以上内容均来自微信公众号“架构师之路”胡剑老师的文章,欢迎关注。

原文地址:http://www.cnblogs.com/sheldon-blog/p/8109890.html

时间: 2024-11-08 21:36:39

58到家入驻微信钱包的技术优化的相关文章

58到家周俊鹏:webpack PK fis,实现前端工程化我更喜欢前者

责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_qg」,申请入群,务必注明「公司+职位」.另可申请加入CSDN前端开发QQ群:465281214. 2016年,SDCC(中国软件开发者大会)相继走进了上海.深圳.成都.杭州各地.11月18日-20日将在北京完美收官.作为大会的重要分专题,前端开发专题已邀请到58到家高级前端工程师周俊鹏担任大会讲师,现场将分

高德LBS+的勾搭之下 58到家劈腿阿里?

昨日,高德与58到家宣布达成全面合作,这是既神州租车之后,高德LBS+平台引入的又一巨头明星级合作伙伴.如今看来,去年曾宣布放弃O2O的高德,实际却在变向加大对O2O市场的投入,竟能让腾讯系的58到家无视四维图新而选择投身阿里系的高德,这是有多大的吸引力? 放弃自建O2O后,高德显得对O2O更有兴趣 去年俞永福接管高德之后突然宣布放弃O2O业务时还曾引起了不小的争论,在全民皆O2O的时代,高德竟然主动放弃O2O着实有些让业界惊讶.但后来高德的实际行动却显示,其并非彻底放弃O2O,只是换个形式,放

十亿级视频播放技术优化揭密

本文为转载文章,文章来自:王辉|十亿级视频播放技术优化揭密 QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦.北京.东京.纽约.圣保罗.上海.旧金山召开.自 2007年 3月份首次举办以来,已经有超万名高级技术人员参加过QCon大会.QCon内容源于实践并面向社区,演讲嘉宾依据热点话题,面向 5年以上工作经验的技术团队负责人.架构师.工程总监.高级开发人员分享技术创新和最佳实践. 4月18日性能优化面面观专题会议上,腾讯研发总监王辉以“十亿级视频播放技术优化揭秘”为主题,用QQ空间的日均

58到家合并了嘟嘟美甲,仍需直面三大隐忧

据21世纪经济报道,58到家于2月17日合并美甲O2O平台嘟嘟美甲,虽然双方并未透露收购费用明细,但已有行业人士告知媒体本次并购价格仅花费数百万元人民币.根据媒体报道资料来看,并购后双方将对美甲业务进行整合,使得美甲师.美甲样式.美甲工具等方面进行资源和58到家原有O2O业务实现打通. 至此,这个曾获千万美元A轮融资的O2O项目正式落幕,走完了其短暂但并不锦绣的一生. 用户留存率决定O2O生存机会 从辉煌的O2O征程到低廉价格的并购结局,嘟嘟美甲和大多其他不具备长久生命力的O2O一样,依移动互联

【腾讯Bugly干货分享】微信读书iOS性能优化

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/578c93ca9644bd524bfcabe8 "8小时内拼工作,8小时外拼成长"这是大家共同的理想.除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰. Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师.每周都会举行嘉宾分享,话题讨论等活动. 上一期我们邀请了腾讯SNG工程师&qu

新增客户端自动获取微信地址功能、优化商品规格编辑体验更新!

最近,微信小程序官方又更新了,又开放十几项接口,接口的增加意味着拥有小程序的企业主有了更多福利.酷客多作为国内首家微信小程序技术服务商自然要紧跟微信小程序官方的更新步伐,为客户提供最新最前沿的技术服务,为此我们做了此次更新.此次版本更新主要是小程序端地址添加优化和后端商品规格添加体验优化. 1.新增调用微信地址功能,小程序用户不用自己填写地址,直接调用微信填写好的地址,如果自动获取的地址不够精确可以手动修改. 通过此项功能改进减少了顾客自己添加收货地址的步骤,使购买体验更加简洁. 2.优化后端商

Android IOS WebRTC 音视频开发总结(七十)-- 移动端音视频技术优化的七个方向

最近直播很火,很多朋友对背后的技术比较感兴趣,所以今天我们整理一篇关于移动端视频优化的文章,这篇文章是我朋友在一个技术大会上分享过的,更多内容请关注我们的微信公众号:rtcblacker 视频直播为什么会这么火? 首先,音视频直播.点播的需求一直大量存在,包括各种行业应用,比如视频门户.娱乐直播.游戏直播.在线教育.远程医疗,远程监控,企业协作,社交应用等等.“以前之所以没有全面爆发,是因为硬件条件不满足,比如网络的带宽有限”,目前网速仍在不断提升,光纤普及到小区,有线网络的上下行带宽已经达到要

TOP100summit:【分享实录-QQ空间】10亿级直播背后的技术优化

本篇文章内容来自2016年TOP100summit QQ空间客户端研发总监王辉的案例分享.编辑:Cynthia 王辉:腾讯SNG社交平台部研发总监.腾讯QQ空间移动客户端技术负责人高级工程师.09年起负责QQ空间技术研发,经历从Web时代到移动客户端技术的转变,在Web.移动终端上都有不错的技术积累. 导读:移动互联网飞速发展,2016年,社交网络对视频技术的应用得到爆发式的增长,短视频.视频直播.视频滤镜.视频人脸动效.音乐.K歌.变声.连麦等功能陆续在产品中上线,如何在快速上线功能的同时,保

从0开始做垂直O2O个性化推荐-以58到家美甲为例

从0开始做垂直O2O个性化推荐 上次以58转转为例,介绍了如何从0开始如何做互联网推荐产品(回复"推荐"阅读),58转转的宝贝为闲置物品,品类多种多样,要做统一的宝贝画像比较难,而分类别做宝贝画像成本又非常高,所以更多的是进行用户画像.分类预测推荐.协同过滤推荐等个性化推荐. 有些同学反馈,他们的产品是垂直类的O2O产品,分类单一,可以简单的实现宝贝画像,这类垂直O2O产品怎么从零开始做个性化推荐呢?这是本文要讨论的问题 一.58到家美甲简介 58到家有三大自营业务"家政&q