LinuxUnix技术丛书Linux集群之美
- ISBN:9787111669814
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:388
- 出版时间:2020-12-01
- 条形码:9787111669814 ; 978-7-111-66981-4
本书特色
适读人群 :*系统工程师或运维工程师 *DevOps工程师 *网络管理员或企业网管 *系统开发工程师 *运维架构师高级运维架构师、资深系统运维工程师十余年工作经验总结。 基于实际生产环境,从云原生平台集群的高可用技术、传统技术的高可用Linux集群构建、MySQL高可用架构设计等角度展现Linux集群之美! 【本书的主要内容和特色】 *基于真实的电子商务系统和CDN系统着重介绍了Nginx/HAProxy+Keepalived、LVS+Keepalived/DR及DNS轮询等常见的Web集群负载均衡高可用技术,除此之外,还介绍了ZooKeeper集群在分布式系统中的应用。 *MySQL高可用架构目前主要是以MySQL 5.7为主,书中针对DRBD+Heartbeat、MySQL MHA及基于GTID的MySQL主从复制工具mysql-utilities进行了详细说明。 *基于笔者目前维护的容器云平台(包括Kubernetes和Mesos集群)介绍云原生环境下的负载均衡技术的具体实现,例如HAProxy、IPVS及Ingress-Controller等,重点介绍了Nginx/Traefik Ingress-Controller在Kubernetes集群系统中的部署和应用。 *以笔者维护过的千万级/亿级PV高并发高流量网站架构为例来说明网站的系统架构设计,并且分享了秒杀系统的架构设计思想。
内容简介
全书共9章,主要是以作者的项目实践为基础,以CentOS 7.5 x86_64为主操作系统、AWS云为平台,介绍Linux传统集群技术、云原生下的负载均衡技术、MySQL的高可用方案及Python自动化运维工具的使用。
目录
第1章 Linux集群基础概念 1
1.1 Linux集群涉及的核心概念及常用软件 2
1.1.1 什么是负载均衡高可用 2
1.1.2 什么是服务发现 3
1.1.3 以LVS作为负载均衡器 4
1.1.4 以Nginx作为负载均衡器 9
1.1.5 以HAProxy作为负载均衡器 10
1.1.6 高可用软件Keepalived 10
1.1.7 高可用软件Heartbeat 11
1.1.8 高可用块设备DRBD 11
1.2 负载均衡关键技术 13
1.2.1 负载均衡算法 13
1.2.2 Session共享和会话保持 17
1.3 负载均衡器的会话保持机制 19
1.3.1 负载均衡器的会话保持处理机制 19
1.3.2 LVS的持久连接机制 20
1.3.3 Nginx负载均衡器的ip_hash算法 24
1.3.4 HAProxy负载均衡器的source算法 25
1.3.5 基于cookie的会话保持处理机制 29
1.4 服务器健康检测 33
1.5 L4和L7负载均衡器对比 34
1.6 集群内(外)负载均衡 34
1.7 软件级负载均衡器的特点介绍与对比 35
1.8 小结 36
第2章 Python的基础概念及进阶知识 37
2.1 Python语言的应用领域 37
2.2 选择Python的原因 39
2.3 Python的版本说明 40
2.4 如何高效地进行Python开发工作 40
2.4.1 IPython的功能介绍 40
2.4.2 利用virtualenv隔离项目 46
2.4.3 PyCharm简介 47
2.5 Python基础知识介绍 51
2.5.1 正则表达式的应用 51
2.5.2 Python程序的构成 58
2.5.3 Python的编码问题 60
2.5.4 使用Python解析JSON 63
2.5.5 Python异常处理与程序调试异常 64
2.5.6 Python函数 67
2.5.7 Python的面向对象 79
2.5.8 Python的多进程和多线程 91
2.5.9 Python协程 105
2.6 小结 109
第3章 Python在Linux集群中的实践应用 110
3.1 Python经常用到的第三方类库 110
3.2 工作中常用的Python脚本 111
3.2.1 利用Python比较应用 111
3.2.2 利用Python获取数据库证书并替换成文件字符串 112
3.2.3 利用Python处理JSON式文件 113
3.3 利用Flask Web框架设计RESTful API 114
3.3.1 后端开发工作中为什么要使用RESTful API 114
3.3.2 项目实战 117
3.4 利用Nginx+Gunicorn+Flask部署Python项目 119
3.5 利用Flask+ Gevent搭建webssh 128
3.6 小结 137
第4章 轻量级自动化运维工具Fabric介绍 138
4.1 Vagrant简介 139
4.1.1 Vagrant的安装 139
4.1.2 使用Vagrant配置本地开发环境 141
4.1.3 使用Vagrant搭建本地开发环境 148
4.1.4 使用Vagrant搭建分布式环境 153
4.2 轻量级自动化运维工具Fabric 162
4.2.1 Paramiko版本库简介 162
4.2.2 Fabric的安装 164
4.2.3 Fabric的命令行入口fab命令详解 165
4.2.4 Fabric的环境变量设置 166
4.2.5 Fabric的核心API 167
4.2.6 Fabric的执行逻辑 171
4.3 Fabric在工作中的应用实例 173
4.3.1 开发环境中的Fabric应用实例 173
4.3.2 工作场景中常见的Fabric应用实例 174
4.4 Fabric在性能方面的不足 180
4.5 小结 180
第5章 Linux集群项目案例 181
5.1 Linux集群的项目案例详解 181
5.1.1 项目案例一:LVS在项目中的优化设计思路 181
5.1.2 项目案例二:用Nginx+Keepalived实现在线票务系统 184
5.1.3 项目案例三:企业级Web负载均衡高可用之Nginx+Keepalived 188
5.1.4 项目案例四:HAProxy双机高可用方案HAProxy+Keepalived 198
5.2 利用HAProxy代理WebSocket集群 203
5.3 巧用DNS轮询进行负载均衡 206
5.4 利用ZooKeeper集群来搭建分布式系统 211
5.5 小结 218
第6章 云原生环境下的负载均衡实现 219
6.1 私有化部署Kubernetes集群 220
6.1.1 部署Kubernetes集群环境的准备工作 220
6.1.2 Nexus3私有仓库在集群内的暴露使用 221
6.1.3 部署Kubernetes集群 222
6.1.4 Kubernetes集群数据如何持久化 228
6.2 负载均衡的具体实现 232
6.2.1 以iptables作为集群的负载均衡 232
6.2.2 以IPVS作为集群的负载均衡 241
6.2.3 服务发现 243
6.2.4 Ingress-Controller的介绍 245
6.3 小结 264
第7章 MySQL高可用集群项目案例 265
7.1 MySQL数据库的安装 265
7.2 服务器物理硬件的选择 267
7.3 MySQL数据库的优化 267
7.4 MySQL主从复制流程与原理 270
7.5 MySQL主从复制的搭建 271
7.5.1 MySQL主从复制环境介绍 271
7.5.2 影响MySQL主从复制的配置选项 272
7.5.3 MySQL主从复制的实现过程 273
7.6 MySQL MHA集群案例 274
7.6.1 MHA安装前的准备工作 275
7.6.2 源码安装MHA程序 276
7.6.3 MHA的实际安装和部署流程 277
7.6.4 MHA manager的压测 284
7.6.5 设置MHA manager为守护进程 290
7.7 MySQL DRBD高可用案例 291
7.7.1 MySQL DRBD相关组件原理介绍 292
7.7.2 MySQL DRBD的具体搭建过程 293
7.7.3 MySQL SysBench的基准测试 308
7.8 利用mysql-utilities工具自动切换主从复制 308
7.8.1 基于GTID的主从复制 308
7.8.2 mysql-utilities工具的二次开发 318
7.9 用XtraBackup工具备份和恢复数据库 319
7.9.1 XtraBackup的安装过程 319
7.9.2 XtraBackup的运行原理 319
7.9.3 XtraBackup备份及恢复过程 321
7.10 小结 322
第8章 高可用高并发系统架构设计 323
8.1 系统性能评估指标 323
8.2 网站架构设计规划预案 324
8.2.1 合理设计与规划 324
8.2.2 核心系统的开发设计 325
8.2.3 规划好网站未来的发展 325
8.2.4 合理选用开源软件方案 326
8.2.5 机房及CDN选型 326
8.2.6 CI/CD及蓝绿部署发布 327
8.2.7 系统安全问题 327
8.3 千万级PV、高性能、高并发网站的架构设计 328
8.4 亿级PV、高性能、高并发网站的架构设计 332
8.5 秒杀系统的架构设计 339
8.6 小结 343
第9章 Linux集群的总结和思考 344
9.1 集群与分布式系统的区别 344
9.2 了解微服务及其组件 346
9.3 现阶段如何保证高可用 349
9.4 小结 351
附录A Docker进阶操作总结 352
附录B 利用Nexus3配置CI/CD的私有仓库 358
附录C XtraBackup备份工具的详细测试 365
作者简介
余洪春(抚琴煮酒) .高级DevOps、系统架构师 ,从事电子商务网站和大型CDN系统运维、架构设计工作十余年,在Linux集群、自动化运维、Kubernetes/Mesos云原生平台及高并发高流量网站架构设计等方面有深入研究,通过大量一线实践积累了丰富的经验,精通负载均衡高可用技术、DevOps及容器技术等。51CTO和ChinaUnix等知名社区的特邀专家,51CTO系统网络频道的专栏作家,ChinaUnix论坛“集群和高可用”及“监控及自动化运维”版版主,在社区内发表了大量技术文章,深受网友好评。
-
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0 -
生成式AI入门与AWS实战
¥69.9¥99.8