如果发现书中错误,麻烦在公众号留言,感谢支持。对造成的阅读不便深感抱歉~
PS:想了想本书改名为《亿级流量网站架构基础与实践》可能更适合一些~
新书购买地址
补充内容
反向代理与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 的BasicHttpResponse对象
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页
在实际开发中,不要轻视超时时间,很多重大事故都是因为超时时间不合理导致的,
设置超时时间一定是只有好处没有坏处的,请立即Review你的代码吧。
改为
在实际开发中,不要轻视超时时间,很多重大事故都是因为超时时间不合理导致的,
设置超时时间一定是只有好处没有坏处的,请立即Review你的代码吧。
spring-retry项目实现了重试和熔断功能,目前已用于SpringBatch、Spring Integration等项目。请扫描如下二维码前往学习。
spring-retry实现重试和熔断
==============招聘==============
商城交易平台招聘算法工程师岗,主要方向智慧电商业务(智慧采购、智慧营销、智慧库存、智慧地址等等)。联系方式:[email protected]