XML+Schema教程
XML Schema教程 非常全面的资料
eclipse 插件 Javascript Debug Toolkit
JSDT(Javascript Debug Toolkit)是一个用于javascript调试的eclipse 插件,用于调试javascript。JSDT可以跨浏览器调试,支持在IE,Firefox,Safari,Chrome等主流浏览器中调试 javascript。JSDT支持设置断点,单步调试等调试工具的基本特性。
深入JAVA虚拟机第二版+随书代码
深入JAVA虚拟机第二版+随书代码 很好的书哦
大象--Thinking in UML 配套光盘完整版part3
大象--Thinking in UML 配套光盘完整版part3
大象--Thinking in UML 配套光盘完整版part 2
大象--Thinking in UML 配套光盘完整版part2
大象--Thinking in UML中文清晰版+配套光盘完整版 part 1
大象--Thinking in UML中文清晰版+配套光盘完整版part 1
Kibana中文指南
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表
Docker技术入门与实战 带书签 高清完整PDF版
Docker技术使得开发人员可享受**的自动化运维理念和工具,无需运维人员介入即可顺利运行与各种运行环境。本书分为三大部分:Docker入门、实战案例、高级话题,共14章,第1章介绍虚拟化技术的概念与Docker的功能,第2章介绍Container容器相关的基本概念与术语。第3章带领读者快速搭建一个Docker系统。第4章介绍镜像的原理与操作。第5章介绍容器的原理与操作。第6章介绍DockerHub以及私有仓库的构建。第7章介绍容器的互联方式与网络配置。第8章介绍如何构建Image。第9章介绍搭建一个基础架构,第10章介绍一个综合案例,包括操作系统、数据持久化、服务器、语言环境、Web应用等内容。第11-14章是一些高级话题,如搭建私人仓库、CoreOS、Docker安全、Docker架构等。本书从基本原理开始,深入浅出地讲解Docker的构建与操作。向运维人员提供Docker部署指引,向开发者提供快速搭建Docker应用的指引。
EditPlus 3.31 + 注册码
EditPlus 3.31 英文版 + 注册码
Java并发编程的艺术_高清完整版+源码
《Java并发编程的艺术》高清完整PDF版 + 随书源代码
作者:方腾飞,魏鹏,程晓明 著 出版社:机械工业出版社
java多线程设计模式详解(PDF及源码)
java多线程设计模式详解(PDF及源码)
SpringSecurity3.0.x官方参考文档(英文+中文双解版)
SpringSecurity3.0.x官方参考文档(英文+中文双解版)
Kubernetes权威指南第2版 带书签
Kubernetes权威指南第2版 带书签 (清晰版)
Kubernetes权威指南第2版 带书签 (清晰版)
XML Schema 完全指南
XML Schema 完全指南 非常全面
XmlSchema标准参考手册 中文版
XmlSchema标准参考手册 中文版 绝对好资料
Eclipse HTML Editor
Eclipse上的HTML/JSP/XML编辑器插件Eclipse HTML Editor 很好用。
jasperreports实例+中文文档+资料
jasperreports实例+中文文档+资料
Maven3实战
maven实战,完整扫描版本,网上的很多都是不完整版,或者是完整版但不带目录书签,看起来很费劲。我把目录编辑了一下。目前已可以说是“maven实战”完整的电子版了。
Docker进阶与实战
本书由一个真正钻研容器技术的团队写作,他们不仅仅是在使用Docker,更多的是在探索容器的未来之路,希望把“代码与产品,理论与实践”完美结合。本书内容从Docker的来源、镜像、仓库、安全、网络、卷存储,到生态、测试及社区贡献都有涉猎。无论你是入门级,还是已经有了较深的功底,这本书都会带你踏上新的台阶——正所谓“进阶”。
IA-32架构软件开发人员手册_1~3卷:系统编程指南
Intel® 64 and IA-32 架构软件开发人员手册1~3卷,英文版
Intel® 64 and IA-32 ArchitecturesSoftware Developer’s ManualVolume (1, 2A, 2B, 2C, 3A, 3B and 3C):System Programming Guide
亿级流量网站架构核心技术 带书签 高清 完整版 pdf
亿级流量网站架构核心技术》一书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能快速运用到实践项目中。
不管是软件开发人员,还是运维人员,通过阅读《亿级流量网站架构核心技术》都能系统地学习实现亿级流量网站的架构核心技术,并收获解决系统问题的思路和方法。
Docker进阶与实战 高清完整版 带书签 PDF
Docker进阶与实战 华为实践小组编著 作者团队为华为一线开发者和Docker社区活跃的贡献者。以功能模块为粒度,对每一个单独的模块进行深入的分析和讲解,力求将“代码与产品,理论与实践”完美结合
App后台开发运维和架构实践 pdf 完整版
本书的目录大纲如下:
第1章 App后台入门 16
1.1 App后台的功能 16
1.2 App后台架构 17
1.3 App和App后台的通信 19
1.4 App后台和Web后端的区别 22
1.5 选择服务器 23
1.6 选择编程语言 24
1.7 快速入门新技术 25
1.7.1 思维模式 25
1.7.2 4种快速入门新技术的方法 25
1.8 App是怎样炼成的 26
1.8.1 项目启动阶段 26
1.8.2 研发阶段 28
1.8.3 测试阶段 29
1.8.4
正式推出阶段 29
1.9 最适合App的开发模式——敏捷开发 30
1.9.1 Sprint 计划会议 31
1.9.2 日常开发 32
1.9.3 每日例会 33
1.9.4 测试和修复Bug 33
1.9.5 评审会议 34
1.9.6 回顾会议 34
1.9.7 及时反馈 34
1.9.8 总结 34
第2章 App后台基础技术 35
2.1 从App业务逻辑中提炼API接口 35
2.1.1 业务逻辑思维导图 36
2.1.2 功能—业务逻辑思维导图
37
2.1.3 基本功能模块关系 40
2.1.4 功能模块接口UML(设计出API) 41
2.1.5 编写在线API测试文档 42
2.1.6 设计稿标注API 45
2.2 设计API的要点 46
2.3 如何选择合适的数据库产品 50
2.3.1 Redis,MongoDB,MySQL读写数据的区别 50
2.3.2 Redis,MongoDB,MySQL查找数据的区别 50
2.3.3 Redis,MongoDB,MySQL适用场景 51
2.4 如何选择消息队列软件 52
2.4.1 为什么要用消息队列? 52
2.4.2 消息队列的工作流程 53
2.4.3 常见的一些消息队列产品 54
2.5 使用分布式服务实现业务的复用 54
2.5.1 巨无霸系统的危害 55
2.5.2 远程服务的优点 56
2.5.3 远程服务的实现 56
2.6 搜索技术入门 59
2.6.1 一个简单的搜索例子 59
2.6.2 搜索技术的基本原理 60
2.6.3 常见的开源搜索软件介绍 62
2.7 定时任务 65
2.7.1 Linux定时任务Crontab 65
2.7.2 在后台轻松管理各种各样的定时任务 66
第3章 App后台核心技术 68
3.1 用户验证方案 68
3.1.1 使用HTTPS协议 68
3.1.2 基本的用户登录方案 69
3.2 App通信安全 72
3.2.1 URL签名 72
3.2.2 AES对称加密 74
3.2.3 更进一步的通信安全 77
3.3 短信服务 78
3.3.1 App后台发送短信简介 78
3.3.2 选择短信平台 78
3.3.3 建立可靠的短信服务 79
3.4 处理表情的一些技巧 80
3.4.1 表情在MySQL的存储 80
3.4.2 当文字中夹带表情的处理 80
3.4.3 Openfire中发送表情引起连接断开的问题 81
3.5 高效更新数据 82
3.5.1 内容的推拉 83
3.5.2 数据增量更新策略 84
3.6 图片处理 90
3.7 视频处理 91
3.7.1 FFmpeg简介 91
3.7.2 后台调用FFmpeg的功能 92
3.8 获取APK和IPA文件里的资源 94
3.8.1 Android的APK文件 94
3.8.2 iOS的IPA文件 96
3.9 文件系统 98
3.9.1 文件云存储服务 99
3.9.2 架设文件系统 99
3.10 ELK日志分析平台 101
3.10.1 基本模块 101
3.10.2 日志分析流程 102
3.11 Docker构建一致的开发环境 103
3.11.1 Docker原理 103
3.11.2 搭建一致的开发环境 104
第4章 Linux——App后台应用最广泛的系统 107
4.1 基本的系统优化 107
4.1.1 开机自启动服务优化 107
4.1.2 增大文件描述符 109
4.2 常用的命令 110
4.2.1 全面了解系统资源情况——top 110
4.2.2 显示进程状态——ps 115
4.2.3 查看网络相关信息——netstat 116
4.2.4 查看某个进程打开的所有文件——lsof 118
4.2.5 跟踪数据到达主机所经路由——traceroute 119
4.2.6 文件下载/上传工具——“ssh secure shell client”和“lrzsz” 119
4.2.7 查看程序的依赖库——LD_DEBUG 121
4.2.8 进程管理利器——superivisor 122
4.3 故障案例分析 125
第5章 Nginx——App后台HTTP服务的利器 126
5.1 简介 126
5.2 基本原理 127
5.2.1 工作模型 127
5.2.2 进程解析 128
5.3 常用配置 129
5.3.1 Nginx的全局配置 130
5.3.2 event配置 130
5.3.3 http配置 131
5.3.4 负载均衡配置 133
5.3.5 server虚拟主机配置 134
5.3.6 location配置 134
5.3.7 HTTPS的配置 135
5.3.8 下载App的配置 136
5.3.9 生产环境中修改配置的良好习惯 136
5.4 性能统计 136
5.5 实现负载均衡的方案 137
5.6 用Nginx处理业务逻辑 139
第6章 MySQL——App后台最常用的数据库 140
6.1 基本架构 140
6.2 选择版本 141
6.3 配置文件详解 142
6.4 软件优化 144
6.4.1 正确使用MyISAM和InnoDB存储引擎 144
6.4.2 正确使用索引 145
6.4.3 避免使用select * 146
6.4.4 字段尽可能地设置为NOT NULL 146
6.5 硬件优化 147
6.5.1 增加物理内存 147
6.5.2 增加应用缓存 147
6.5.3 用固态硬盘代替机械硬盘 148
6.5.4 SSD硬盘+SATA硬盘混合存储方案 149
6.6 架构优化 149
6.6.1 分表 150
6.6.2 读写分离 151
6.6.3 分库 153
6.7 SQL慢查询分析 156
6.8 云数据库简介 157
6.9 灵活的存储结构 158
6.10 故障排除案例 159
第7章 Redis——App后台高性能的缓存系统 160
7.1 Redis简介 160
7.2 Redis的常用数据结构及应用场景 161
7.2.1 string——存储简单的数据 162
7.2.2 hash——存储对象的数据 163
7.2.3 list——模拟队列操作 165
7.2.4 set——无序且不重复的元素集合 167
7.2.5 sorted set——有序且不重复的元素集合 168
7.3 内存优化 170
7.3.1 监控内存使用的状况 170
7.3.2 优化存储结构 170
7.3.3 限制使用的最大内存 172
7.3.4 设置过期时间 172
7.4 集群 174
7.4.1 客户端分片 174
7.4.2 Twemproxy 175
7.4.3 Codis 176
7.4.4 Redis 3.0集群 179
7.4.5 云服务器上的集群服务 180
7.5 持久化 180
7.5.1 RDB 181
7.5.2 AOF 182
7.6 故障排除案例 184
第8章 MongoDB——App后台新兴的数据库 185
8.1 简介 185
8.2 核心机制解析 186
8.2.1 MMAP(内存文件映射) 186
8.2.2 Journal日志 187
8.3 入门 187
8.3.1 基本操作 188
8.3.2 数组操作 190
8.3.3 实例演示MySQL和MongoDB设计数据库的区别 191
8.4 高可用集群 195
8.4.1 主从 195
8.4.2 副本集 196
8.4.3 分片 198
8.5 LBS——地理位置查询 200
8.6 MongoDB 3.0版本的改进 205
8.6.1 灵活的存储架构 206
8.6.2 性能提升7~10倍 206
8.6.3 存储空间最多减少80% 207
8.6.4 运维成本最多降低95% 207
第9章 App后台架构剖析 208
9.1 聊天App后台架构 208
9.1.1 移动互联网的网络特性 209
9.1.2 协议 212
9.1.3 整体架构 218
9.2 社交App后台架构 221
9.2.1 基本表结构 222
9.2.2 推拉模式 223
9.2.3 数据库架构的演进 225
9.2.4 缓存架构的演进 229
9.3 LBS App后台架构 234
9.3.1 地理坐标详解 235
9.3.2 查找附近的人 236
9.3.3 基于MongoDB的LBS后台架构演进 240
9.4 推送服务器后台架构 242
9.4.1 Android推送 242
9.4.2 iOS推送 248
9.5 获得更多App后台架构资料 252
第10章 App后台架构的演进 255
10.1 架构的核心要素 255
10.1.1 高性能 256
10.1.2 高可用 258
10.1.3 可伸缩 261
10.1.4 可扩展 262
10.1.5 安全性 262
10.2 架构选型的要点 262
10.2.1 用成熟稳定的开源软件 263
10.2.2 尽可能使用云服务 264
10.3 架构的演进 268
10.3.1 单机部署 269
10.3.2 分布式部署 275
10.3.3 服务化 277
10.4 架构的特点 279
10.4.1 每个App的后台架构不会完全一样 279
10.4.2 架构的演进是由业务驱动的 279
10.4.3 架构不是为了炫耀技术 280
Zabbix监控系统深度实践 第2版 带书签 完整版
Zabbix监控系统深度实践 第2版 Zabbix监控系统深度实践 第2版
架构即未来-现代企业可扩展的Web架构流程和组织 第二版 完整带书签
本书赞誉
中文版序一
中文版序二
中文版序三
中文版序四
译者序
序
前言
作者简介
部分 可扩展性组织的人员配置
第1章 人员和领导力对扩展性的影响 …… 2
1.1 案例方法 …… 3
1.2 为什么要讨论人 …… 3
1.3 为什么组织很重要 …… 5
1.4 为什么管理和领导如此重要 …… 12
1.5 结论 …… 15
第2章 可扩展性技术组织的角色 …… 17
2.1 失败的影响 …… 17
2.2 定义角色 …… 19
2.3 执行人员的责任 …… 22
2.4 独立贡献者的责任 …… 28
2.5 RA
SCI工具 …… 35
2.6 结论 …… 39
第3章 组织的设置 …… 41
3.1 组织对可扩展性的影响 …… 41
3.2 团队规模 …… 45
3.3 组织结构 …… 54
3.4 结论 …… 77
第4章 领导力秘籍 …… 80
4.1 什么是领导力 …… 82
4.2 领导力概念模型 …… 84
4.3 自知之明 …… 86
4.4 身先士卒 …… 89
4.5 谦虚谨慎 …… 91
4.6 以人为本,使命为先 …… 92
4.7 决策英明,以德服人 …… 93
4.8 用人不疑 …… 95
4.9 与股东价值保持一致 …… 96
4.10 变革型领导 …… 97
4.11 愿景 …… 98
4.12 使命 …… 102
4.13 目标 …… 104
4.14 总结 …… 106
4.15 成功的因果路线图 …… 111
4.16 结论 …… 113
第5章 管理秘籍 …… 116
5.1 什么是管理 …… 118
5.2 项目和任务管理 …… 120
5.3 团队建设:球队类比 …… 124
5.4 优化团队:花园类比 …… 126
5.5 度量、指标和目标评估 …… 131
5.6 目标树 …… 135
5.7 为成功铺路 …… 137
5.8 结论 …… 138
第6章 关系、思维和商业案例 …… 141
6.1 业务与技术之间的鸿沟 …… 141
6.2 击败IT思维模式 …… 145
6.3 为扩展性加大投入的业务理由 …… 147
6.4 结论 …… 152
第二部分 构建可扩展的过程
第7章 过程是可扩展的关键 …… 154
7.1 过程的目的 …… 155
7.2 正确的时间和正确的过程 …… 160
7.3 当好的过程变坏的时候 …… 164
7.4 结论 …… 166
第8章 管理故障和问题 …… 169
8.1 什么是故障 …… 170
8.2 什么是问题 …… 171
8.3 事故管理的组成部分 …… 172
8.4 问题管理的组成部分 …… 176
8.5 解决事故和问题管理之间的矛盾 …… 177
8.6 事故和问题的生命周期 …… 178
8.7 施行每日事故例会制 …… 179
8.8 施行季度事故总结制度 …… 181
8.9 事后处理 …… 182
8.10 融会贯通 …… 185
8.11 结论 …… 186
第9章 危机管理和升级 …… 189
9.1 什么是危机 …… 191
9.2 为什么要区分危机和其他的事故 …… 192
9.3 危机如何改变公司 …… 193
9.4 混乱中的秩序 …… 195
9.5 通信与控制 …… 200
9.6 作战室 …… 201
9.7 升级 …… 203
9.8 情况通报 …… 204
9.9 危机事后处理与沟通 …… 205
9.10 结论 …… 207
第10章 生产环境的变更管理 …… 210
10.1 什么是变更 …… 211
10.2 变更识别 …… 212
10.3 变更管理 …… 214
10.4 变更控制会议 …… 228
10.5 过程的持续改进 …… 229
10.6 结论 …… 230
第11章 确定应用发展的预留空间 …… 233
11.1 目的 …… 234
11.2 结构 …… 235
11.3 理想使用率 …… 240
11.4 使用电子表格的快速示例 …… 244
11.5 结论 …… 246
第12章 确立架构原则 …… 248
12.1 目标和原则 …… 248
12.2 架构选择 …… 251
12.3 AKF采用的普遍的架构原则 …… 255
12.4 结论 …… 266
第13章 联合架构设计和架构审查委员会 …… 267
13.1 修复组织的功能障碍 …… 267
13.2 跨部门的扩展性设计 …… 268
13.3 JAD的准入和退出标准 …… 271
13.4 从JAD到ARB …… 274
13.5 举行会议 …… 276
13.6 ARB的准入和退出标准 …… 278
13.7 结论 …… 281
第14章 敏捷架构设计 …… 284
14.1 敏捷组织中的架构 …… 286
14.2 架构的所有权 …… 287
14.3 有限的资源 …… 288
14.4 标准 …… 290
14.5 敏捷组织中的ARB …… 293
14.6 结论 …… 294
第15章 聚焦核心竞争力:自建与外购 …… 296
15.1 自建与外购及可扩展性 …… 296
15.2 聚焦成本 …… 297
15.3 聚焦策略 …… 298
15.4 一切自建的现象 …… 299
15.5 合并成本与策略方法 …… 300
15.6 该组件是否会形成战略性的差异化竞争优势 …… 301
15.7 我们是这个组件或资产的佳所有者吗 …… 302
15.8 这个组件的竞争力是什么 …… 303
15.9 我们能有效地构建这个组件吗 …… 303
15.10 佳的购买决策 …… 304
15.11 自建失败剖析 …… 306
15.12 结论 …… 308
第16章 确定风险 …… 310
16.1 风险管理的重要性 …… 310
16.2 测量风险 …… 313
16.3 管理风险 …… 322
16.4 结论 …… 325
第17章 性能与压力测试 …… 328
17.1 执行性能测试 …… 328
17.2 不要过度强调压力测试 …… 338
17.3 可扩展性的性能和压力测试 …… 346
17.4 结论 …… 348
第18章 障碍条件与回滚 …… 351
18.1 障碍条件 …… 352
18.2 回滚能力 …… 358
18.3 服务降级:设计禁用 …… 362
18.4 结论 …… 364
第三部分 可扩展的架构方案
第19章 构建故障隔离的架构 …… 368
19.1 故障隔离架构 …… 369
19.2 故障隔离的好处 …… 371
19.3 如何进行故障隔离 …… 380
19.4 何时实施故障隔离 …… 383
19.5 如何测试故障隔离 …… 386
19.6 结论 …… 387
第20章 AKF扩展立方体介绍 …… 389
20.1 AKF扩展立方体 …… 389
20.2 扩展立方体的X轴 …… 391
20.3 扩展立方体的Y轴 …… 393
20.4 扩展立方体的Z轴 …… 396
20.5 融会贯通 …… 397
20.6 何时以及何处使用扩展立方体 …… 400
20.7 结论 …… 401
第21章 为扩展分割应用 …… 404
21.1 AKF应用扩展立方体 …… 404
21.2 AKF应用扩展立方体的X轴 …… 406
21.3 AKF应用扩展立方体的Y轴 …… 409
21.4 AKF应用扩展立方体的Z轴 …… 412
21.5 融会贯通 …… 414
21.6 应用立方体实例 …… 418
21.7 结论 …… 423
第22章 为扩展分割数据库 …… 426
22.1 在数据库上应用AKF扩展立方体 …… 426
22.2 AKF数据库扩展立方体的X轴 …… 428
22.3 AKF数据库扩展立方体的Y轴 …… 434
22.4 AKF数据库扩展立方体的Z轴 …… 436
22.5 融会贯通 …… 439
22.6 数据库扩展立方体使用案例 …… 443
22.7 结论 …… 450
第23章 为扩展而缓存 …… 452
23.1 定义缓存 …… 453
23.2 对象缓存 …… 457
23.3 应用缓存 …… 461
23.4 内容传送网络 …… 467
23.5 结论 …… 469
第24章 为扩展而异步 …… 472
24.1 对同步的共识 …… 472
24.2 同步与异步调用 …… 474
24.3 定义状态 …… 482
24.4 结论 …… 488
第四部分 其他的问题和挑战
第25章 海量数据 …… 492
25.1 数据的成本 …… 493
25.2 数据的成本价值困局 …… 496
25.3 数据产生利润 …… 498
25.4 处理大量的数据 …… 502
25.5 结论 …… 514
第26章 云计算的突飞猛进 …… 517
26.1 历史和定义 …… 518
26.2 云的特性与架构 …… 522
26.3 云和网格之间的差异 …… 528
26.4 云计算的优势和劣势 …… 530
26.5 云适用于什么样的公司 …… 540
26.6 决策过程 …… 543
26.7 结论 …… 546
第27章 云计算准备就绪 …… 550
27.1 云端的扩展立方体 …… 550
27.2 克服挑战 …… 553
27.3 Intuit案例研究 …… 559
27.4 结论 …… 561
第28章 应用监控 …… 564
28.1 为什么我们没有及早发现问题 …… 564
28.2 监控框架 …… 566
28.3 衡量监控的价值 …… 575
28.4 监控和过程 …… 576
28.5 结论 …… 578
第29章 规划数据中心 …… 581
29.1 数据中心的成本和约束 …… 581
29.2 位置、位置、位置 …… 584
29.3 数据中心和增量增长 …… 588
29.4 什么时候考虑采用IaaS …… 591
29.5 魔法三规则 …… 595
29.6 多活数据中心的考虑 …… 602
29.7 结论 …… 604
第30章 纵观全局 …… 608
30.1 现在该做什么 …… 610
30.2 可扩展性的其他资源 …… 612
系统架构设计师 第四版 高清 带书签
编辑推荐
适读人群 :本书可作为系统架构设计师和系统分析师的工作手册,也可作为软件设计师、数据库系统工程师和网络工程师进一步发展的学习用书,还可作为计算机专业教师的教学参考书。
近十年4个版本的更新,专注软考系统架构设计师级别的考试,涵盖2013~2017年的考题分析,专业平台专家答疑,顺利通过考试。
内容简介
本书由希赛教育软考学院组织编写,用以作为计算机技术与软件专业技术资格(水平)考试中的系统架构设计师级别的考试辅导指定教材。内容涵盖了*新的系统架构设计师考试大纲的所有知识点,对系统架构设计师所必须掌握的基础理论知识做了详细的介绍,重在培养系统架构设计师所必须具备的专业技能和方法。本书内容既是对系统架构设计师考试的总体纲领性的要求,也是系统架构设计师职业生涯的知识与技能体系。准备参加考试的人员可通过阅读本书掌握考试大纲规定的知识,把握考试重点和难点。
Spark技术内幕 深入解析Spark内核架构设计与实现原理
Spark技术内幕 深入解析Spark内核架构设计与实现原理-----深入浅出的阐述spark的执行原理,内核架构,各个阶段的划分与调度
PingCAP TiDB 中文技术手册 2017 pdf
TiDB 是 PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式 NewSQL 数据库。
TiDB 具备如下 NewSQL 核心特性:
• SQL 支持(TiDB 是 MySQL 兼容的)
• 水平线性弹性扩展
• 分布式事务
• 跨数据中心数据强一致性保证
• 故障自恢复的高可用
TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景。
TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时
它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。
尽在双11:阿里巴巴技术演进与超越-高清完整版带书签版
《尽在双11——阿里巴巴技术演进与超越》是迄今唯一由阿里巴巴集团官方出品、全面阐述双 11 八年以来在技术和商业上演进和创新历程的书籍。内容涵盖在双 11 背景下阿里技术架构八年来的演进,如何确保稳定性这条双 11 生命线的安全和可靠,技术和商业交织发展的历程,无线和互动的持续创新与突破,以及对商家的赋能和生态的促进与繁荣。
《尽在双11——阿里巴巴技术演进与超越》主要面向广大互联网技术和商业从业者,内容包括基础设施、云计算、大数据、AR/VR、人工智能、物联网等技术领域的剖析
Java8虚拟机规范 高清完整 带书签 pdf
Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java语言实现细节的必读之作。
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、运行时
App后台开发运维和架构实践 完整版 pdf
本书的目录大纲如下:
第1章 App后台入门 16
1.1 App后台的功能 16
1.2 App后台架构 17
1.3 App和App后台的通信 19
1.4 App后台和Web后端的区别 22
1.5 选择服务器 23
1.6 选择编程语言 24
1.7 快速入门新技术 25
1.7.1 思维模式 25
1.7.2 4种快速入门新技术的方法 25
1.8 App是怎样炼成的 26
1.8.1 项目启动阶段 26
1.8.2 研发阶段 28
1.8.3 测试阶段 29
1.8.4
正式推出阶段 29
1.9 最适合App的开发模式——敏捷开发 30
1.9.1 Sprint 计划会议 31
1.9.2 日常开发 32
1.9.3 每日例会 33
1.9.4 测试和修复Bug 33
1.9.5 评审会议 34
1.9.6 回顾会议 34
1.9.7 及时反馈 34
1.9.8 总结 34
第2章 App后台基础技术 35
2.1 从App业务逻辑中提炼API接口 35
2.1.1 业务逻辑思维导图 36
2.1.2 功能—业务逻辑思维导图 37
2.1.3 基本功能模块关系 40
2.1.4 功能模块接口UML(设计出API) 41
2.1.5 编写在线API测试文档 42
2.1.6 设计稿标注API 45
2.2 设计API的要点 46
2.3 如何选择合适的数据库产品 50
2.3.1 Redis,MongoDB,MySQL读写数据的区别 50
2.3.2 Redis,MongoDB,MySQL查找数据的区别 50
2.3.3 Redis,MongoDB,MySQL适用场景 51
2.4 如何选择消息队列软件 52
2.4.1 为什么要用消息队列? 52
2.4.2 消息队列的工作流程 53
2.4.3 常见的一些消息队列产品 54
2.5 使用分布式服务实现业务的复用 54
2.5.1 巨无霸系统的危害 55
2.5.2 远程服务的优点 56
2.5.3 远程服务的实现 56
2.6 搜索技术入门 59
2.6.1 一个简单的搜索例子 59
2.6.2 搜索技术的基本原理 60
2.6.3 常见的开源搜索软件介绍 62
2.7 定时任务 65
2.7.1 Linux定时任务Crontab 65
2.7.2 在后台轻松管理各种各样的定时任务 66
第3章 App后台核心技术 68
3.1 用户验证方案 68
3.1.1 使用HTTPS协议 68
3.1.2 基本的用户登录方案 69
3.2 App通信安全 72
3.2.1 URL签名 72
3.2.2 AES对称加密 74
3.2.3 更进一步的通信安全 77
3.3 短信服务 78
3.3.1 App后台发送短信简介 78
3.3.2 选择短信平台 78
3.3.3 建立可靠的短信服务 79
3.4 处理表情的一些技巧 80
3.4.1 表情在MySQL的存储 80
3.4.2 当文字中夹带表情的处理 80
3.4.3 Openfire中发送表情引起连接断开的问题 81
3.5 高效更新数据 82
3.5.1 内容的推拉 83
3.5.2 数据增量更新策略 84
3.6 图片处理 90
3.7 视频处理 91
3.7.1 FFmpeg简介 91
3.7.2 后台调用FFmpeg的功能 92
3.8 获取APK和IPA文件里的资源 94
3.8.1 Android的APK文件 94
3.8.2 iOS的IPA文件 96
3.9 文件系统 98
3.9.1 文件云存储服务 99
3.9.2 架设文件系统 99
3.10 ELK日志分析平台 101
3.10.1 基本模块 101
3.10.2 日志分析流程 102
3.11 Docker构建一致的开发环境 103
3.11.1 Docker原理 103
3.11.2 搭建一致的开发环境 104
第4章 Linux——App后台应用最广泛的系统 107
4.1 基本的系统优化 107
4.1.1 开机自启动服务优化 107
4.1.2 增大文件描述符 109
4.2 常用的命令 110
4.2.1 全面了解系统资源情况——top 110
4.2.2 显示进程状态——ps 115
4.2.3 查看网络相关信息——netstat 116
4.2.4 查看某个进程打开的所有文件——lsof 118
4.2.5 跟踪数据到达主机所经路由——traceroute 119
4.2.6 文件下载/上传工具——“ssh secure shell client”和“lrzsz” 119
4.2.7 查看程序的依赖库——LD_DEBUG 121
4.2.8 进程管理利器——superivisor 122
4.3 故障案例分析 125
第5章 Nginx——App后台HTTP服务的利器 126
5.1 简介 126
5.2 基本原理 127
5.2.1 工作模型 127
5.2.2 进程解析 128
5.3 常用配置 129
5.3.1 Nginx的全局配置 130
5.3.2 event配置 130
5.3.3 http配置 131
5.3.4 负载均衡配置 133
5.3.5 server虚拟主机配置 134
5.3.6 location配置 134
5.3.7 HTTPS的配置 135
5.3.8 下载App的配置 136
5.3.9 生产环境中修改配置的良好习惯 136
5.4 性能统计 136
5.5 实现负载均衡的方案 137
5.6 用Nginx处理业务逻辑 139
第6章 MySQL——App后台最常用的数据库 140
6.1 基本架构 140
6.2 选择版本 141
6.3 配置文件详解 142
6.4 软件优化 144
6.4.1 正确使用MyISAM和InnoDB存储引擎 144
6.4.2 正确使用索引 145
6.4.3 避免使用select * 146
6.4.4 字段尽可能地设置为NOT NULL 146
6.5 硬件优化 147
6.5.1 增加物理内存 147
6.5.2 增加应用缓存 147
6.5.3 用固态硬盘代替机械硬盘 148
6.5.4 SSD硬盘+SATA硬盘混合存储方案 149
6.6 架构优化 149
6.6.1 分表 150
6.6.2 读写分离 151
6.6.3 分库 153
6.7 SQL慢查询分析 156
6.8 云数据库简介 157
6.9 灵活的存储结构 158
6.10 故障排除案例 159
第7章 Redis——App后台高性能的缓存系统 160
7.1 Redis简介 160
7.2 Redis的常用数据结构及应用场景 161
7.2.1 string——存储简单的数据 162
7.2.2 hash——存储对象的数据 163
7.2.3 list——模拟队列操作 165
7.2.4 set——无序且不重复的元素集合 167
7.2.5 sorted set——有序且不重复的元素集合 168
7.3 内存优化 170
7.3.1 监控内存使用的状况 170
7.3.2 优化存储结构 170
7.3.3 限制使用的最大内存 172
7.3.4 设置过期时间 172
7.4 集群 174
7.4.1 客户端分片 174
7.4.2 Twemproxy 175
7.4.3 Codis 176
7.4.4 Redis 3.0集群 179
7.4.5 云服务器上的集群服务 180
7.5 持久化 180
7.5.1 RDB 181
7.5.2 AOF 182
7.6 故障排除案例 184
第8章 MongoDB——App后台新兴的数据库 185
8.1 简介 185
8.2 核心机制解析 186
8.2.1 MMAP(内存文件映射) 186
8.2.2 Journal日志 187
8.3 入门 187
8.3.1 基本操作 188
8.3.2 数组操作 190
8.3.3 实例演示MySQL和MongoDB设计数据库的区别 191
8.4 高可用集群 195
8.4.1 主从 195
8.4.2 副本集 196
8.4.3 分片 198
8.5 LBS——地理位置查询 200
8.6 MongoDB 3.0版本的改进 205
8.6.1 灵活的存储架构 206
8.6.2 性能提升7~10倍 206
8.6.3 存储空间最多减少80% 207
8.6.4 运维成本最多降低95% 207
第9章 App后台架构剖析 208
9.1 聊天App后台架构 208
9.1.1 移动互联网的网络特性 209
9.1.2 协议 212
9.1.3 整体架构 218
9.2 社交App后台架构 221
9.2.1 基本表结构 222
9.2.2 推拉模式 223
9.2.3 数据库架构的演进 225
9.2.4 缓存架构的演进 229
9.3 LBS App后台架构 234
9.3.1 地理坐标详解 235
9.3.2 查找附近的人 236
9.3.3 基于MongoDB的LBS后台架构演进 240
9.4 推送服务器后台架构 242
9.4.1 Android推送 242
9.4.2 iOS推送 248
9.5 获得更多App后台架构资料 252
第10章 App后台架构的演进 255
10.1 架构的核心要素 255
10.1.1 高性能 256
10.1.2 高可用 258
10.1.3 可伸缩 261
10.1.4 可扩展 262
10.1.5 安全性 262
10.2 架构选型的要点 262
10.2.1 用成熟稳定的开源软件 263
10.2.2 尽可能使用云服务 264
10.3 架构的演进 268
10.3.1 单机部署 269
10.3.2 分布式部署 275
10.3.3 服务化 277
10.4 架构的特点 279
10.4.1 每个App的后台架构不会完全一样 279
10.4.2 架构的演进是由业务驱动的 279
10.4.3 架构不是为了炫耀技术 280
Akka入门与实践
内容简介
本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示
如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一
个强大的工具集,提供了很多选项,可以对在本地机器上处理或网络远程机器上处理的
某项工作进行抽象封装,使之对开发者不可见。本书将介绍各种概念,帮助读者理解
网络上各系统进行交互的困难之处,并介绍如何使用 Akka 提供的解决方案来解决这些
问题。
作者简介
Jason Goodwin 是一个基本上通过自学成才的开发者。他颇具企业家精神,在学校
学习商学。不过他从 15 岁起就开始学习编程,并且一直对技术保持着浓厚的兴趣。这对
他的职业生涯产生了重要的影响,从商学转向了软件开发。现在他主要从事大规模分布
式系统的开发。在业余时间,他喜欢自己原创电子音乐。
他在 mDialog 公司第一次接触到 Akka 项目。mDialog 是一家使用 Scala/Akka 的公司,
为主流出版商提供视频广告插入软件。这家公司最终被 Google 收购。他同时还是一名很
有影响力的“技术控”,将 Akka 引入加拿大一家主要的电信公司,帮助该公司为客户提
供容错性更高、响应更及时的软件。除此之
外,他还为该公司中的一些团队教授 Akka、
函数式以及并发编程等知识。
目录
第 1 章 初识 Actor:Akka 工具集以及 Actor 模型的介绍。
第 2 章 Actor 与并发:响应式编程。Actor 与 Future 的使用。
第 3 章 传递消息:消息传递模式。
第 4 章 Actor 的生命周期—处理状态与错误:Actor 生命周期、监督机制、Stash/
Unstash、Become/Unbecome 以及有限自动机。
第 5 章 纵向扩展:并发编程、Router Group/Pool、Dispatcher、阻塞 I/O 的处理以
及 API。
第 6 章 横向扩展—集群化:集群、CAP 理论以及 Akka Cluster。
第 7 章 处理邮箱问题:加大邮箱负载、不同邮箱的选择、熔断机制。
第 8 章 测试与设计:行为说明、领域驱动设计以及 Akka Testkit。
第 9 章 尾声:其他 Akka 特性。下一步需要学习的知识。
深入理解Spark 核心思想与源码分析
深入理解Spark 核心思想与源码分析 ,耿嘉安完整版,大数据spark开发必备,你值得拥有。清晰完整版
《深入理解SPARK:核心思想与源码分析》结合大量图和示例,对Spark的架构、部署模式和工作模块的设计理念、实现源码与使用技巧进行了深入的剖析与解读。, 《深入理解SPARK:核心思想与源码分析》一书对Spark1.2.0版本的源代码进行了全面而深入的分析,旨在为Spark的优化、定制和扩展提供原理性的指导。阿里巴巴集团专家鼎力推荐、阿里巴巴资深Java开发和大数据专家撰写。, 本书分为三篇:, 准备篇(第1~2章),介绍了Spark的环境搭建、设计理念与基本架构,帮助读者了解一些背景知识。, 核心设计篇(第3~7章),着重讲解SparkContext的初始化、存储体系、任务提交与执行、计算引擎及部署模式的原理和源码分析。通过这部分的内容,读者可以通过源码剖析更加深入理解Spark的核心设计与实现,以便在实际使用中能够快速解决线上问题并对性能进行调优。, 扩展篇(第8~11章),主要讲解基于Spark核心的各种扩展及应用,包括SQL处理引擎、Hive处理、流式计算框架Spark Streaming、图计算框架GraphX、机器学
习库MLlib等内容。通过阅读这部分内容,读者可以扩展实际项目中对Spark的应用场景,让Spark焕发活力。
SaltStack运维实战 PDF
SaltStack(简称Salt)是由Thomas Hatch 于2011 年创建的一个开源项目,初衷只是想构建一个快速的远程执行系统。后来经过快速发展和新功能的不断加入,演变成了现在的Salt,如今Salt 已经成为了一套强大的自动化运维管理平台。, 《SaltStack运维实战》力求用简洁易懂的方式给读者展示Salt 的核心功能和使用思想,系统地介绍Salt 的主要功能,从安装和最基本的远程执行开始,循序渐进地讲解Salt 的方方面面,涉及Salt 的模块代码编写、状态系统编写、架构扩展和Salt 的高级应用等主题。《SaltStack运维实战》中实例丰富,希望读者可以通过本书掌握Salt 的本质和思想,在自己的工作中应用Salt 来提高运维效率。, 《SaltStack运维实战》适合运维人员以及任何和服务器相关的工作人员阅读,包括研发人员或业余爱好者都可以通过本书掌握如何简单快速地管理服务器,完成服务器集群基础架构的建设。
DevOps实践
《DevOps 实践》介绍了DevOps 的起源和概览,并通过一个贯穿全书的例子,从架构开始,到代码的存储、构建、测试、部署、监控,直至流程的跟踪,推荐了许多可用的工具和可行的示范,是一本DevOps实践方面不可多得的参考书籍。, 《DevOps 实践》面向愿意承担更大责任的开发人员和系统管理员,也很适合愿意更好地支持开发人员的运维人员。无须任何DevOps 知识即可快速上手!
《Java多线程编程核心技术》带书签 目录 高清完整版 PDF
内容简介 · · · · · ·
资深Java专家10年经验总结,全程案例式讲解,首本全面介绍Java多线程编程技术的专著
结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等最难突破的核心技术与应用实践
Java多线程无处不在,如服务器、数据库、应用。多线程可以有效提升计算和处理效率,大大提升吞吐量和可伸缩性,深得广大程序员和公司的青睐。很多人学习完JavaSE/JavaEE之后想往更深入的技术进行探索,比如对大数据、分布式、高并发类的专题进行攻克时,立即遇到针对java.lang包中线程类的学习,但线程类的学习并不像JDBC一样简单,学习曲线陡峭,多弯路与“坑”。要学习这些热点技术,Java多线程技术避无可避。而本书将引领读者拿下该“技术高地”。
本书有以下特点:
不留遗漏——全面覆盖Java语言多线程知识点;
直击要害——实战化案例精准定位技术细节;
学以至用——精要式演示确保开发/学习不脱节;
潜移默化——研磨式知识讲解参透技术要点;
提升效率——垂直式技术精解不绕弯路;
循序提升——渐进式知识点统排确保连贯。
作者简介 · · · · · ·
高洪岩 某世界500强企业高级项目经理,10余年项目管理与开发经验,10年Ja
va相关开发经验,深谙Java技术开发难点与要点,拥有良好的技术素养和丰富的实践经验。精通J2EE核心技术、基于EJB的分布式系统开发、Android移动开发、智能报表、多线程及高并发等相关的技术内容,近期持续关注并发相关的前沿技术。喜欢技术与教育相结合的方式共享知识,以共同提高。生活中喜欢摄影, 对轮滑,旅游,航模亦兴趣浓厚。
Linux防火墙 原书第3版 带书签PDF电子书
Linux防火墙(原书第3版)PDF电子书
此书市面已经结极少有卖,但是讲的非常不错,由浅入深,由简入繁!
有兴趣的朋友可以看看
基本信息
原书名: Linux Firewalls (3rd Edition)
原出版社: Sams
作者: (美)Steve Suehring,Robert L.Ziegler
译者: 何泾沙 等
出版社:机械工业出版社
ISBN:7111190238
开本:16开
页码:356
编辑推荐:
本书条理清晰,图示丰富,是Linux防火墙权威指南,本身最有价值的部分莫过于对iptables、包过滤以及防火墙优化的详细介绍。同时还包含了通过自定义内核来增加安全性的高级主题。本书适用于独立用户、系统管理员、咨询专家、IT从业人员以及其他需要构建Linux防火墙的人。
内容简介:
本书详细介绍linux操作系统中构建防火墙的方法,以及入侵检测和系统安全的技术。主要内容包括:防火墙的基础知识,linux防火墙管理程序iptable,构建防火墙的方法,防火墙的优化,数据包的转发,网络监控和攻击检测,内核强化等。本书独立于linux某个发行版本,涉及常驻于linux内核的netfilter核心软件。
可帮助读者掌握linux系统与网络安全技术。.
本书条理清晰,图示丰富,可供各类计算机专业技术人员参考。..
本书是linux防火墙权威指南,包括如何使用linux netfilter/iptables来实现防火墙的主题。本书的主题既包括如何安装和设置防火墙的基础知识,也包括针对黑客攻击的防范。本身最有价值的部分莫过于对iptables、包过滤以及防火墙优化的详细介绍。同时还包含了通过自定义内核来增加安全性的高级主题。.
本书适用于独立用户、系统管理员、咨询专家、it从业人员以及其他需要构建linux防火墙的人。本书内容独立于各个linux发行版,包含针对suse linux、debian以及redhat不同发行版的例子。
目录回到顶部↑译者序.
前言
第一部分 数据包过滤及基本安全措施
第1章 防火墙的基本概念
1.1 osi网络参考模型
1.2 ip协议
1.3 传输机制
1.4 不要忘记arp协议
1.5 主机名称和ip地址
1.6 路由:数据包的传送
1.7 服务端口:通向系统程序的大门
1.8 小结
笫2章 数据包过滤的概念
2.1 一个数据包过滤防火墙
2.2 选择一个默认的数据包过滤策略
2.3 拒绝与禁止一个数据包
2.4 过滤入站数据包
2.5 过滤出站数据包
2.6 专用网络和公共网络服务
2.7 小结
.第3章 iptables:linux防火墙管理程序
3.1 ip防火墙(ipfw)和网络过滤器
3.2 iptables的基本语法
3.3 iptables的特点
3.4 iptables的语法规则
3.5 小结
第4章 构建和安装一个独立的防火墙
4.1 iptables:linux防火墙管理程序
4.2 防火墙的初始化
4.3 保护被分配在非特权端口上运行的服务
4.4 启动基本但必要的internet服务
4.5 启动常用tcp服务
4.6 启动常用的udp服务
4.7 过滤icmp控制和状态信息
4.8 记录被丢弃的入站数据包
4.9 记录被丢弃的出站数据包
4.10 预先设定禁止访问有问题的网站
4.11 安装防火墙
4.12 小结
第二部分 高级议题。多个防火墙和网络防护带
第5章 防火墙的优化
5.1 规则的组织
5.2 用户自定义规则链
5.3 防火墙的优化示例
5.4 优化带来的结果
5.5 小结
第6章 数据包的转发
6.1 独立防火墙的局限性
6.2 基本的网关防火墙设置
6.3 局域网安全相关问题
6.4 可信家庭局域网的配置选项
6.5 更高或更低可信度局域网的配置选项
6.6 屏蔽子网防火墙样板
6.7 将网关从本地服务转变为转发服务
6.8 小结
第7章 nat——网络地址转换
7.1 nat概念的背景
7.2 iptables nat语义
7.3 snat和专用局域网的例子
7.4 dnat、局域网和代理的例子..
7.5 小结
第8章 防火墙规则的检错
8.1 常用防火墙开发技巧
8.2 罗列防火墙规则
8.3 检查输入、输出和转发规则
8.4 解释系统日志
8.5 检查开启的端口
8.6 小结
第三部分 超越iptables
第9章 入侵检测和响应
9.1 入侵检测
9.2 系统可能遭受入侵的症状
9.3 系统受损后应采取的措施
9.4 事件报告
9.5 小结
第10章 入侵检测工具
10.1 入侵检测工具包:网络工具
10.2 roofidt检测器
10.3 文件系统的完整性
10.4 日志监控
10.5 如何防止入侵
10.6 小结
第11章 网络监控和攻击检测
11.1 监听以太网
11.2 tcpdump:简单介绍
11.3 使用tcpdump捕捉特定的协议
11.4 使用snort自动检测入侵
11.5 使用arpwatch进行监视
11.6 小结
第12章 文件系统的完整性
12.1 定义文件系统完整性
12.2 安装aide
12.3 配置aide
12.4 监视aide
12.5 清除aide数据库
12.6 改变aide报告的输出信息
12.7 在aide中定义宏
12.8 aide的监测类型
12.9 小结
第13章 内核的强化
13.1 经过安全强化的linux
13.2 使用grsecurity增强安全性
13.3 内核快速浏览
13.4 要不要打补丁
13.5 使用grsecurity内核
13.6 grsecurity
13.7 结论:专用内核
附 录
附录a 安全资源
附录b 防火墙示例与支持脚本
附录c 虚拟专用网
附录d 术语表
前言
本书主要介绍如何在Linux操作系统中使用Netfilter和iptables构建一个基于软件的防火墙。除了介绍防火墙的基础知识,本书还进一步在网络计算的环境中对防火墙进行更加深入的阐述。最后,我们还将探讨入侵检测和系统安全等主题。.
计算机安全是一个不断发展的研究领域。目前已经有很多关于这方面的书籍,并且这方面的书籍还会持续增加。计算机安全始终围绕着如何保护数据这一主题,主要涉及以下三个原则:保密性、完整性、有效性。保密性是指保证数据只能够被得到授权的人访问,而不允许被其他人访问。完整性是指确认数据完好并且没有被损坏。有效性是指当需要访问数据时,就能够正常地访问。这三个原则指导着计算机安全领域中的讨论,并为本书提供了框架。
除了保密性、完整性,有效性这三个原则,我还赞成深入的、基于风险评估的计算机安全方法。虽然防火墙和杀毒软件在保护数据方面起着巨大的作用,但是我并不认为存在着一劳永逸的解决方案。然而,每种安全措施都有一定的成本。因此,每种附加的安全措施或安全层必须要被评估,以保证使用该层所付出的成本不会超过使用该层所带来的好处。
让我们看一下以下示例:我的家庭网络使用了两个防火墙,一个隔断防火墙和一个网关(参阅第6章,“数据包的转发”)。我认为使用两个防火墙带来的好处远大于配置和维护防火墙带来的开销。而有些人只使用单一的防火墙或者根本不使用防火墙。他们认为使用两个或者一个防火墙的成本要高于数据安全所带来的好处。我们还可以找出很多利用“成本收益比”(COSt/benefit)进行评估的例子。不幸的是,这种分析在很多安全领域中常常被忽视,而不仅仅是计算机安全领域。如果想要获取关于进行这种分析的更多信息并熟练掌握,请参考Bruce Schneier的著作《Secrets and Lies》和《Beyond Fear》。
撰写本书的目的
撰写本书的目的首先是给读者提供足够的信息,使其可以利用Linux中的iptables来配置防火墙。本书的另外一个目的是让读者对系统与网络安全有所了解。然而,由于本书并不是系统与网络安全的专著,虽然对系统与网络安全的介绍占据了书中的很大篇幅,但这终究不是本书的主题。同时,本书中涉及的一些话题,我还未看到其他文献有所提及。
本书是第3版,也是新作者Steve Suehring参与修订的第1版。Bob Ziegler撰写了本书的原始材料,并且在2001年修订并完成了第2版。Bob在前两版中的工作非常出色,在他打下的坚实基础上,我编撰出(本书的)第3版。此外,本书以前的版本中有一些内容是由Carl B.Constantine撰稿。Carl修订过的撰稿在本版的附录C中可见。
从1995年开始,在为一家ISP(Internet Service Provider,网络服务提供商)工作的时候,我学到了自己关于Linux安全方面的大部分知识。那时我主要学到的是安全意识。安全意识是网络服务提供商必不可少的,因为对网络服务提供商的基本要求是它必须提供7x24小时的公共接入服务。这就意味着网络服务提供商所提供的公共服务,时时刻刻都会面临外界袭击网络或侵犯系统的风险。如果不将安全视为运营的核心,那么提供的服务就很难达到客户要求的可靠性,同时我们也不能保证所掌握的数据的完整性。在1995年的时候,尽管安全工具、软件普遍缺乏,也没有书籍像本书一样涉及网络系统安全的问题,但我们仍需提供安全的保障。
以上这个背景也可以帮助解释“为什么选择linux?”无论过去还是现在,答案都很简单:当面临以及要解决这类问题的时候,Linux和开源工具是当时唯一的解决途径。投有其他的方法能够提供Linux和开源软件所能捉供的可靠性。与Linux相比,当时没有其他的操作系统能够在保持总体拥有成本(Total Cost of Ownership,TCO)较低的同时还保证运行的安全性和稳定性。这个状况在今天依然没有太大的变化。单从技术的角度来评价的话,Linux是最出色的。抛去那些有偿研究所取得的成果,考虑总体拥有成本,Linux和开源软件就显得更加优越。为什么选择Linux?因为它是有效的。..
本书的读者对象
我在一些书中经常看到近乎无用的“本书的读者对象’部分,这样说是因为那些书的该部分总是试图让你觉得你应该阅读该书。因此,为使出版社满意,我也要告诉你每个人都应该阅读本书。事实上,每个人都应该反复地阅读本书,并且每读一次都应该买一本新书。
然而严肃地说,我无法告诉你是不是应该读这本书,我只想介绍弓下这本书。
在读本书之前,你应该已经选择了一个Linux的版本并已将其安装完毕。另外,我还必须假设你现在想要得到的并不是简单地想要了解Linux或Unix操作系统方面简介性的知识,比如chmod命令。那方面的资料很多,你可以在网上找到大量相关信息,但是本书所要讲授的重点和它们相去甚远。然而,本书还是覆盖了大量的基础性内容,如网络安全、数据包过滤以及0SI模型中的层(假如你不太了解OSI模型,本书也会有相应的介绍)。
假如你对防火墙一无所知,或是你对Linux和Linux安全只有很浅的了解,而想在这方面提高一个层次,那么,希望本书对你会有所帮助。本书无论对家庭用户还是对企业中的系统安全管理员都有一定的帮助。
如果想从本书得到最大的收获,你应该基本熟悉、至少不惧怕Linux命令或shell命令。你应该知道如何在文件系统中移动文件以及如何使用基本的shell命令。
Linox的发布
有关Linux和开源方面的书籍应该更加中立于任何发行版或者覆盖多种发行版,本书在这两方面都做到了。建立在常驻于Linux内核的Netfilter核心软件之上,Linux防火墙通过使用iptables防火墙管理程序来构成。因此,它与各种Linux发行版在很大程度上是没有关系的。然而,本书的确包含了一些来自SUSE、Red Hat/Fedora和Debian的命令和观点。我们承认,也有别的Linux发行版,它们中的一些也是很棒的。选择以上这三种发行版并不意味着放弃其他的发行版。
在本书的第2版中只使用了Red Hat。因此,在此修订版中我尽力去除那些只与此发行版有关的内容和写法。这样做并不是为了偏向某一发行版而排斥其他的发行版,而是一种务实的决定,是为了给更多的读者提供实际的应用和防止当读者与作者所使用的发行版不一致时所产生的有关文件和命令位置的混乱。
本书中的错误
尽管花了很多精力去核对论据、数据、文件和语法,一些错误还是不可避免地会流过拼写检查、技术性编辑、印刷排版和复审的整个过程。我首先对书中还可能存在的错误感到抱歉。我在此也邀请本书的读者访问我的网站,即下面的配套网站,以获得与本书相关的更新以及其他信息。同时有任何反馈信息请发到我的邮箱,尽管我不能保证会有正确的答案,但我肯定会尽力回答和并且指出一个正确的方向。
Spark原著中文版
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark 是一种与 Hadoop 相似的开源集群计