对于一个系统设计来说,不仅需要考虑实现业务功能,还要保证系统高并发、高可用、高可靠等。在系统容量规划(流量、容量等)、SLA制定(吞吐量、响应时间、可用性、降级方案等)、压测方案(线上、线上等)、监控报警(机器负载、响应时间、可用率等)、应急预案(容灾、降级、限流、隔离、切流量、可回滚等)等方面,也要有一些原则来指导大家。其中,每一个方向都是很复杂的,为了能讲解得较为深入,本篇将从高并发和高可用两个方面来讲解,并配合案例实战使读者能参考案例,来理解这些原则并解决系统痛点。
**第二部分:高可用,**帮助读者理解高可用的一些原则,如负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案等,并能实际应用到自己的系统中。
-
负载均衡与反向代理
-
隔离术
-
限流详解
-
降级特技
-
超时与重试机制
-
回滚机制
-
压测与预案
Nginx提供的负载均衡可以实现上游服务器的负载均衡、故障转移、失败重试、容错、健康检查等,当某些上游服务器出现问题时可以将请求转到其他上游服务器以保障高可用,并可以通过OpenResty实现更智能的负载均衡,如将热点与非热点流量分离、正常流量与爬虫流量分离等。Nginx 负载均衡器本身也是一台反向代理服务器,将用户请求通过Nginx代理到内网中的某台上游服务器处理,反向代理服务器可以对响应结果进行缓存、压缩等处理以提升性能。
**第三部分:高并发,**介绍开发高并发系统的一些原则,如缓存、池化、异步化、扩容、队列等,并配合大量案例帮助读者更好地掌握和运用。
-
应用级缓存
-
HTTP缓存
-
多级缓存
-
连接池线程池详解
-
异步并发实战
-
如何扩容
-
队列术
浏览器缓存是指当我们使用浏览器访问一些网站页面或者 HTTP服务时,根据服务器端返回的缓存设置响应头将响应内容缓存到浏览器,下次可以直接使用缓存内容或者仅需要去服务器端验证内容是否过期即可。这样的好处是可以减少浏览器和服务器端之间来回传输的数据量,节省带宽以提升性能。
**第四部分:案例,**介绍笔者开发过的商品详情页、统一服务等系统架构,还有一-些静态化架构的思路,帮助读者理解前边介绍的一些原则
-
构建需求响应式亿级商品详情页
-
京东商品详情页服务闭环实践
-
使用OpenResty开发高性能Web应用
-
应用数据静态化架构高性能单页Web应用
-
使用OpenResty开发Web服务
-
使用OpenResty开发商品详情页
商品详情页是展示商品详细信息的一个页面,其承载着网站的大部分流量和订单的入口。京东商城目前有通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的, 只是展示方式不一样。目前商品详情页的个性化需求非常多,数据来源也非常多,而且许多基础服务做不了的都放我们系统这里,因此,我们需要一种架构能快速响应和优雅地解决这些需求。我们重新设计了商品详情页的架构,主要包括三部分商品详情页系统、商品详情页统一服务系统和商品详情页动态服务系统。商品详情页系统负责静的部分,而统一服务系统负责动的部分,动态服务系统负责给内网其他系统提供一些数据服务。
最后
分布式技术专题+面试解析+相关的手写和学习的笔记pdf
还有更多Java笔记分享如下:
最后
分布式技术专题+面试解析+相关的手写和学习的笔记pdf
还有更多Java笔记分享如下:
[外链图片转存中…(img-V0Jsg7C2-1714563591542)]