如果发现书中错误,麻烦在公众号留言,感谢支持。对造成的阅读不便深感抱歉~
如果您买到的是第四次印刷版本,勘误已经修订。
新书购买地址
补充内容
反向代理与Real-IP和X-Forwarded-For
spring-retry重试与熔断详解—《亿级流量》内容补充
勘误列表
序
4
无论是第一年人事软件开发的工程师,还是工作多年的资深人士,均可从本书中受益。
改为
无论是第一年
从事
软件开发的工程师,还是工作多年的资深人士,均可从本书中受益。
序
8 XIII
多极缓存
改为
多
级
缓存
前言
XV
阅读本书需要对
Java
、
OpenResty
(
Nginx+Lua
)、
Redis
、
MysQl
等技术有一定了解,
改为
阅读本书需要对
Java
、
OpenResty
(
Nginx+Lua
)、
Redis
、
MySQL
等技术有一定了解,
P9
页
P344
页
假设一个读服务需要如下数据。
目标数据
|
数据
A
|
数据
B
|
数据
C
|
数据
D
|
数据
E
|
获取时间
|
10ms
|
15ms
|
10ms
|
20ms
|
5ms
|
如果串行获取,那么需要
60ms
。
而如果数据
C
依赖数据
A
和数据
B
、数据
D
谁也不依赖、数据
E
依赖数据
C
,那
么我们可以这样来获取数据。
如果并发化获取,则需要
30ms
,能提升一倍的性能。
假设数据
C
还依赖数据
F
(
5ms
),而数据
F
是在数据
C
服务中获取的,此时,就可
以考虑在取
A/B/D
服务数据时,并发预取数据
F
,那么整体性能就变为
25ms
。
P15
页
压测方案(线上、线上等)
改为
压测方案(线上、
线下
等)
P32
页
首先,
upstream
服务启动,我们通过管理后台向
Consule
注册服务。
改为
首先,
upstream
服务启动,我们通过管理后台向
Consul
注册服务。
P44
页
P58
页
改为
P76
页
Stringlimit = "3"; //
限流大小
改为
String limit = "3"; //
限流大小
P195
页
则会构建一个包含
ByteArrayEntity
的
BasicHttpResonse
对象
改为
则会构建一个包含
ByteArrayEntity
的
BasicHttpRes
p
onse
对象
P40
页
proxy_timeout
配置与客户端或上游服务器连接的两次成功读
/
写操作的超时时间
改为
proxy_timeout
配置与客户端或上游服务器
连接两次
读
/
写操作的超时时间
P119
页
client_body_timeout time
:设置读取客户端内容体超时时间,默认为
60s
,此超
时时间指的是两次成功读操作间隔时间,
改为
client_body_timeout time
:设置读取客户端内容体超时时间,默认为
60s
,此超
时时间指的是
连续两次
读操作间隔时间,
P120
页
send_timeout time
:设置发送响应到客户端的超时时间,默认为
60s
,此超时时
间指的也是两次成功写操作间隔时间,而不是发送整个响应的超时时间。
改为
send_timeout time
:设置发送响应到客户端的超时时间,默认为
60s
,此超时时
间指的也是
连续两次
写操作间隔时间,而不是发送整个响应的超时时间。
P124
页
proxy_read_timeout time
:设置从后端
/
上游服务器读取响应的超时时间,默认
为
60s
,此超时时间指的是两次成功读操作间隔时间,而不是读取整个响应体
改为
proxy_read_timeout time
:设置从后端
/
上游服务器读取响应的超时时间,默认
为
60s
,此超时时间指的是
连续两次
读操作间隔时间,而不是读取整个响应体
P125
页
proxy_send_timeout time
:设置往后端
/
上游服务器发送请求的超时时间,默认
为
60s
,此超时时间指的是两次成功写操作间隔时间,而不是发送整个请求的
改为
proxy_send_timeout time
:设置往后端
/
上游服务器发送请求的超时时间,默认
为
60s
,此超时时间指的是
连续两次
写操作间隔时间,而不是发送整个请求的
P361
页
因此,在生成环境中会通过把
CPU
绑定给
Nginx
改为
因此,在
生产
环境中会通过把
CPU
绑定给
Nginx
P84
页
桶计算时间窗口(
1.5
秒)
=
速率(
2r/s
)
/
桶容量(
3
)
改为
桶计算时间窗口(
1.5
秒)
=
桶容量(
3
)
/
速率(
2r/s
)
P87
页
桶计算时间窗口(
1.5
秒)
=
速率(
2r/s
)
/
桶容量(
3
)
改为
桶计算时间窗口(
1.5
秒)
=
桶容量(
3
)
/
速率(
2r/s
)
P11
页
开关前置化:如架构是
Nginx
→
Tomcat
,可以将开关前置到
Nginx
接入层,在
Nginx
层做开关,请求流量回源后端应用或者只是一小部分流量回源。
改为
开关前置化:如架构是
Nginx
→
Tomcat
,可以将开关前置到
Nginx
接入层,在
Nginx
层做开关,请求流量
不
回源后端
Tomcat
应用或者只是一小部分流量回源。
P137
页
在实际开发中,不要轻视超时时间,很多重大事故都是因为超时时间不合理导致的,