`
jinnianshilongnian
  • 浏览: 21503892 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2418623
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3008764
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5639454
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:259915
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597308
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250214
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5858945
Group-logo
跟我学Nginx+Lua开...
浏览量:701997
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785213
社区版块
存档分类
最新评论

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

阅读更多

扫一扫,关注我的公众号 

 

我的新书 购买地址

 

在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配置

测试

优化

 

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

扫一扫,关注我的公众号 

 

我的新书 购买地址

 

  • 大小: 27 KB
  • 大小: 372.9 KB
  • 大小: 337.7 KB
17
1
分享到:
评论
21 楼 田田万558 2017-10-18  
推荐一个dubbo分布式服务架构:http://minglisoft.cn/technology
20 楼 MCLoginandPwd 2017-08-11  
分享一款代码生成器,拖拽式组件结合流式处理,很容易的访问数据库、http、文件读写操作等等,支持编写javascript、java、freemaker,功能丰富强大,编制规则,可生成一切想要的代码,详见:http://blog.csdn.net/LoginandPwd/article/details/76944900,更多资讯:http://blog.csdn.net/LoginandPwd/article
19 楼 fenglixion123 2017-08-08  
看目录一脸懵逼
18 楼 88ni6_2017 2017-07-10  
17 楼 dazhangguide 2016-12-30  
坐等出书。
16 楼 zhouliangyc1121 2016-12-22  
赞 坐等
15 楼 IXHONG 2016-12-19  
坐等大神处女作
14 楼 kegumingxin2626 2016-12-15  
什么时候出版啊
13 楼 harlizou 2016-12-15  
比想象的全面,必须买一本来学习~~~~~~~~!!
12 楼 Timeless_LL 2016-12-09  
你是我的对象
11 楼 zhouyecheng 2016-11-28  
坐等,希望买书同事附带一份电子版
10 楼 wangguo 2016-11-28  
  
狂赞开涛兄!
9 楼 itfirefly 2016-11-26  
坐等高清版
8 楼 拾起荒芜 2016-11-24  
期待你的新书,拿到书一定第一时刻拜读,期待能学到更多的经验与知识。
7 楼 AnonymMan 2016-11-24  
支持!!!
6 楼 helloworlda 2016-11-24  
大神,什么时候出版
5 楼 kavenms 2016-11-24  
开涛这个总体目录写的很全面,出来之后买来看一看,对我们高工来说也是一个不错的学习机会
4 楼 monstermzy 2016-11-23  
大牛 仰慕你很久了
3 楼 woodding2008 2016-11-23  
  太棒了,等待大作
2 楼 飞天奔月 2016-11-23  
一直阅读kaitou的博客 受益匪浅

有书的话 一定支持

相关推荐

    一份完整的行业门户网站策划开发设计营运方案.pdf

    1. 核心定位:作为服装印花行业的网络中心,该网站旨在为用户提供最新的行业信息、技术支持,并提供在线交易平台。 2. 经营目标:以收取年度顾问式会员费和进行网上商品贸易为主要盈利方式,为终端用户提供技术咨询...

    国家自然基金06年结题项目一览表

    - **研究内容**:探索在万亿级数据量背景下广域计算与数据管理的关键技术。 - **应用前景**:支撑大数据时代的科学研究与商业应用。 **16. 移动环境下的实时事务及其处理研究** - **负责人**:李国徽 - **评审结果*...

    一份完整的行业门户网站策划开发设计营运方案

    - 当前行业内领先的网站之一是慧聪丝印特印网,该网站具有较高的知名度、流量和信息量,能够为企业提供有效的电子商务服务。 - 其他一些竞争对手,如印染在线、集萃印花网和中华印花网,在某些方面也有所成就,但...

    阿里云 专有云企业版 V3.8.2 企业级分布式应用服务 运维指南 20200903.pdf

    产品架构可能包括多个核心组件,如服务治理、调度中心、监控系统、配置中心等,这些组件协同工作,提供服务注册、发现、负载均衡、容错、流量控制等功能,确保企业应用的稳定运行。 2. 运维架构: EDAS的运维架构...

    学校信息化设备采购项目投标书.pdf

    2.4中详述了核心交换机S6800的相关技术,如Port Security、DHCP Snooping、Dynamic ARP Inspection、IP Source Guard、Filter过滤技术、ACL访问列表控制、Storm-Control以及QoS技术,这些都是保障网络安全、防止攻击...

    信息工程项目学校校园网硬件建设投标书

    - **流量分类、流量监管和流量整形**:通过流量控制技术确保网络资源的合理分配。 - **拥塞管理与避免**:探讨了如何有效管理和避免网络拥塞问题,提高网络效率。 #### 四、重要设备介绍 这部分详细列举了项目...

    SpringCloud.pdf

    - **动静分离架构**:引入了静态缓存和文件存储技术,提高了网站的响应速度。 - **分布式架构**:随着业务规模的扩大,需要将应用拆分成多个服务,并通过负载均衡技术来提高系统的稳定性和性能。 - **微服务架构**:...

    IT综合运维管理系统招标要求.docx

    以下是招标文件中提到的一些核心知识点: 1. **授权与知识产权**: - 供应商需获得所投标产品的生产厂商针对本次项目的专门授权,以证明产品的合法性。 - 所有设备不应存在知识产权纠纷,确保供应商能够提供无...

    二中微信网络运维管理平台功能模块.docx

    - **端口一览**:显示端口状态、流量、用途等信息,帮助快速定位问题端口。 - **关键设备监控**:对重要设备和链路提供特别监控支持,确保关键业务稳定运行。 - **终端监控管理** - **无需代理的终端监控**:...

    计算机网络招标书模板.pdf

    1. **建设目标**:可能是提高网络性能、保障数据安全、优化网络架构等,指导投标方制定相应的技术方案。 2. **建设原则**:可能包括成本效益分析、可持续性、技术先进性等原则,作为评价投标方案的重要依据。 总的...

    机房运维工作报告.pdf

    机房运维是信息技术领域中至关重要的环节,主要负责保障数据中心的稳定运行,确保各类系统的正常服务。这份《机房运维工作报告》详细记录了一年内的运维工作内容,涵盖了网络介绍、设备维护、系统运行状况等多个方面...

    20210602-纷析智库-《2021年品牌CDP与营销数字化转型报告》:从自建数据资产到消费者深度运营.pdf

    品牌CDP(Customer Data Platform,客户数据平台)是一种新兴的数据管理和分析技术,旨在帮助企业收集并整合来自不同渠道和设备的客户数据,以实现更加个性化和精准的营销策略。随着数字化转型的推进,CDP在营销领域...

    精通LINUX设备驱动程序开发

    15.2.3 流量控制 315 15.3 缓冲区管理和并发控制 315 15.4 设备实例:以太网nic 316 15.5 isa网络驱动程序 321 15.6 atm 321 15.7 网络吞吐量 322 15.7.1 驱动程序性能 322 15.7.2 协议性能 323 ...

Global site tag (gtag.js) - Google Analytics