热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点
图书信息

基于.NET Core框架的分布式系统架构设计

中国水利水电出版社
    【作 者】汤佳 著 【I S B N 】978-7-5226-0303-2 【责任编辑】陈红华 【适用读者群】 【出版时间】2022-04-28 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】248 【千字数】234 【印 张】15.5 【定 价】84 【丛 书】暂无分类 【备注信息】
图书详情

    本书以C#为编程语言,全面介绍了.NET Core开发和设计高性能Web系统的核心关键技术,同时介绍了版本控制、项目管理等开发中的软件工程技术。全书共有9章,主要内容有Web项目架构简介、架构体系的演变历程、分布式系统理论、分布式文件存储系统、内存知识进阶、数据全文检索、消息队列中间件、微服务架构、分布式站点的设计与开发。

    本书可作为高等院校信息类专业本科Web应用开发课程的教材或实践指导书,也可作为.NET Core开发和应用开发程序员的参考书。

    前 言

    众所周知,现代的软件开发通常会从下向上抽象为系统层、中间层和应用层。中间层和系统层是支撑体系的基础,而且更封闭或狭窄,需要人耐得住寂寞,经受得起考验,所以在这个领域出了很多“大牛”。大部分程序员都是为“应用”而生的,毕竟工程要落地在实际业务应用上才有立足之本,有了应用才有更多商业价值,“码农”才能养家糊口,所以应用层就如同实践领域一般,相对不那么容易出“大神”。软件开发的教父级人物—Martin Fowler是应用层罕见的“大神”,他将软件开发的实践过程抽象总结并形成实践“概念”。他提出的微服务架构是一个分布式系统架构,按业务领域划分为独立的服务单元,满足越来越复杂的业务需求,并且可以自动化运维、容错、快速演进。微服务是“互联网+时代”催生的一种设计思想和理念。随着业务场景越来越复杂,云计算、大数据、区块链、人工智能飞速发展,对系统架构提出了越来越高的要求,我们原来使用的单体架构已经不能满足工作场景的需求,本书应运而生,Martin Fowler的“敏捷开发方法论”理念给了我巨大的启发。

    本书主要讲解了分布式架构层级、分布式和集群的概念、分布式架构解决的问题、分布式架构的优点、分布式系统的关键技术、分布式系统核心。本书从多个维度全面剖析分布式系统全栈技术,呈现分布式系统架构的多样性和完整性。

    本书结合作者多年实战经验,注重基础知识,兼顾实用能力培养,技术全面,可读性强,既可作为高校计算机专业本、专科学生的学习资料,又可供计算机、力学、物理学科各专业选用及社会读者阅读。由于编写时间有限,内容略显陈旧,案例略显枯燥,技术条理性不够清晰,希望广大读者给予批评指正。

    作者

    2021年10月

    前 言
    第1章 Web项目架构简介 1
    1.1 经典三层架构模式 1
    1.2 工厂模式简介 5
    1.3 高并发系统存在的瓶颈 9
    1.4 大型互联网公司系统架构图 12
    1.4.1 WikiPedia 技术架构 12
    1.4.2 Facebook架构 13
    1.4.3 Yahoo! Mail架构 14
    1.4.4 Twitter技术架构 15
    1.4.5 Google App Engine技术架构 17
    1.4.6 Amazon技术架构 18
    1.4.7 优酷的技术架构 20
    1.4.8 12306的技术架构 24
    第2章 架构体系的演变历程 27
    2.1 单机构建网站 27
    2.2 应用服务器与数据库分离 28
    2.3 应用服务器负载均衡 29
    2.4 数据库读写分离 30
    2.5 引入搜索引擎实现全文搜索 31
    2.6 引入缓存 32
    2.7 数据库拆分 34
    2.8 应用拆分 35
    2.9 引入消息中间件 37
    2.10 分布式系统架构设计 38
    第3章 分布式系统理论 44
    3.1 分布式系统的设计理念 44
    3.2 分布式系统原理 46
    3.3 ZooKeeper原理及应用 49
    3.3.1 ZooKeeper的原理与功能 49
    3.3.2 ZooKeeper的应用场景 52
    3.4 CAP理论 55
    3.5 BASE准则 57
    3.6 分布式事务 59
    3.6.1 数据库单机事务 59
    3.6.2 X/OpenDTP事务模型 60
    3.6.3 分布式事务解决方案 63
    第4章 分布式文件存储系统 69
    4.1 数据存储技术相关知识 69
    4.2 NFS网络文件系统 77
    4.3 分布式文件系统 79
    4.4 GlusterFS分布式文件系统 82
    4.5 Ceph分布式文件存储系统 84
    4.6 CoDFS分布式文件系统 91
    4.7 系统实现 93
    4.7.1 负载均衡子系统 93
    4.7.2 文件管理子系统 96
    4.7.3 数据库子系统 98
    4.7.4 文件存储子系统CoDFSStorage 100
    第5章 内存知识进阶 104
    5.1 内存基本知识 104
    5.1.1 错综复杂的CPU与简单的内存 104
    5.1.2 多核CPU与内存共享问题 106
    5.1.3 著名的Cache伪共享问题 110
    5.1.4 深入理解不一致性内存 112
    5.2 内存发展历史 115
    5.3 内存缓存技术 122
    5.3.1 缓存概述 122
    5.3.2 缓存实现的方式 124
    5.3.3 Memcache的内存管理技术 126
    5.3.4 Redis解析 128
    5.4 内存计算产品 130
    5.4.1 SAP HANA 130
    5.4.2 Hazelcast 133
    5.4.3 VoltDB 135
    第6章 数据全文检索 138
    6.1 Lucene全文检索 139
    6.2 Solr全文检索 142
    6.3 ElasticSearch全文检索 146
    第7章 消息队列中间件 155
    7.1 消息队列 155
    7.2 需要消息队列的原因 159
    7.2.1 异步处理 160
    7.2.2 应用解耦 162
    7.2.3 流量削峰 163
    7.2.4 日志处理 164
    7.2.5 消息通信对 165
    7.3 消息队列技术的介绍和原理 166
    7.3.1 消息中间件概述 166
    7.3.2 MQ的工作原理和基本配置举例 170
    7.3.3 常用消息队列 173
    第8章 微服务架构 176
    8.1 微服务架构兴起的原因 176
    8.2 Docker容器技术 178
    8.3 全面理解微服务架构 182
    8.4 常见微服务架构方案 186
    8.4.1 ZeroC IceGrid微服务架构 186
    8.4.2 Spring Cloud 微服务架构 189
    8.4.3 基于消息队列的微服务架构 191
    8.4.4 Docker Swarm微服务架构 192
    第9章 分布式站点的设计与开发 195
    9.1 系统开发的总统设计 195
    9.2 共享库.NETStandard类库 196
    9.3 统一身份认证系统 215
    9.4 业务服务器的开发与集成 220
    9.5 即时消息服务器eChat 221
    9.5.1 即时通信技术的发展 221
    9.5.2 即时通信技术 221
    9.5.3 即时通信技术的实现—SingalR 224
    9.5.4 系统体系结构图 225
    9.5.5 关键技术剖析 227
    9.6 WebAPI的远程调用 227
    9.6.1 应用客户端中的调用 228
    9.6.2 网页中的调用方法 234
    参考文献 237





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册