新書推薦:
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:NT$
857.0
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:NT$
602.0
《
《日本文学史序说》讲演录
》
售價:NT$
332.0
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:NT$
454.0
《
治盗之道:清代盗律的古今之辨
》
售價:NT$
556.0
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:NT$
959.0
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:NT$
1367.0
《
欲望与家庭小说
》
售價:NT$
449.0
|
編輯推薦: |
合理的架构设计使系统具有更好的稳定性、可扩展性和安全性,因此架构设计在系统开发中扮演着极其重要的角色,是系统开发人员的bibei知识。本书深入浅出地对架构设计领域的知识进行了系统全面的讲解,详细剖析了不同功能模块的先进设计理念,并结合了大厂实战案例进行分析,是一本非常有参考价值的书籍。
——前阿里巴巴技术专家,东北大学计算机应用专业博士 李博
本书由浅入深,循序渐进,涵盖了各大主流系统模块从需求到架构实现的整个过程。无论你处在职业生涯的哪个阶段,本书都会对你有所帮助,是你从程序员蜕变成架构师的良师益友,值得每个同业人拥有!
——高级运维工程师 蔡堃
本书介绍了架构设计的常用原则,并探讨了常见业务场景下的架构实践,内容翔实丰富,值得一看。
——《Spring Cloud与Docker微服务架构实战》作者 周立
本书是市场上难得一见的好书,作者用惟妙惟肖的图片和通俗易懂的文字,为我们呈现了一场视觉盛宴,是对我们技术思想的一次洗礼。如果你想从程序员蜕变成一名合格的架构师,那么此书会照亮你的架构之路。
——九安数据服务端技术经理 周鹏
在互联网和大数据时代,对于网络承载和系统并
|
內容簡介: |
《架构基础:从需求到架构》根据各种企业级真实场景总结,提出合理的设计思路和解决方案,从需求、问题、解决方案、原理、设计方法、落地方案多个角度,给出架构设计方法。
《架构基础:从需求到架构》主要内容包括大型互联网架构设计的四大原则、分布式微服务架构设计、登录功能架构设计、用户安全架构设计、系统日志架构设计、系统攻防架构设计、系统消息架构设计、监控预警架构设计、关系型大数据架构设计、批处理调度架构设计、系统配置架构设计、企业级核心架构设计实战等,详细讲解了各种场景的架构方案。
《架构基础:从需求到架构》与任何编程语言无关,目的是提升读者的设计思维、培养读者的设计能力、开启读者的架构思维。同时,《架构基础:从需求到架构》也是一本设计方案指南,开发人员、设计人员、架构人员均可参考《架构基础:从需求到架构》,针对遇到的场景进行参考性设计。
|
關於作者: |
尹洪亮,现任某大型互联网公司架构师,51CTO、CSDN、网易云课堂、腾讯课堂认证讲师,头条付费专栏作者。
|
目錄:
|
第1章如何规划自己的架构师职业生涯
1.1 架构师与程序员的区别
1.2 如何打磨自己的架构能力
1.3 架构师的 12 项技能
1.4 写给在校的大学生
1.5 写给程序员同行
第2章大型互联网架构设计的四大原则
2.1 大型互联网架构高可用设计
2.1.1 高可用指标
2.1.2 冗余设计
2.1.3 负载均衡架构设计
2.1.4 DNS轮询负载设计
2.1.5 两地三中心容灾设计
2.1.6 异地多活架构设计
2.1.7 MongoDB高可用架构
2.1.8 Redis高可用架构
2.1.9 Kafka高可用架构
2.1.10 数据库高可用架构
2.1.11 高并发访问限流设计
2.2 大型互联网架构高伸缩设计
2.2.1 文件存储伸缩设计
2.2.2 数据库伸缩设计
2.3 大型互联网架构高并发设计
2.3.1 多级缓存策略
2.3.2 异步化策略
2.3.3 读写分离策略
2.4 大型互联网架构安全性设计
2.4.1 安全控制的整体性
2.4.2 应用系统安全性设计
2.4.3 数据安全性设计
2.5 章节练习
2.6 案例设计
第3章分布式微服务架构设计
3.1 单体架构
3.2 SOA架构
3.3 微服务架构
3.4 服务注册与发现
3.5 客户端负载均衡
3.6 熔断机制
3.7 微服务网关
3.7.1 网关的原理
3.7.2 网关的功能
3.7.3 微服务网关与Nginx对比
3.7.4 正确的网关架构
3.8 配置中心
3.9 微服务监控
3.10 分布式链路追踪
3.11 大型互联网微服务架构
3.12 微服务改造的六大原则
3.13 章节练习
3.14 案例设计
第4章登录功能架构设计
4.1 登录设计的复杂性
4.2 多类型账号密码登录设计
4.3 三类验证码登录设计
4.3.1 手机验证码登录注册设计
4.3.2 动态令牌登录设计
4.3.3 语音验证码登录注册设计
4.4 本机号码一键登录注册设计
4.5 人脸/语音/指纹识别登录设计
4.6 多端登录设计
4.6.1 多端应用的开发模式
4.6.2 多端应用的会话保持
4.7 多设备登录设计
4.8 集群/分布式架构基于Session的登录设计
4.8.1 Session的工作原理
4.8.2 集群/分布式架构下的Session设计
4.9 企业级单点登录设计
4.9.1 认识单点登录
4.9.2 简单绑定单点登录设计
4.9.3 授权绑定单点登录设计
4.10 OAuth 2.0认证授权设计
4.11 用户扫码登录设计
4.12 章节练习
4.13 案例设计
第5章用户安全架构设计
5.1 安全设计无小事
5.2 主动与被动登录踢出设计
5.3 5种密码安全性设计
5.3.1 密码复杂度设计
5.3.2 密码安全检查设计
5.3.3 密码失效设计
5.3.4 账户锁定设计
5.3.5 密码传输和存储设计
5.4 5种密码找回设计
5.5 密码修改设计
5.6 5种用户注册设计
5.6.1 开放式注册、封闭式注册和半封闭式注册
5.6.2 手机验证码注册
5.6.3 邮箱激活注册
5.7 RBAC用户权限设计
5.7.1 RBAC权限模型
5.7.2 RBAC权限继承
5.7.3 RBAC权限模型演进
5.8 互联网权限架构设计
5.8.1 基于Token的访问控制
5.8.2 SecretID和SecretKey模式
5.8.3 JWT模式
5.8.4 微服务模式下的Token权限设计
5.8.5 Token的延时与刷新
5.9 章节练习
5.10 案例设计
第6章系统日志架构设计
6.1 日志的分类和用途
6.2 3种登录日志设计
6.2.1 利用登录日志进行安全检测
6.2.2 利用登录日志刻画用户
6.2.3 登录日志客户化
6.3 退出日志设计
6.4 4种操作轨迹设计
6.4.1 菜单操作日志设计
6.4.2 功能操作日志设计
6.4.3 流程操作日志设计
6.4.4 业务操作日志设计
6.5 接口日志设计
6.6 程序日志设计
6.7 日志存储设计
6.8 日志收集架构
6.8.1 日志收集架构的设计
6.8.2 Elastic Stack架构组件介绍
6.8.3 Elastic Stack架构模式
6.9 章节练习
6.10 案例设计
第7章 系统攻防架构设计
7.1 系统攻击的种类和特点
7.2 短信/邮件防攻击设计
7.3 两种字符图形验证码设计
7.4 提问式图片验证码设计
7.5 行为交互验证码设计
7.5.1 拖曳式验证码
7.5.2 点选式验证码
7.5.3 行为交互验证码设计流程
7.6 分布式验证码设计
7.7 防接口重放攻击设计
7.8 防暴力穷举攻击设计
7.9 防篡改攻击设计
7.10 章节练习
7.11 案例设计
第8章 系统消息架构设计
8.1 4种短信通知设计
8.1.1 实时短信通知设计
8.1.2 准实时短信通知设计
8.1.3 批量短信通知设计
8.1.4 定时短信通知设计
8.2 邮件通知设计
8.3 站内信设计
8.4 App消息推送设计
8.5 章节练习
8.6 案例设计
第9章 监控预警架构设计
9.1 服务器监控设计
9.2 业务监控设计
9.3 程序日志监控设计
9.4 主动上报监控设计
9.5 被动扫描监控设计
9.6 章节练习
9.7 案例设计
第10章 关系型大数据架构设计
10.1 海量数据处理的核心思想
10.2 大数据查询设计
10.3 大数据导入设计
10.4 大数据导出设计
10.5 章节练习
10.6 案例设计
第11章 批处理调度架构设计
11.1 批处理调度并不是简单的循环
11.2 单机批处理架构设计
11.2.1 调度与执行分离设计
11.2.2 串行与并行设计
11.3 集群批处理架构设计
11.4 分布式批处理架构设计
11.5 流水线批处理架构设计
11.6 章节练习
11.7 案例设计
第12章 系统配置架构设计
12.1 配置存储和加载策略设计
12.2 配置信息多级缓存设计
12.3 分布式架构参数配置设计
12.4 字典配置中心设计
12.5 SaaS化多租户多应用配置化设计
12.6 章节练习
12.7 案例设计
第13章 企业级核心架构设计实战
13.1 阿里云/腾讯云消息系统核心设计实
13.2 支付宝/微信支付系统核心设计实战
13.3 鹰眼业务监控系统整体设计实战
13.4 监管批量信息报送系统核心设计实战
|
內容試閱:
|
为什么要写这本书?
在长时间的管理和培训工作中,笔者发现越来越多的开发人员技术能力很强,但是设计能力不足,往往面对一个需求无从下手,更多地要依靠设计人员的设计才能比较清晰地进行开发,或者过多地专注于技术细节而忽略了整体设计。
有些开发人员长时间从事重复的增删改查工作,对整个系统的架构设计并不熟悉,个人的成长更多地在技术的深入及编码的熟练程度上,没有养成思考的习惯,缺乏设计思维和架构思维,个人能力缺少多维度的发展。
笔者一直想找一本专门讲解系统架构设计、场景设计,提升个人架构思维和设计能力的书,然而市面上大多是纯技术类书籍,笔者苦苦搜寻却没有找到,因此决定自己写一本,以自己的项目经验、设计经验作为基础,以各种场景设计为切入点,让每一个开发人员都能了解架构设计、学会架构设计、培养设计思维和架构思维,不再做一个只会重复劳动的开发者。
每一个程序员都具有成为架构师的潜质,但是需要自我规划、自我学习。希望这本书能帮助每一个读者找到架构设计的感觉,在工作中不断实践,成为一名真正合格的系统架构师。
本书特色
(1)本书不涉及任何具体的编程语言。
(2)本书采用大量的架构图、流程图、状态图、时序图等来图解企业级架构,更加清晰直观。
(3)每个章节都以场景化案例进行剖析,从需求、问题、解决方案、原理、设计方法、落地方案等多个角度,给出架构设计方法。
(4)本书以大型互联网架构设计的原则为切入点,对高可用、高伸缩、高并发、安全性的架构方案、原理、技术进行讲解;对单体架构、集群架构、SOA 架构、微服务架构的特点进行对比分析。
(5)本书内容涵盖登录功能架构设计、用户安全架构设计、系统日志架构设计、系统攻防架构设计、系统消息架构设计、监控预警架构设计、关系型大数据架构设计、批处理调度架构设计、系统配置架构设计,共九大章节,详细讲解各种场景的架构设计方案。
(6)可以根据本书目录查找对应的场景设计,参考应用在企业系统建设中。
(7)以阿里云 / 腾讯云消息系统、支付宝 / 微信支付系统、鹰眼业务监控系统、监管批量信息报送系统作为实战案例,详细讲解架构设计过程,对核心功能、设计、数据结构加以分析,巩固读者的架构思维和设计能力。
读者对象
(1)没有做过系统设计、架构设计的零基础开发人员。
(2)具有一定开发基础、项目经验的开发人员。
(3)系统设计师、分析师、架构师、项目经理、产品经理、Team Leader。 (4)需要系统化提升自己的设计思维、设计能力的开发人员。
(5)希望转型设计师、项目经理、架构师的开发人员。
读者交流对于架构设计而言,100 个人会有 100 种设计方法,架构设计并不存在的正确,而只存在相对的合理性。
由于笔者能力有限,书中难免存在疏漏之处,欢迎读者批评指正,读者可以添加笔者个人微信(xitongjiagoushi)进行交流,也可以添加笔者微信公众号(yhl-kevin)获取更多学习资源。
|
|