电商架构
c人生的旅途
做自己最爱做的事。
展开
-
构建亿级前端读服务
从入职京东到现在,做读服务已经一年多的时间了,经历了各种亿级到百亿级的读服务;这段时间也进行了一些新的读服务架构尝试,从架构到代码的编写,各个环节都进行了反复尝试,压测并进行调优,希望得到一个自己满意的读服务架构。 一些设计原则 无状态数据闭环缓存银弹并发化降级开关限流切流量其他 无状态 如果设计的应用是无状态的,那么应用就可以水平扩展,当然实际生产环境可能是这样转载 2016-05-27 13:40:10 · 332 阅读 · 0 评论 -
应用多级缓存模式支撑海量读服务
缓存技术是一个老生常谈的问题,但是它也是解决性能问题的利器,一把瑞士军刀;而且在各种面试过程中或多或少会被问及一些缓存相关的问题,如缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复等各种与缓存相关的问题。而这些问题中有些问题又是与场景相关,因此如何合理应用缓存来解决问题也是一个选择题。本文所有内容是跟读服务缓存相关,不会涉及写服务数据的缓存。本文也不考虑内容型应用前置的CDN架构转载 2016-05-27 13:41:34 · 352 阅读 · 0 评论 -
构建需求响应式亿级商品详情页
该文章是根据velocity 2015技术大会的演讲《京东网站单品页618实战》细化而来,希望对大家有用。 商品详情页是什么 商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口。京东商城目前有通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的,只是展示方式不一样。目前商品详情页个性化需求非常多,数据来源也是非常多的,而且转载 2016-05-27 13:42:53 · 317 阅读 · 0 评论 -
商品详情页系统的Servlet3异步化实践
在京东工作的这一年多时间里,我在整个商品详情页系统(后端数据源)及商品详情页统一服务系统(页面中异步加载的很多服务,如库存服务、图书相关服务、延保服务等)中使用了Servlet3请求异步化模型,总结了Servlet3请求异步化的一些经验和想法跟大家分享和交流。 我将从如下几点阐述Servlet3异步化之后的好处: 1、为什么实现请求异步化需要使用Servlet3 2、请转载 2016-05-27 13:44:10 · 530 阅读 · 0 评论 -
京东商品详情页碎碎念
在之前的两篇文章《构建需求响应式亿级商品详情页》和《京东商品详情页服务闭环实践》已经详细介绍了整个系统的架构设计和实现思路。本篇将介绍下杂七杂八的一些实践: 静态化突发流量恶意访问托底数据超时时间/重试CDN回源监控和报警日志 静态化 我个人总结为:数据静态化、页面片段静态化、页面静态化;数据静态化即把相关数据聚合为一个大数据,这样比如获取数据时只需要一次获取即可,好处是减少多次获转载 2016-05-27 13:44:48 · 417 阅读 · 0 评论 -
京东商品详情页服务闭环实践
该文章是根据OpenResty Con 2015技术大会的演讲《Nginx+Lua在京东商品详情页的大规模应用》细化而来,希望对大家有用。 京东商品详情页技术方案在之前《构建需求响应式亿级商品详情页》这篇文章已经为大家揭秘了,接下来为大家揭秘下双十一抗下几十亿流量的商品详情页统一服务架构,这次双十一整个商品详情页没有出现不服务的情况,服务非常稳定。统一服务提供了:促销和广告词合并服务、库存转载 2016-05-27 13:45:44 · 1289 阅读 · 0 评论 -
应用数据静态化架构高性能单页Web应用
在电商网站中,单页Web是非常常见的一种形式,比如首页、频道页、广告页等都属于单页应用。而这种页面是由模板+数据组成。传统的构建方式一般通过静态化实现。而这种方式的灵活性并不是很好,比如页面模板部分变更了需要重新全部生成。因此最好能有一种实现方式是可以实时动态渲染,以支持模板的多变性。另外也要考虑好如下几个问题: 1、动态化模板渲染支持; 2、数据和模板的多版本化:生产版本、灰度版本和转载 2016-05-27 13:46:41 · 484 阅读 · 0 评论 -
使用Nginx+Lua(OpenResty)开发高性能Web应用
在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开发主要是以C/C++模块的形式进行,整体学习和开发成本偏高;如果有一种简单的语言来实现Web应用的开发,那么Nginx绝对是把好的瑞士军刀;目前Nginx团队也开始意识到这个问题,开发了nginxSc转载 2016-05-27 13:48:05 · 900 阅读 · 0 评论 -
淘宝定时任务 tbschedule实战
说明: tbschedule项目其实可以分为两部分: 1)schedule管理控制台。负责控制、监控任务执行状态2)实际执行job的客户端程序。在实际使用时,首先要启动zookeeper, 然后部署tbschedule web界面的管理控制台,最后启动实际执行job的客户机器。这里zookeeper并不实际控制任务调度,它只是负责与N台执行job的客户端通讯,协调、管理、监控这些机器的运行转载 2017-08-03 10:25:33 · 988 阅读 · 0 评论