《亿级流量网站架构核心技术》目录一览

news/2024/5/9 21:45:47/文章来源:https://blog.csdn.net/csnewdn/article/details/53745105

《亿级流量网站架构核心技术》目录一览

  • 博客分类:
  • 架构
架构

 

在2011年年底的时候笔者就曾规划写一本Spring的书,但是因为是Spring入门类型的书,框架的内容更新太快,觉得还是写博客好一些,因此就把写完的书稿放到了博客(jinnianshilongnian.iteye.com,因为是龙年开的博客,所以很多网友喊我龙年兄),并持续更新,到现在已经不多五年了。大家再网上找资源时会发现很多内容不成体系,不能系统的学习,这也是我的痛点,因此我写博客的一个特色就是坚持写系列文章,想学习某种技术只要我博客有的不需要去其他地方再找了,到现在已经写过《跟我学Spring》、《Spring杂谈》、《跟我学Spring MVC》、《跟我学Shiro》、《跟我学Nginx+Lua》等系列,累计访问量已超过1000万。我写博客还有一个私心:带新人,当时我们系统架构使用了OpenResty,而我们团队都是Java程序员,所以就写了《跟我学Nginx+Lua》,新人跟着教程学一遍就能上手干活了。

 

2015年开始笔者在个人公众号“开涛的博客”写《聊聊高并发系统》系列文章,陆续发表了聊聊高并发系统之限流特技、聊聊高并发系统之降级特技、聊聊高并发系统之队列术、构建需求响应式亿级商品详情页等文章。这些内容都是笔者在一线使用过的一些,而这些技能是一线程序员或架构师应该掌握的必备技能。而且这一系列也得到了很多读者反馈和认可,帮助他们解决了系统的一些问题。公众号发表的有些内容偏理论,很多人不知道怎么去用,因此就有了丰富理论和实战内容并出版本书的想法,想学习高可用和高并发系统技能看本书就够了,并且可以作为案头工具书。

 

本书暂定名称为《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》,如有好的书名建议欢迎留言,必当重谢。内容已交由出版社编辑,相信很快就会和大家见面。主要内容结构和目录如下所示:




  

 

 

第一部分概述

高并发原则

无状态

拆分

服务化

消息队列

数据异构

缓存银弹

并发化

高可用原则

降级

限流

切流量

可回滚

业务设计原则

防重设计

幂等设计

流程可定义

状态与状态机

后台系统操作可反馈.

后台系统审批化.

文档&注释

备份

 

第二部分 高可用

负载均衡与反向代理

upstream配置

负载均衡算法

失败重试

健康检查

tcp心跳检查

http心跳检查

其他配置

域名上游服务器

备份上游服务器

不可用上游服务器

长连接

HTTP反向代理示例

HTTP动态负载均衡

Consul+Consul-template

Consul+OpenResty

TCP四层负载均衡

静态负载均衡

动态负载均衡

 

隔离术

线程隔离

进程隔离

集群隔离

机房隔离

读写隔离

动静隔离

爬虫隔离

热点隔离

资源隔离

使用Hystrix实现隔离

Hystrix简介

隔离示例

基于Servlet3实现请求隔离

请求解析和业务处理线程池分离

业务线程池隔离

业务线程池监控/运维/降级

如何使用Servlet3异步化

 

限流详解

限流算法

令牌桶算法

漏桶算法

应用级限流

限流总并发/连接/请求数

限流总资源数

限流某个接口的总并发/请求数

限流某个接口的时间窗请求数

平滑限流某个接口的请求数

分布式限流

redis+lua实现

Nginx+Lua实现

接入层限流

ngx_http_limit_conn_module

ngx_http_limit_req_module

lua-resty-limit-traffic

 

降级特技

降级预案

自动开关降级

超时降级

统计失败次数降级

故障降级

限流降级

人工开关降级

读服务降级

写服务降级

多级降级

配置中心

应用层API封装

配置文件实现开关配置

配置中心实现开关配置

使用Hystrix实现降级

使用Hystrix实现熔断

熔断机制实现

配置示例

采样统计

 

超时与重试机制

简介

代理层超时与重试

Web容器超时

中间件客户端超时与重试

数据库客户端超时

NoSQL客户端超时

业务超时

前端Ajax超时

 

回滚机制

事务回滚

代码库回滚

部署版本回滚

数据版本回滚

静态资源版本回滚

 

压测与预案

系统压测

线下压测

线上压测

系统优化和容灾

应急预案

 

第三部分 高并发

应用级缓存

缓存简介

缓存命中率

缓存回收策略

基于空间

基于容量

基于时间

基于Java对象引用

回收策略

Java缓存类型

堆缓存

堆外缓存

磁盘缓存

分布式缓存

多级缓存

应用级缓存示例

多级缓存API封装

NULL Cache

强制获取最新数据

失败统计

延迟报警

缓存使用模式实践

Cache-Aside

Cache-As-SoR

Copy Pattern

性能测试

 

HTTP缓存

简介

HTTP缓存

Last-Modified

ETag

HttpClient客户端缓存

主流程

清除无效缓存

查找缓存

缓存未命中

缓存命中

缓存内容陈旧需重新验证

缓存内容无效需重新执行请求

缓存响应

缓存头总结

Nginx HTTP缓存设置

expires

if-modified-since

nginx proxy expires

Nginx代理层缓存

Nginx代理层缓存配置

清理缓存

一些经验

 

多级缓存

多级缓存介绍

如何缓存数据

过期与不过期

维度化缓存与增量缓存

分布式缓存与应用负载均衡

缓存分布式

应用负载均衡

热点数据与更新缓存

单机全量缓存+主从

分布式缓存+应用本地热点

更新缓存与原子性

缓存崩溃与快速修复

取模

一致性哈希

快速恢复

 

连接池线程池详解

数据库连接池

DBCP连接池配置

DBCP配置建议

HttpClient连接池

HttpClient4.5.2配置

HttpClient连接池源码分析

HttpClient4.2.3配置

问题示例

线程池

Java线程池

Tomcat线程池配置

 

异步并发实战

同步阻塞调用

异步Future

异步Callback

异步编排CompletableFuture

异步Web服务实现

请求缓存

CompletableFuture实现批量查询

请求合并

 

如何扩容

单体应用垂直扩容

单体应用水平扩容

应用拆分

数据库拆分

数据库分库分表示例

应用层还是中间件层

分库分表策略

使用sharding-jdbc分库分表

使用sharding-jdbc读写分离

数据异构

查询维度异构

聚合数据异构

任务系统扩容

简单任务

分布式任务

Elastic-Job简介

Elastic-Job-Lite功能与架构

Elastic-Job-Lite示例

 

队列术

应用场景

缓冲队列

任务队列

消息队列

请求队列

数据总线队列

混合队列

其他队列

Disruptor+Redis队列

简介

XML配置

EventWorker

EventPublishThread

EventHandler

EventQueue

下单系统水平可扩展架构

下单服务

同步Worker

基于Canal实现数据异构

mysql主从复制

Canal简介

Canal示例 

 

第四部分 案例

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

商品详情页是什么

商品详情页前端结构

我们的性能数据

单品页流量特点

单品页技术架构发展

架构1.0

架构2.0

架构3.0

详情页架构设计原则

数据闭环

数据维度化

拆分系统

Worker无状态化+任务化

异步化+并发化

多级缓存化

动态化

弹性化

降级开关

多机房多活

多种压测方案

遇到的一些坑和问题

SSD性能差

键值存储选型压测

数据量大时JIMDB同步不动

切换主从

分片配置

模板元数据存储HTML

库存接口访问量600w/分钟

微信接口调用量暴增

开启Nginx Proxy Cache性能不升反降

配送至读服务因依赖太多,响应时间偏慢

网络抖动时,返回502错误

机器流量太大

总结

 

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

为什么需要统一服务

整体架构

一些架构思路和总结

两种读服务架构模式

本地缓存

多级缓存

统一入口/服务闭环

引入Nginx接入层

数据校验/过滤逻辑前置

缓存前置

业务逻辑前置

降级开关前置

AB测试

灰度发布/流量切换

监控服务质量

限流

前端业务逻辑后置

前端接口服务端聚合

服务隔离

 

使用OpenResty开发高性能Web应用

OpenResty简介

Nginx优点

Lua的优点

什么是ngx_lua

开发环境

OpenResty生态

场景

基于OpenResty的常用架构模式

负载均衡

单机闭环

分布式闭环

接入网关

核心接入Nginx功能

业务Nginx功能

Web应用

如何使用OpenResty开发Web应用

项目搭建

启停脚本

配置文件

nginx.conf配置文件

nginx.conf项目配置文件

业务代码

模板

公共Lua库

功能开发

基于OpenResty的常用功能总结

一些问题

 

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

整体架构

CMS系统

前端展示系统

控制系统

数据和模板动态化

多版本机制

异常问题

 

使用OpenResty开发Web服务

架构

单DB架构

DB+Cache/数据库读写分离架构

OpenResty+Local Redis+Mysql集群架构

OpenResty+Redis集群+Mysql集群架构

实现

后台逻辑

前台逻辑

项目搭建

Redis+Twemproxy配置

Mysql+Atlas配置

Java+Tomcat安装

Java+Tomcat逻辑开发

Nginx+Lua逻辑开发

 

使用OpenResty开发商品详情页

技术选型

核心流程

项目搭建

数据存储实现

商品基本信息SSDB集群配置

商品介绍SSDB集群配置

其他信息Redis配置

集群测试

Twemproxy配置

动态服务实现

项目搭建

项目依赖

核心代码

基本信息服务

商品介绍服务

其他信息服务

辅助工具

web.xml配置

打WAR包

配置Tomcat

测试

nginx配置

绑定hosts测试

前端展示实现

基础组件

商品介绍

nginx配置

前端展示

核心代码

初始化模块

模板html片段

nginx配置

测试

优化

 

欢迎关注我的公众号获取书的最新动态


 

  • 查看图片附件

聊聊高并发之隔离术
  • 2016-11-22 20:57
  • 浏览 4182
  • 评论(14)
  • 分类:企业架构
  • 相关推荐
参考知识库
大型网站架构知识库6715  关注 | 708  收录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_790819.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何把网站变成黑白灰色?

如何把网站变成黑白灰色? (2013-04-21 20:21:32) 转载▼标签: 网站变黑白 it 分类:div css 地震带来的灾难,为了对逝者的哀悼,很多门户网站会把网站变成黑白色。 把这段代码写css文件里 html { filter:progid:DXImageT…

怎么用wordpress建中英文双语及多语言切换的网站

怎么用wordpress建中英文双语及多语言切换的网站 发布时间:2015/11/30 WordPress技术博客 基础教程 2954 0 有很多朋友都想建一个中英文双语及多语言的网站,尤其是外贸行业。这其实对wordpress来说,并不是难事。 建立多语言切换的网站有两种方…

Apache配置多个监听端口和不同的网站目录的简单方法

Apache配置多个监听端口和不同的网站目录的简单方法 网站(48) From : http://www.waaqi.com/archives/707.html 由于开发的多项目,每个项目又要独立,要用根目录地址。 所以这时候我们需要配置多个不同目录的Apache,如…

纯代码给WordPress网站添加独立下载页面功能

纯代码给WordPress网站添加独立下载页面功能 简单代码,给WordPress主题添加单页下载功能 前言 前几天有个朋友在扣扣上向我咨询下载单页的使用,我今天正好在学车,用手机打字在写下,也顺便给其他有需要的朋友们看看。 介绍 首先…

利用Github Page 搭建个人博客网站

利用Github Page 搭建个人博客网站 转载请注明出处: http://blog.csdn.net/tzs_1041218129/article/details/53214497 http://www.54tianzhisheng.cn/Blog/html/blog_github.html (阅读效果最好) 更多精彩文章请关注微信公众号:猿blog 前言 最近这几天&a…

如何搭建个人网站

如何搭建个人网站(二) 2017年1月28日by 搬砖工 /0 406在上一篇文章中,博主为大家介绍了有关租赁服务器和连接服务器的步骤。接下来就给大家介绍一下如何在我们租用的服务器上面搭建我们需要的应用服务器和发布产品。本篇文章以nginx、tomcat搭…

12306一直显示服务器忙,网购春运火车票首日 12306网站又现服务器忙

①青岛火车站售票大厅内,购票回家的旅客已明显增多。②来自广西的杨先生和同伴们准备拎着行李提前回家。据了解,他们在船厂工作,由于天冷活少,所以提前放假了。③"小候鸟"在妈妈的背后等候进站上车。 本版图/记者 孙传浩…

茌平计算机中考成绩查询,最新:个人成绩查询中考成绩登录系统网站入口

阅读本文前,请您先点击上面的“疏密有致”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。注:本文转载自网络,如有侵权,请在后台留言…

iconfont 图标宽高出问题_icon图标网站分享

分享几个优秀的图标网站,小伙伴们可以自行取用哈~本文通过四个类别进行网站分享。类别1:icon图标网站1、iconfont链接地址:https://www.iconfont.cn/阿里巴巴图标矢量库,今年新增了插画库的功能,是众多设计师钟爱的图标…

北大网站服务器关闭,北京大学网络服务

&nbsp1、如何在Windows2000环境下配置静态IP地址第一步:选择“控制面板”,选择“网络和拨号连接”第二步:鼠标右键选择“本地连接”(或者相应的网卡名称),选择“属性”第三步:选择“TCP/IP协议”第四步&#xff1a…

nextcloud linux源码有没有java版本的_如何使用Nextcloud 搭建个人网站

Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。与Dropbox等专有服务相比,Nextcloud的开放架构让用户可以利用应用程序的…

网站做好后不能用手机浏览吗_企业品牌网站建设要注意哪些细节

互联网行业蓬勃发展,要做好互联网营销,那么企业网站的一定不能少的,现在网站的类型各种各样,比如企业展示类、商城类、商务类、分享类等等,网站的类型有很多,但是对于企业来说,主要还是展示类和…

pygame.image.load()找不到图片_强烈种草的5款资源网站!每一款都有找不尽的资源!...

你们知道的资源网站有哪些呢?百度!百度!百度!其实除了百度还有很多资源网站我们需要去慢慢挖掘,只是你不知道而已。今天小编就来和你扒一扒有哪些资源网站值得我们收藏,快来看看吧!1. 虫部落快搜…

搜索引擎收录查询工具_影响网站收录的因素有哪些?

点上方蓝字关注我们在seo优化网站中,收录是很重要的数据,通过分析收录数据,可以诊断出网站存在的问题,帮助seoer不断调整优化策略。什么是网站收录?网站收录是指搜索引擎通过自己的算法,通过蜘蛛抓取,将网…

用html做网站古诗春思,春思

七言律诗皇甫冉春思莺啼燕语报新年, 马邑龙堆路几千。家住层城邻汉苑, 心随明月到胡天。机中锦字论长恨, 楼上花枝笑独眠。为问天戎窦车骑, 何时返旆勒燕然。Seven-character-regular-verseHuangfu RanSPRING THOUGHTSFinch-notes…

实验Linux之利用源代码——httpd网站搭建服务(阿帕奇)的安装

源码包安装一,下载源码包二、安装gcc、gcc-c、make三、解压并安装四、make 和make install五、修改配置文件与启动六、启动apache:七、最后一步,查看是否安装成功1,源代码包的一般封包格式:包名.tar.gz或者是包名.tar.…

实验Linux之利用rpm,yum——httpd网站搭建服务(阿帕奇)的安装搭建

安装位置:利用rpm安装的软件会有自己的默认安装路径 1、先查看自己的linux的版本 uname -a 为第七代版本 ,安装软件要安装centos7的 2、网站搭建服务的对应软件名为httpd,登录网站进行查找,选择x64_64版本 https://pkgs.org/ 3…

360浏览器一直显示安全连接到服务器,360浏览器提示“您与此网站之间建立的连接不安全完美解决方法...

如果您是该网站的访客,请注意不要在该网站上输入任何敏感信息,更不要在线进行任何购买等交易,因为正规的网上商城网站都会使用 https 加密连接来保护用户的信息安全。安装了SSL证书的网站,好处很多,例如可以获得更好的…

mysql统计人数_网站访问统计系统 Matomo,基于 PHP5+MySQL,前身是Piwik

Matomo 的前身是 Piwik,是一套基于 PHP5MySQL 技术构建的开源网站访问统计系统。Matomo 可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等流量分析功能。此外,它还采用了插件扩展及开放 AP…

[转载]大型网站架构演变和知识体系

原文地址:http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html 之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们…