2020-05-07 21:51
7250 次浏览
本书由系统架构领域3位领军人物亲笔撰写,该领域资深专家Norman R. Augustine作序推荐,Amazon全五星评价。全书共分四部分。第一部分(第1~3章)的重点是引出系统架构。第1章通过一些范例来展示架构理念,指出良好的架构,并给出本书的概要;第2章列出进行系统分析必备的思路;第3章给出分析系统架构所用的思维模式。第二部分(第4~8章)着重对架构进行分析。第4章讨论系统的形式;第5章讨论系统的功能;第6章讲解形式与功能之间的映射,并以此给出系统架构的定义;第7章研究如何从独立于解决方案的功能陈述中衍生出系统;第8章演示怎样把这些概念汇聚成一套架构。第三部分(第9~13章)讲解如何为复杂的系统定义架构。第9章从任务和可交付成果这两方面来概述架构师的职责;第10章探讨如何把组织机构方面的接口当成在架构中减少歧义的契机;第11章讲述如何用系统化的方式来捕获利益相关者的需求,并把它们转换成系统目标;第12章提出一些能够帮助架构师更有创意地构思并选择概念的手段;第13章讲述在开发系统时管理复杂度的一些办法。第四部分(第14~16章)探寻帮助架构师做决策的各种计算方法及工具所具备的潜力。
2020-03-24 08:55
4580 次浏览
《大型网站技术架构演进与性能优化》从一名亲历者的角度,阐述了一个网站在业务量飞速发展的过程中所遇到的技术转型等各种问题及解决思路。从技术发展上看,网站经历了Web应用系统从分布式、无线多端、中台到国际化的改造;在解决大流量问题的方向上,涉及了从端的优化到管道到服务端甚至到基础环境优化的各个层面。《大型网站技术架构演进与性能优化》总结的宝贵经验教训可以帮助读者了解当网站遇到类似问题时,应如何思考不同的解决思路、为什么要这样做、并最终做出合适的方案选择。1 构建大型网站:分布式改造 1 1.1 为什么要做分布式化 1 1.2 典型的分布式架构 2 1.3 分布式配置框架 4 1.4 分布式RPC 框架 6 1.5 分布式消息框架 8 1.6 分布式数据层 11 1.7 分布式文件系统 12 1.8 应用的服务化改造 15 1.9 分布式化遇到的典型问题 16 1.10 分布式消息通道服务的设计 19 1.11 典型的分布式集群设计思路 21 1.12 总结 24 2 无线化:无线时代下的架构演进 26 2.1 无线环境下的新挑战 26 2.2 端的演进 28 2.3 无线链路的优化 32
2020-03-23 21:30
5038 次浏览
《京东基础架构建设之路(全彩)》内容涵盖分布式存储、数据库、容器集群、服务框架、消息队列、异地多活、机器学 习等一系列经典技术话题,深入浅出地向读者展示了京东基础架构的搭建、演进、变革及发展 的完整画像,系统地阐述了京东重要阶段的技术进步历程及里程碑级别的技术突破,堪称是一 部“从入门到精通”的基础架构经典教材。作为过去几年里推进京东基础架构变革的技术实践者,我们乐于把自己的经验分享给更多的基础架构从业者或感兴趣的人,技术无止境,愿我们一路相伴共创奇迹。第1 章 容器集群技术 1.1 概述 3 1.2 JDOS 1.0:“胖容器”时代 3 1.3 JDOS 2.0:新一代应用容器引擎 9 1.4 JDOS 3.0:服务融合平台 15 1.5 JDOS 4.0:弹性数据计算 18 1.6 总结 22 第2 章 数据库技术 2.1 发展历程 25 2.2 BinLake日志订阅服务 27 2.3 弹性数据库 33 第3 章 分布式存储技术 3.1 JFS:京东文件系统 47 3.2 JIMDB:内存是新的磁盘 52 3.3 FBase:大表存储 60 3.4 Container File
2020-01-31 15:58
3799 次浏览
大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。《大数据日知录:架构与算法》从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。《大数据日知录:架构与算法》对众多纷繁芜杂的相关技术文献和系统进行了择优汰劣并系统性地对相关知识分门别类地进行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体和系统地了解、吸收和掌握相关的优秀技术有极大的帮助与促进作用。《大数据日知录:架构与算法》的读者对象包括对No
2020-01-09 08:56
3897 次浏览
《大数据架构详解:从数据获取到深度学习》从架构、业务、技术三个维度深入浅出地介绍了大数据处理领域端到端的知识。主要内容包括三部分:第一部分从数据的产生、采集、计算、存储、消费端到端的角度介绍大数据技术的起源、发展、关键技术点和未来趋势,结合生动的业界最新产品,以及学术界最新的研究方向和成果,让深奥的技术浅显易懂;第二部分从业务和技术角度介绍实际案例,让读者理解大数据的用途及技术的本质;第三部分介绍大数据技术不是孤立的,讲解如何与前沿的云技术、深度学习、机器学习等相结合。《大数据架构详解:从数据获取到深度学习》内容深入浅出,技术结合实践,从实践中理解架构和技术的本质,适合大数据技术领域的从业人员如架构师、工程师、产品经理等,以及准备学习相关领域知识的学生和老师阅读。第一部分 大数据的本质 第1章 大数据是什么 2 1.1 大数据导论 2 1.1.1 大数据简史 2 1.1.2 大数据现状 3 1.1.3 大数据与BI 3 1.2 企业数据资产 4 1.3 大数据挑战 5 1.3.1 成本挑战 6 1.3.2 实时性挑战 6 1.3.3 安全挑战 6 1.4 小结 6 第2章 运营商大数据
2020-01-07 20:30
3488 次浏览
随着第三方框架的逐渐完善,实施微服务架构的开发成本越来越低,分布式架构成为主流势不可挡。一个完善的架构或系统中包含了许多的知识点,而每一个知识点则又可以引出非常多的内容,过度地专注于细节反而会拖慢达成目标的步伐。为了更快地实施微服务,本书基于开源且稳定的第三方工具,介绍如何构建一个庞大且复杂的分布式系统,用于满足项目中的实际需求。每一个工具库为了适应更丰富的使用场景,通常都会把部分参数以配置文件的方式暴露出来,同时提供用于开发环境的默认配置。本书基于快速使用为主线,尽可能多地讲解配置参数的意义及它们之间的关系,帮助读者在掌握足够多的知识点后,建立起对微服务分布式架构的认知,以便为探求更深层次的知识点做好铺垫。本书适合Java工程师、初级架构师、大中专院校相关专业师生、Java培训班学员及独立开发者与自学读者使用。每一个工具库为了适应更丰富的使用场景,通常都会把部分参数以配置文件的方式暴露出来,同时提供用于开发环境的默认配置。本书基于快速使用为主线路,尽可能多地讲解配置参数的意义及之间的关系。在掌握足够多的知识点后建立起对微服务分布式架构的认知,以便为探求更深层次的知识点做好铺垫。1 微
2019-12-30 20:14
2596 次浏览
编辑推荐全球资深Java技术专家的力作,系统、全面地讲解如何将模块化设计思想引入开发中,涵盖18个有助于实现模块化软件架构的模式媒体推荐“基础永远不会过时。在本书中,Kirk介绍了如何立足基础,以低成本有效地构建高质量的软件密集型系统。你会发现这本书写得很好、很及时并且全是务实的理念。”——Grady Booch,IBM院士“与GoF的《设计模式》一样,Kirk的这本书应该成为每一位企业级开发人员和架构师的必备品,对Paremus的每一位工程师来说,这本书是必备读物。”——Richard Nicholson,OSGi联盟主席、Paremus CEO“通过写这本书,Kirk为软件社区做出了重要的贡献:他分享了自己关于模块化的大量真知灼见,这些内容新手能理解、在计算机课堂上能讲授并且有经验的程序员也可参考。我希望本书能够有广泛的读者。”——Glyn Normington,Eclipse Virgo项目的领导者“我们的行业需要开始思考模块化这个词——因而需要这本书!”——Chris Chedgey,Structure 101创始人兼CEO“在本书中,Kirk为我们提供了在现实世界中进行模块化
2019-12-09 11:05
2861 次浏览
目前大数据技术已经日趋成熟,但是业界发现与大数据相关的产品设计和研发仍然非常困难,技术、产品和商业的结合度还远远不够。这主要是因为大数据涉及范围广、技术含量高、更新换代快,门槛也比其他大多数IT行业更高。人们要么使用昂贵的商业解决方案,要么花费巨大的精力摸索。本书通过一个虚拟的互联网O2O创业故事,来逐步展开介绍创业各个阶段可能遇到的大数据课题、业务需求,以及相对应的技术方案,甚至是实践解析;让读者身临其境,一起来探寻大数据的奥秘。书中会覆盖较广泛的技术点,并提供相应的背景知识介绍,对于想进一步深入研究细节的读者,也可轻松获得继续阅读的方向和指导性建议。推荐序一 推荐序二 前 言 第1章 抉择 1 第2章 数据收集 4 2.1 互联网数据收集 4 2.1.1 网络爬虫 5 2.1.2 Apache Nutch简介 11 2.1.3 Heritrix简介 14 2.2 内部数据收集 15 2.2.1 Apache Flume简介 17 2.2.2 Facebook Scribe和Logstash 21 2.3 本章心得 21 2.4 参考资料 22 第3章 数据存储 23 3.1 持久
2019-12-09 11:01
3528 次浏览
本书介绍了一些主流技术在商业项目中的应用,包括机器学习中的分类、聚类和线性回归,搜索引擎,推荐系统,用户行为跟踪,架构设计的基本理念及常用的消息和缓存机制。在这个过程中,我们有机会实践R、Mahout、Solr、Elasticsearch、Hadoop、HBase、Hive、Flume、Kafka、Storm等系统。如前所述,本书最大的特色就是,从商业需求出发演变到合理的技术方案和实现,因此根据不同的应用场景、不同的数据集合、不同的进阶难度,我们为读者提供了反复温习和加深印象的机会。目录 推荐序 前言 引子 1 第一篇 支持高效的运营 第1章 方案设计和技术选型:分类 5 1.1 分类的基本概念 6 1.2 分类任务的处理流程 7 1.3 算法:朴素贝叶斯和K最近邻 8 1.3.1 朴素贝叶斯 8 1.3.2 K最近邻 9 1.4 分类效果评估 10 1.5 相关软件:R和Mahout 12 1.5.1 R简介 12 1.5.2 Mahout简介 13 1.5.3 Hadoop简介 14 1.6 案例实践 17 1.6.1 实验环境设置 17 1.6.2 中文分词 18 1.6.3 使
2019-12-06 10:09
3817 次浏览
分布式架构与微服务平台是当今IT界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术。《架构解密:从分布式到微服务》以从传统分布式架构迁移到基于容器技术的微服务架构为主线,全面、透彻地介绍了与分布式架构及微服务相关的知识和技术。《架构解密:从分布式到微服务》一开始并没有提及分布式的枯燥理论,而是讲述了一段精彩的IT发展史,其中重点讲述了大型机、UNIX小机器的没落与X86平台的崛起,从而巧妙地引出CPU、内存、网络、存储的分布式演进过程,这恰恰是分布式软件系统赖以运行的“物质基础”。然后简明扼要地介绍了进行系统架构所必需的网络基础,并详细介绍了分布式系统中的经典理论、设计套路及RPC通信,对内存、SOA架构、分布式存储、分布式计算等进行了深度解析,最后详细介绍了全文检索与消息队列中间件,以及微服务架构所涉及的重点内容。《架构解密:从分布式到微服务》是Leader-us多年架构经验的倾情分享,主要面向关注分布式架构及微服务,以及有志于成为实力派架构师的IT人士。第1章 大话分布式系统 1 1.1 IT争霸战 1 1.1.1 划时代的第一台计算机 1 1.1.2 IT界的恐龙时代
2019-11-28 11:06
4253 次浏览
《小团队构建大网站:中小研发团队架构实践》结合作者近几年的工作经验,总结了一套可直接落地、基于开源、成本低、可快速搭建的中小研发团队架构实践方法。《小团队构建大网站:中小研发团队架构实践》共5篇22章,开篇是本书的导读;架构篇是设计思想的提升,包括企业总体架构、应用架构设计、统一应用分层等;框架篇主讲中间件和工具的使用,包括消息队列、缓存、Job、集中式日志、应用监控和微服务等;公共应用篇是技术与业务的结合,包括单点登录和企业支付网关;进阶篇是从架构到管理,包括技改案例、技术与业务的匹配与融合等。从架构、框架、公共应用,到案例实战和技术管理,《小团队构建大网站:中小研发团队架构实践》将大公司的工程理念压缩应用到中小研发团队,使小团队也能构建大网站。《小团队构建大网站:中小研发团队架构实践》不仅适用于高级程序员、架构师、CTO,也适用于IT项目经理、技术经理,以及对架构技术感兴趣的中高级软件开发从业者。第1篇 开篇 1 可参考的才是有价值的(含案例和代码) 1.1 框架篇—工欲善其事,必先利其器 1.2 架构篇—思想提升 1.3 公共应用篇—业务与技术的结合 1.4 进阶篇—从架构到管理
2019-11-19 10:17
3124 次浏览
《构建高性能Web站点(修订版)》是畅销修订版,围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,几乎涵盖了Web站点性能优化的所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。在这些内容中充分抓住本质并结合实践,通过通俗易懂的文字和生动有趣的配图,让读者充分并深入理解高性能架构的真相。第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.10 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.13 优化数据库 1.14 考虑可扩展性 1.15 减少视觉等待 第2章 数据的网络传输 2.1 分层网络模型 2.2 带宽
2019-11-14 20:36
3931 次浏览
本书一直以来都是在SOA、面向服务和服务技术方面的、端到端的教程。如今,已经更新到第2版,正式引入微服务和微任务抽象,作为面向服务架构及其相关服务层的一部分。新版的案例研究示例和图例进一步阐释和定位微服务模型,并与更传统的服务类型相关联。本书可作为应用架构师、企业架构师、软件开发人员以及任何有兴趣了解或负责设计与实现现代、面向服务解决方案的IT专业人士的参考书。译者序 致谢 第1章 概述 1 1.1 本书中如何使用模式 2 1.2 涵盖第1版主题的系列书籍 2 1.3 本书的组织形式 3 1.4 原则、约束条件和设计模式 4 1.5 附加信息 5 第2章 案例研究背景知识 7 2.1 如何应用案例研究 7 2.2 案例研究背景1:Transit Line Systems, Inc. 7 2.3 案例研究背景2:Midwest University Association 7 第一部分 基本原理 第3章 理解面向服务 10 3.1 面向服务简介 10 3.1.1 业务自动化中的服务 11 3.1.2 服务是能力的集合 12 3.1.3 面向服务是一种设计范式 13 3.1.4 面向服务的
2019-11-14 14:06
3570 次浏览
《App 后台开发运维和架构实践》通过阐述移动互联网中 App 后台开发的特点,梳理了 App 后台开发中会遇到的各个技术点,给出了生产环境常用软件的实战运维经验总结,剖析了常见 App 后台技术架构设计,为读者呈现一幅包括技术选型、后台搭建、性能优化、运维实践、架构设计的 App 后台开发蓝图。《App 后台开发运维和架构实践》的目标读者是对技术感兴趣的产品经理、刚入行的 App 后台开发人员,以及从传统软件行业转向 App 后台开发的技术人员。推荐序 .. 3 前言 5 致谢 7 目录 8 第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
2019-11-04 20:22
3734 次浏览
本书致力于为一线架构师,以及软件企业提供务实有效的架构设计方法指导。本书从架构师经常遇到的困惑出发,总结软件架构设计中经常遇到的问题,提出“方法体系必然是软件业界未来发展的重大趋势”这一观点;之后,详细阐述了软件架构设计三个阶段(Pre-Architecture阶段、 Conceptual Architecture阶段和Refined Architecture阶段)中的各个具体环节,并给出了最佳的实践原则和方法,内容涵盖“需求进,架构出”的整个过程。20多位专家撰文推荐。作者10多年架构设计和咨询实践经验的总结。实例讲解软件架构设计ADMEMS方法体系。中大型系统架构设计的航标灯。第1章 绪论第Ⅰ部分 Pre-Architecture阶段第2章 Pre—architecture的故事第3章 Pre.architecture总论第4章 需求结构化与分析约束影响第5章 确定关键质量与关键功能第Ⅱ部分 Conceptual Architecture阶段第6章 概念架构的故事第7章 Conceptual Architecture总论第8章 初步设计第9章 高层分割第10章 考虑非功能需求第Ⅲ部
2019-10-24 16:09
3955 次浏览
《架构探险:从零开始写分布式服务框架》的初衷是希望把分布式服务框架的实现细节及分布式服务框架周边的知识点梳理清楚,为那些对分布式服务框架感兴趣的人打开一扇窗户,降低获取相关知识的门槛。所以《架构探险:从零开始写分布式服务框架》围绕实现分布式服务框架所需的知识点,进行了比较详尽细致的介绍。包括常见的RPC框架、常见的序列化/反序列化方案及选型、分布式服务框架服务的发布引入实现细节、软负载实现、底层通信方案实现、服务注册与发现实现、服务治理常见的功能等。通过对这些知识点的逐步讲解,层层深入,最终完成一个可运行的分布式服务框架。通过《架构探险:从零开始写分布式服务框架》,读者可以完整地了解实现一个分布式服务框架的所有技术细节和实现原理,希望对想了解分布式服务框架实现细节的读者有所启发和帮助。第1章 常用的RPC框架 1 1.1 RPC框架原理 1 1.2 RMI介绍 2 1.2.1 原生RMI代码示例 3 1.2.2 RMI穿透防火墙 5 1.3 CXF/Axis2介绍 7 1.3.1 CXF介绍 7 1.3.2 Axis2介绍 14 1.4 Thrift介绍 21 1.4.1 Thrift
2019-10-22 11:13
4539 次浏览
《分布式服务架构:原理、设计与实战》全面介绍了分布式服务架构的原理与设计,并结合作者在实施微服务架构过程中的实践经验,总结了保障线上服务健康、可靠的最佳方案,是一本架构级、实战型的重量级著作。《分布式服务架构:原理、设计与实战》以分布式服务架构的设计与实现为主线,由浅入深地介绍了分布式服务架构的方方面面,主要包括理论和实践两部分。理论上,首先介绍了服务架构的背景,以及从服务化架构到微服务架构的演化;然后提出了保证分布式服务系统架构一致性的方案和模式,并介绍了互联网架构评审的方法论;最后给出了一个简要的非功能质量的技术评审提纲。实践上,首先提供了一个互联网项目的性能和容量评估的真实案例,介绍了压测的方案设计和最佳实践,这些技术能够全面保证大规模、高并发项目的一致性、可用性和高并发性;然后讲解了大规模服务的日志系统的原理、设计与实践,包括ELK等框架的特点和使用方式等,并介绍了当前流行的APM系统的设计与实现,主要包括调用链和业务链的跟踪与恢复,涵盖了线上应急和技术攻关的流程及重点,也结合服务化系统线上应急过程进行分析并总结了其中需要用到的Java虚拟机、Linux和定制化脚本等命令,这些
2019-10-22 08:54
5063 次浏览
《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。《大型分布式网站架构设计与实践》既可供初学者学习,帮助读者了解大型分布式网站的架构,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。第1章 面向服务的体系架构(SOA) 1 本章主要介绍和解决以下问题,这些也是全书的基础: HTTP协议的工作方式与HTTP网络协议栈的结构。 如何实现基于HTTP协议和TCP协议的RPC调用,它们之间有何差别,分别适应何种场景。 如何实现服务的动态注册和路由,以及软负载均衡的实现。 1.1 基于TCP协议的RPC 3 1.1.1 RPC名词解释 3 1.1.2 对象的序列化 4 1.1.3 基于TCP协议实现RPC 6 1.2 基于HTTP协议的RPC 9 1.2.1
2019-10-16 16:23
10980 次浏览
本书的内容主要包含以下几部分:1) 架构设计基础,包括架构设计相关概念、历史、原则、基本方法,让架构设计不再神秘;2) 架构设计流程,通过一个虚拟的案例,描述了一个通用的架构设计流程,让架构设计不再依赖天才的创作,而是有章可循;3) 架构设计专题:包括高性能架构设计、高可用架构设计、可扩展架构设计,这些模式可以直接参考和应用;4) 架构设计实战,包括重构、开源方案引入、架构发展路径、互联网架构模板等目录 第1部分 概念和基础 第1章 架构基础 1.1 “架构”到底指什么 1.1.1 系统与子系统 1.1.2 模块与组件 1.1.3 框架与架构 1.1.4 重新定义架构 1.2 架构设计的目的 1.2.1 架构设计的误区 1.2.2 以史为鉴 1.2.3 架构设计的真正目的 1.3 复杂度来源 1.3.1 高性能 1.3.2 高可用 1.3.3 可扩展性 1.3.4 低成本 1.3.5 安全 1.3.6 规模 1.4 本章小结 第2章 架构设计原则 2.1 合适原则 2.2 简单原则 2.3 演化原则 2.4 本章小结 第3章 架构设计流程 3.1 有的放矢—识别复杂度 3.2 按图索骥
2019-10-09 12:51
3688 次浏览
本书帮助你解决API 设计方面的问题,共分3 个部分,分别指出学习API 设计是需要进行科学的训练的、Java 语言在设计方面的理论及设计和维护API 时的常见情况,并提供了各种技巧来解决相应的问题。本书作者是NetBeans 的创始人,也是NetBeans 项目最初的架构师。相信在API 设计中遇到问题时,本书将不可或缺。本书适用于软件设计人员阅读。第一部分 理论与理由 第1章 软件开发的艺术 4 1.1 理性主义,经验主义以及无绪 4 1.2 软件的演变过程 6 1.3 大型软件 8 1.4 漂亮,真理和优雅 9 1.5 更好的无绪 12 第2章 设计API的动力之源 14 2.1 分布式开发 14 2.2 模块化应用程序 16 2.3 交流互通才是一切 20 2.4 经验主义编程方式 22 2.5 开发第一个版本通常比较容易 24 第3章 评价API好坏的标准 26 3.1 方法和字段签名 26 3.2 文件及其内容 27 3.3 环境变量和命令行选项 29 3.4 文本信息也是API 30 3.5 协议 32 3.6 行为 35 3.7 国际化支持和信息国际化 35 3.8 A
2019-09-27 14:49
4225 次浏览
《架构探险:轻量级微服务架构(下册)》将重点关注微服务基础设施方面,其中大部分内容涉及微服务运维相关技术。《架构探险:轻量级微服务架构(下册)》以实践的角度进行编写,读者首先将学习轻量级微服务架构的全景视图,随后的各个章节将围绕微服务的日志、监控、通信、解耦、测试、配置六大方面进行展开。读者可亲自动手,从零开始搭建轻量级微服务架构,充分享受架构探险的乐趣。《架构探险:轻量级微服务架构(下册)》适合对微服务实践感兴趣,以及想成为微服务架构师的人员阅读。第1章 轻量级的微服务 1.1 微服务将变得轻量级 1.1.1 架构与架构师 1.1.2 架构演进过程 1.1.3 微服务架构发展趋势 1.2 微服务架构前期准备 1.2.1 认识微服务架构冰山模型 1.2.2 冰山下的微服务基础设施 1.2.3 根据业务切分微服务边界 1.3 轻量级微服务架构图 1.3.1 轻量级微服务部署架构 1.3.2 轻量级微服务运行架构 1.3.3 轻量级微服务全局架构 1.4 本章小结 第2章 微服务日志 2.1 使用Spring Boot日志框架 2.1.1 使用Spring Boot Logging插件 2
2019-09-27 14:48
3908 次浏览
本系列从开发与运维两方面分别对微服务架构的实践过程进行描述,全套分为上下两册,上册偏重于开发,下册偏重于运维。在上册中读者会学习到微服务架构所需的开发技能,包括使用SpringBoot搭建微服务开发框架,使用Node.js搭建微服务网关,使用ZooKeeper实现微服务注册与发现,使用Docker封装微服务,使用Jenkins部署微服务。通过阅读上册,读者可轻松搭建一款轻量级微服务架构。《轻量级微服务架构(上册)》适合对微服务实践感兴趣,以及想成为微服务架构师的人员阅读。第1章 微服务架构设计概述 1.1 为什么需要微服务架构 1.1.1 传统应用架构的问题 1.1.2 如何解决传统应用架构的问题 1.1.3 传统应用架构还有哪些问题 1.2 微服务架构是什么 1.2.1 微服务架构概念 1.2.2 微服务交付流程 1.2.3 微服务开发规范 1.2.4 微服务架构模式 1.3 微服务架构有哪些特点和挑战 1.3.1 微服务架构的特点 1.3.2 微服务架构的挑战 1.4 如何搭建微服务架构 1.4.1 微服务架构图 1.4.2 微服务技术选型 1.5 本章小结 第2章 微服务开发框架
2019-09-27 14:41
4272 次浏览
《人人都是架构师:分布式系统架构落地与瓶颈突破》并没有过多渲染系统架构的理论知识,而是切切实实站在开发一线角度,为各位读者诠释了大型网站在架构演变过程中出现一系列技术难题时的解决方案。《人人都是架构师:分布式系统架构落地与瓶颈突破》首先从分布式服务案例开始介绍,重点为大家讲解了大规模服务化场景下企业应该如何实施服务治理;然后在大流量限流/消峰案例中,笔者为大家讲解了应该如何有效地对流量实施管制,避免大流量对系统产生较大冲击,确保核心业务的稳定运行;接着笔者为大家讲解了分布式配置管理服务;之后的几章,笔者不仅为大家讲解了秒杀、限时抢购场景下热点数据的读/写优化案例,还为大家讲解了数据库实施分库分表改造后所带来的一系列影响的解决方案。《人人都是架构师:分布式系统架构落地与瓶颈突破》适用于任何对分布式系统架构感兴趣的架构师、开发人员以及运维人员。相信阅读《人人都是架构师:分布式系统架构落地与瓶颈突破》你将会有知其然和知其所以然的畅快感。第1章 分布式服务案例 1 1.1 分布式系统的架构演变过程 2 1.1.1 单机系统 3 1.1.2 集群架构 4 1.1.3 拆系统之业务垂直化 6 1.
2019-09-25 16:49
5400 次浏览
Spring Boot是目前Spring技术体系中炙手可热的框架之一,既可用于构建业务复杂的企业应用系统,也可以开发高性能和高吞吐量的互联网应用。Spring Boot框架降低了Spring技术体系的使用门槛,简化了Spring应用的搭建和开发过程,提供了流行的第三方开源技术的自动集成。本书系统介绍了Spring Boot 2的主要技术,侧重于两个方面,一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性;另一方面,当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,也会在本书后半部分介绍,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。第1章 Java EE简介 1.1 Java EE 1.1.1 Java EE架构 1.1.2
2019-09-24 18:51
4696 次浏览
本书首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA、Maven、Git 等开发工具搭建 Java Web 应用;接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean 容器、IoC 框架、MVC 框架,所涉及的代码也是整个框架的核心基础。为了使框架具备 AOP 特性,从代理技术讲到 AOP 技术,从 ThreadLocal 技术讲到事务控制技术。最后对框架进行优化与扩展,通过对现有框架的优化,使其可以提供更加完备的功能,并以扩展 Web 服务插件与安全控制插件为例,教会读者如何设计一款可扩展的Web应用框架。第1章 从一个简单的Web应用 1 正所谓“工欲善其事,必先利其器”,在正式开始设计并开发我们的轻量级Java Web框架之前,有必要首先掌握以下技能: 使用IDEA搭建并开发Java项目; 使用Maven自动化构建Java项目; 使用Git管
2019-09-19 07:59
6238 次浏览
本书分为两大部分,第一部分讲述程序员在编写程序和组织代码时遇到的很多通用概念和共同问题,比如程序里的基本元素,如何面向对象,如何面向抽象编程,什么是耦合,如何进行单元测试等。第二部分讲述程序员在编写代码时都会遇到的思考和选择,比如程序员的两种工作模式,如何坚持技术成长,程序员的组织生产方法,程序员的职业生涯规划等。第1章 程序世界的两个基本元素 1 1.1 数据和代码的相互伪装 1 1.2 数据和代码的关系 2 1.3 总结 3 第2章 用面向对象的方式去理解世界 4 2.1 好的程序员是安徒生 4 2.2 封装——招兵买马,等级森严 5 2.2.1 从单细胞到高等生物 5 2.2.2 public——对象的外观 6 2.2.3 private——水下的冰川 10 2.2.4 protected——内外兼修 11 2.2.5 封装总结 12 2.3 继承——快速进化 13 2.4 多态——抽象的基石 15 2.5 总结 16 第3章 面向抽象编程——玩玩虚的更健康 17 3.1 抽象最讨厌的敌人:new 17 3.2 消灭new的两件武器 19 3.
2019-09-05 18:01
5905 次浏览
本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建Java中间件的相关知识;之后的几章都是根据笔者的经验来介绍支撑大型网站架构的Java中间件系统的设计和实践。希望读者通过本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型网站的Java中间件的实践经验。对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,本书有很大的参考意义;对于没有网站开发设计经验的人员,通过本书也能宏观了解大型网站的架构及相关问题的解决思路和方案。推荐序一推荐序二前言第1章 分布式系统介绍1.1 初识分布式系统1.1.1 分布式系统的定义1.1.2 分布式系统的意义1.2 分布式系统的基础知识1.2.1 组成计算机的5要素1.2.2 线程与进程的执行模式1.2.3 网络通信基础知识1.2.4 如何把应用从单机扩展到分布式1.2.5 分布式系统的难点第2章 大型网站及其架构演进过程2.1 什么是大型网站2.
2019-09-05 17:55
4151 次浏览
任何一个持续成长的公司最终都需要解决系统、组织和流程的扩展性问题。本书汇聚了作者从eBay、VISA、Salesforce.com到Apple超过30年的丰富经验, 全面阐释了经过验证的信息技术扩展方法,对所需要掌握的产品和服务的平滑扩展做了详尽的论述,并在第1版的基础上更新了扩展的策略、技术和案例。针对技术和非技术的决策者,马丁•阿伯特和迈克尔•费舍尔详尽地介绍了影响扩展性的各个方面,包括架构、过程、组织和技术。通过阅读本书,你可以学习到以最大化敏捷性和扩展性来优化组织机构的新策略,以及对云计算(IaaS/PaaS)、NoSQL、DevOps和业务指标等的新见解。而且利用其中的工具和建议,你可以系统化地清除扩展性道路上的障碍,在技术和业务上取得前所未有的成功。目录本书赞誉中文版序一中文版序二中文版序三中文版序四译者序序前言作者简介第一部分 可扩展性组织的人员配置第1章 人员和领导力对扩展性的影响 …… 21.1 案例方法 …… 31.2 为什么要讨论人 …… 31.3 为什么组织很重要 …… 51.4 为什么管理和领导如此重要 …… 121.5 结论 …… 15第2章 可扩展性技术组
2019-08-27 16:07
5332 次浏览
本书围绕5个主题领域来组织本书的内容:概述、企业应用、系统、最终用户应用和编程语言。本书让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。序前言第一部分 论架构第1章 架构概述1.1 简介1.2 创建软件架构1.3 架构结构1.4 好的架构1.5 美丽的架构致谢参考文献第2章 两个系统的故事:现代软件神话2.1 混乱大都市2.2 设计之城2.3 说明什么问题2.4 轮到你了参考文献第二部分 企业级应用架构第3章 伸缩性架构设计3.1 简介3.2 背景3.3 架构3.4 关于架构的思考第4章 记忆留存4.1 功能和约束4.2 工作流4.3 架构关注点4.4 用户反应4.5 结论参考文献第5章 面向资源的架构:在Web中5.1 简介5.2 传统的Web服务5.3 Web5.4 面向资源的架构5.5 数据驱动的应用5.6 应用面向资源的架构5.7 结论第6章 数据增长:Facebook平台的架构6.1 简介6.2 创建一个社会关系Web服务6.3 创建社会关系数据查询服务6.4 创建一个社会关系Web门
2019-03-04 11:15
5281 次浏览
本书以幽默风趣的语言生动地讲述了微服务,将微服务相关的理论知识、技术实现和项目实践一网打尽。全书共分为三大部分:*部分为“微服务解惑篇”,让读者对微服务有一个清晰的认识,消除对微服务的种种疑惑,同时对用户十分关注的如何拆分、如何使用等问题做了很全面的讲解;第二部分为“技术实现篇”,通过对当前世界*为流行的微服务框架Spring Boot Spring Cloud的常用组件的详细解读以及其他相关技术、工具的介绍,来帮助读者了解整体架构及其中各个组件的原理,结合代码帮助读者快速构建项目,搭建一个比较完整的微服务框架;第三部分为“项目实战篇”,通过案例来展示不同业务系统在微服务使用过程中如何梳理业务、如何拆分、如何使用微服务重构等。目 录第一部分 微服务解惑篇第1章 微服务架构 21.1 不微你就OUT了 21.2 产生背景 31.2.1 时代的召唤 31.2.2 容器神助攻 41.2.3 微服务的进击 41.3 微服务的标签 51.3.1 单一职责 61.3.2 微 61.3.3 面向服务 71.3.4 自治 81.3.5 易扩展 91.3.6 流程化 101.4 实力碾压 111.4.1