架构设计:负载均衡层设计方案(1)——负载场景和解决方式

2015年08月30日 - 架构设计:负载均衡层设计方案(1)——负载场景和解决方式 - 在上一篇《标准Web系统的架构分层》文章中,我们概述了WEB系统架构中的分层架设体系,介绍了包括负载均衡层、业务层、业务通信层、数据存储层的作用和存在意义。从本片文章开始,我们将首先详细讲解负载均衡层的架构原理和选型场景。 架构设计:负载均衡层设计方案(1)——负载场景和解决方式 - 我们知道负载均衡层的作用是“将来源于外部的处理压力通过某种规律/手段分摊到内部各个处...详情

错误的日期格式可能导致走nginx proxy cache时不能进行304响应

2017年06月12日 - 错误的日期格式可能导致走nginx proxy cache时不能进行304响应 - 昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头 错误的日期格式可能导致走nginx proxy cache时不能进行304响应 - Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expi...详情

开启nginx cache后导致内存几乎100%问题

2017年06月11日 - 开启nginx cache后导致内存几乎100%问题 - 前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务不能缓存太久,当时设置了5s,那么带来的问题就是产生大量小文件,而且很快就删除了。 开启nginx cache后导致内存几乎100%问题 - 通过free -m命令 开启nginx cache后导致内存几乎100%问题 - 开启nginx cache后导致内存几乎100%问题 - ...详情

使用httpclient必须知道的参数设置及代码写法及存在的风险

2017年06月11日 - 使用httpclient必须知道的参数设置及代码写法及存在的风险 - 如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住。httpclient 4.3.3,目前还有一些bug;还是用4.2.x稳定版本吧。 使用httpclient必须知道的参数设置及代码写法及存在的风险 - httpclient一天并发量在1500w左右,峰值一秒7万。 在之前使用过程中,一直存在大量...详情

聊聊高并发之隔离术

2017年06月11日 - 聊聊高并发之隔离术 - 聊聊高并发之隔离术 - 隔离是指将系统或资源分割开,系统隔离是为了在系统发生故障时能限定传播范围和影响范围,即发生故障后不会出现滚雪球效应,从而保证只有出问题的服务不可用,其他服务还是可用的;而资源隔离有脏数据隔离、通过隔离后减少资源竞争提升性能等。我遇到的比较多的隔离手段有线程隔离、进程隔离、集群隔离、机房隔离、读写隔离、动静隔离、爬虫隔离等。而出现系统问题时可以考虑负载均衡路由、自动/手动切换分组或者降级等手...详情

聊聊高并发系统之队列术

2017年06月11日 - 聊聊高并发系统之队列术 - 聊聊高并发系统之队列术 - 队列在数据结构中是一种线性表,从一端插入数据,然后从另一端删除数据。本文目的不是讲解各种队列算法,而是在应用层面讲述使用队列能解决哪些场景问题。 聊聊高并发系统之队列术 - 在我开发过的系统中,不是所有的业务都必须实时处理、不是所有的请求都必须实时反馈结果给用户、不是所有的请求/处理都必须100%处理成功、不知道谁依赖“我”的处理结果、不关心其他系统如何处理后续业务、不需要强一致性...详情

聊聊高并发系统之降级特技一

2017年06月11日 - 聊聊高并发系统之降级特技一 - 在进行降级之前要对系统进行梳理,看看系统是不是可以丢卒保帅;从而梳理出哪些必须誓死保护,哪些可降级;比如可以参考日志级别设置预案: 聊聊高并发系统之降级特技一 - 一般:比如有些服务偶尔因为网络抖动或者服务正在上线而超时,可以自动降级; 聊聊高并发系统之降级特技一 - 警告:有些服务在一段时间内成功率有波动(如在95~100%之间),可以自动降级或人工降级,并发送告警; 聊聊高并发系统之降级特技一 - 错...详情

聊聊高并发系统之限流特技二

2017年06月11日 - 聊聊高并发系统之限流特技二 - 常见的限流算法有:令牌桶、漏桶。计数器也可以进行粗暴限流实现。 聊聊高并发系统之限流特技二 - 令牌桶算法 聊聊高并发系统之限流特技二 - 令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下: 聊聊高并发系统之限流特技二 - 假设限制2r/s,则按照500毫秒的固定速率往桶中添加令牌; 桶中最多存放b个令牌,当桶满时,新添加的令牌被丢弃或拒绝; ...详情

聊聊高并发系统之HTTP缓存

2017年06月11日 - 聊聊高并发系统之HTTP缓存 - 最近遇到很多人来咨询我关于浏览器缓存的一些问题,而这些问题都是类似的,因此总结本文来解答以后遇到类似问题的朋友。 聊聊高并发系统之HTTP缓存 - 因本文主要以浏览器缓存场景介绍,所以非浏览器场景下的一些用法本文不会介绍,而且本文以chrome为测试浏览器。 聊聊高并发系统之HTTP缓存 - 浏览器缓存是指当我们使用浏览器访问一些网站页面或者http服务时,根据服务端返回的缓存设置响应头将响应内容缓存到...详情

电商前端交易型系统设计原则

2017年06月11日 - 电商前端交易型系统设计原则 - 从毕业到现在已经快7年开发经验了,做过基础用户系统、积分商城、偷菜游戏、论坛、博客等等;也一个人全栈开发在线视频网站,也开发过几万、几十万、几千万、几个亿不同量级的系统,踩过不少坑,也学到许多经验。设计了一些系统,也有了一些自己的观点,个人认为设计系统要因场景因时间而异,一个系统不是一下子就设计的非常完美,在有限的资源情况下一定是先解决当下最核心的问题,并预测/发现未来可能出现的问题,一步步解决最痛点的问...详情

应用数据静态化架构高性能单页Web应用

2017年06月11日 - 应用数据静态化架构高性能单页Web应用 - 在电商网站中,单页Web是非常常见的一种形式,比如首页、频道页、广告页等都属于单页应用。而这种页面是由模板+数据组成。传统的构建方式一般通过静态化实现。而这种方式的灵活性并不是很好,比如页面模板部分变更了需要重新全部生成。因此最好能有一种实现方式是可以实时动态渲染,以支持模板的多变性。另外也要考虑好如下几个问题: 应用数据静态化架构高性能单页Web应用 - 1、动态化模板渲染支持; 应用数据静...详情

应用多级缓存模式支撑海量读服务

2017年06月11日 - 应用多级缓存模式支撑海量读服务 - 缓存技术是一个老生常谈的问题,但是它也是解决性能问题的利器,一把瑞士军刀;而且在各种面试过程中或多或少会被问及一些缓存相关的问题,如缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复等各种与缓存相关的问题。而这些问题中有些问题又是与场景相关,因此如何合理应用缓存来解决问题也是一个选择题。本文所有内容是跟读服务缓存相关,不会涉及写服务数据的缓存。本文也不考虑内容型应用前置的CDN架构。本...详情

使用Nginx+Lua(OpenResty)开发高性能Web应用

2017年06月11日 - 使用Nginx+Lua(OpenResty)开发高性能Web应用 - 在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开发主要是以C/C++模块的形式进行,整体学习和开发成本偏高;如果有一种简单的语言来实现Web应用的开发,那么Nginx绝对是把好的瑞士军刀;目前Nginx团队也开始意识到...详情

京东商品详情页碎碎念

2017年06月11日 - 京东商品详情页碎碎念 - 在之前的两篇文章《构建需求响应式亿级商品详情页》和《京东商品详情页服务闭环实践》已经详细介绍了整个系统的架构设计和实现思路。本篇将介绍下杂七杂八的一些实践: 京东商品详情页碎碎念 - 静态化 突发流量 恶意访问 托底数据 超时时间/重试 CDN回源 监控和报警 日志 京东商品详情页碎碎念 - 静态化 京东商品详情页碎碎念 - 我个人总结为:数据静态化、页面片段静态化、页面静...详情

京东商品详情页服务闭环实践

2017年06月11日 - 京东商品详情页服务闭环实践 - 该文章是根据OpenResty Con 2015技术大会的演讲《Nginx+Lua在京东商品详情页的大规模应用》细化而来,希望对大家有用。 京东商品详情页服务闭环实践 - 京东商品详情页技术方案在之前《构建需求响应式亿级商品详情页》这篇文章已经为大家揭秘了,接下来为大家揭秘下双十一抗下几十亿流量的商品详情页统一服务架构,这次双十一整个商品详情页没有出现不服务的情况,服务非常稳定。统一服务提供了:促销和广告...详情

使用Docker容器时需要更改GC并发参数配置

2017年06月11日 - 使用Docker容器时需要更改GC并发参数配置 - 最近在做统一服务优化时发现使用容器时垃圾回收偏长,而我们的服务是一个响应时间优先的应用,需要对GC进行一些调优,在对容器内Java应用进行GC时发现: 使用Docker容器时需要更改GC并发参数配置 - (8核)如下是8核机器的GC,CMS,young gc基本在100ms左右 使用Docker容器时需要更改GC并发参数配置 - [GC (Allocation Failure) 154...详情

商品详情页系统的Servlet3异步化实践

2017年06月11日 - 商品详情页系统的Servlet3异步化实践 - 在京东工作的这一年多时间里,我在整个商品详情页系统(后端数据源)及商品详情页统一服务系统(页面中异步加载的很多服务,如库存服务、图书相关服务、延保服务等)中使用了Servlet3请求异步化模型,总结了Servlet3请求异步化的一些经验和想法跟大家分享和交流。 商品详情页系统的Servlet3异步化实践 - 1、为什么实现请求异步化需要使用Servlet3 商品详情页系统的Servlet3...详情

构建需求响应式亿级商品详情页

2017年06月11日 - 构建需求响应式亿级商品详情页 - 该文章是根据velocity 2015技术大会的演讲《京东网站单品页618实战》细化而来,希望对大家有用。 构建需求响应式亿级商品详情页 - 商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口。京东商城目前有通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的,只是展示方式不一样。目前商品详情页个性化需求非常多,数据来源也是非常多的,而且...详情

我是如何构建一个持续发展的项目

2017年06月11日 - 我是如何构建一个持续发展的项目 - 说起项目,每个程序员都应该搭建过自己的项目,而我也搭建过数十个企业级或互联网级项目;在做企业级项目时也抽象了一套通过的开发脚手架ES方便开发,也做过一些通用的代码生成工具来生成通用项目架子或一些CRUD的代码。做这些平台或项目的时候或多或少给我一些启示和原则,而这些启示和原则一直指导着我内心方向,时刻指导我不偏离航线。 我是如何构建一个持续发展的项目 - 心中有原则 代码规范化 代码审查...详情

构建亿级前端读服务

2017年06月11日 - 构建亿级前端读服务 - 从入职京东到现在,做读服务已经一年多的时间了,经历了各种亿级到百亿级的读服务;这段时间也进行了一些新的读服务架构尝试,从架构到代码的编写,各个环节都进行了反复尝试,压测并进行调优,希望得到一个自己满意的读服务架构。 构建亿级前端读服务 - 无状态 数据闭环 缓存银弹 并发化 降级开关 限流 切流量 其他 构建亿级前端读服务 - 如果设计的应用是无状态的,那么应用就可以水平扩展...详情

<1...34567...12>到第页