春节在家整理存书,发现了当时在拼多多做业务开发工作的时候,用来帮助理解互联网企业服务架构的若干书籍。这些书里的技术方案可能有一定的落后,但是对于帮助新入职场的互联网公司程序员,了解一个典型的互联网企业核心服务架构,以及治理服务和分化出数据团队的过程里会发生的技术服务体系变化,还是很有帮助的。这里做一个分享。

企业 IT 架构转型之道[1]

本书副标题是“阿里巴巴中台战略思想与架构实战”。

虽然所谓“中台战略”最近多有批评,但是“中台”占据的功能,实际是每个业务在成长过程里都会需要的,不同之处不过是业务线或事业群自己做还是依赖“中台”提供。从互联网企业的发展历程来看,阿里巴巴的“中台战略”影响甚广,所以放在第一位介绍这本讲“中台战略”最言之有物的书。

本书从阿里巴巴中台的起点,共享业务事业部出发,讨论了共享服务体系包含的微服务治理,数据库拆分和业务层面的事务一致性,日志、监控和可观测性,平台稳定性或者叫网站可靠性(Site Reliability)等方面的实践。目前的电商平台生态,深受这一套体系的影响,加入任何一家大厂或者垂直厂商,都会面对类似的技术架构。

本书主要价值就是介绍上面这些实践和顶层视角下各个治理体系之间的关联的第二部分“共享服务体系搭建”。第一部分介绍背景稍微可读,第三部分输出案例基本就是营销,不读也罢。其他阿里系的图书,例如《淘宝技术这十年》、《尽在双十一》和《逆流而上》也都是侃侃而谈为主,没有什么特别的价值。

携程架构实践[2]

接下来的两本书就是企业服务架构实践里比较扎实的。

第一本是携程的架构实践。携程虽然不是典型的电商企业,但也是一家平台型企业,同样要支持用户、提供商以及关联两者的订单这些经典系统。

本书介绍了一系列携程内部用于提供共享服务能力的自研软件,以及它们如何在业务流程当中发挥作用。除去经典的服务治理、数据库和监控问题以外,本书比较独特的是介绍了网关、负载均衡和内容分发的技术,详细展开了网站可靠性的实践,以及一个具体的客服服务实例。

决战 618[3]

第二本介绍具体企业服务架构实践的书就是这本京东的《决战 618》了。

比起上面两本书以基础服务维度展开服务架构讨论,这本书以具体的一个个业务服务来展开服务架构的讨论。京东支付、京东交易、物流履约、开放平台和搜索、广告、推荐(搜广推)落地业务,对于有意在业务线上发展成为架构师的程序员来说大有裨益。

京东在一众电商企业里的特色就是自建物流,所以本书用了一整章的篇幅讨论了供应链和物流的问题。业务数据对独立服务提供商(ISV)开放和业务逻辑对搜广推的依赖,也是业务部门而非“中台”部门独有的视角。

超大流量分布式系统架构解决方案[4]

最后介绍的一类书籍,不是特定企业的实践或者经验分享,而是 Tech Leader 或者架构师根据自身经验总结出来的大型网站会面对的通用技术挑战。

这类作者写书的特点,会聚焦在具体技术问题的挑战和解决方案上。如果说前面三本书像是高屋建瓴的制定战略和划分业务,那么最后这三本书更像是一个一线业务 Leader 维护平台服务每天都会遇到和解决的问题的工程笔记。

第一本书《超大流量分布式系统架构解决方案》主要分成五个部分:

•大规模服务化架构•全链路压测•流控方案•读写优化方案•分库分表方案

从内容覆盖范围来看,没有逃出前面三本书都包含的服务治理、数据库和网站可靠性这些主题。但是本书谈服务治理,不是讲它的背景和抽象价值,而是就像一个实际维护了若干个服务,不时有上线新服务需求的业务 Leader 一样,讨论这些维护工作和开发工作里会打交道的概念和常见的处理方案。对于具体开源技术的讨论,则有一个没有足够人力自研基础软件的团队做技术选型的指导意义。当然,本书的技术背景至少也是 5 年前了,其中具体的技术选型不一定还有效,但是选型的考虑方式是共通的。

大型网络系统与 Java 中间件实践[5]

本书作者有阿里阿巴巴背景,同样是一线业务团队负责人视角,介绍了淘宝网这一大型网站架构演进过程中实实在在遇到的技术挑战和解决方案。

本书内容并未深度耦合阿里巴巴或淘宝业务的具体形态内容,这些内容更多是作为实例、案例出现在更一般的技术问题分析讨论当中。另外,本书在技术实现的讨论中都假设业务系统是以 Java 写成的,并直接引用了许多 Java 生态的框架技术。这些内容对于其他语言的开发者来说,会相对比较难迁移。

全书篇章目录如下:

•分布式系统介绍•大型网站及其架构演进过程•构建 Java 中间件•服务框架•数据访问层•消息中间件•软负载中心与集中配置管理•构建大型网站的其他要素

同样是包含了服务治理、数据库和网站可靠性这些主题,多了一个对配置中心的讨论。对于配置中心的理解,还可以结合国内著名的开源软件 Apollo[6] 分布式配置管理中心来学习。

深入浅出大型网站架构设计[7]

本书前言就提到,这是一本为学生进入职场准备的书籍。

很多刚从学校毕业的计算机专业的学生,或者通过自学掌握编程技能的非计算机专业的人,往往会发现软件工程师在工作中所做的内容与学校中所学的知识有不小的差异,并且这种差异随着项目规模的增大而增大。一些拥有不错编程基础的从业人员往往也要在从业数年以后,才能逐渐通过积累工作经验来缩小、弥补这种差异。

造成这种差异的主要原因在于,在学校中学习的编程技能侧重于计算机科学的原理及基本的应用,而在工作中,对于一个工程项目软件,为了使其达到商用、大规模使用的条件,软件工程师会采用许多学校中不会重点教学甚至完全不会接触的方式来确保其开发、维护上的高效率和健壮性。本书在网站开发方面,通过总结笔者从业中遇到过的众多案例和项目,精练出一系列职业经验和操作规程,帮助感兴趣的初学者对职业实践有所了解,而编程能力原本就扎实的程序员更可以通过本书获得职场上的即战力。

全书篇章目录如下:

•网站架构概述•大型网站架构设计的流程•数据库的选择•数据库优化:分库分表•数据库优化:读写分离•缓存•动静分离•负载均衡•异步和非阻塞•队列•高可用•异地多活•服务降级•限流•下游错误处理•测试•上线准备

我把这本书作为本书单的最后一本收官,也是因为这个知识体系的结构和内容介绍是最后这类贴近实际的书籍里最优秀的。

References

[1] 企业 IT 架构转型之道: https://book.douban.com/subject/27039508/
[2] 携程架构实践: https://book.douban.com/subject/35030121/
[3] 决战 618: https://book.douban.com/subject/27169748/
[4] 超大流量分布式系统架构解决方案: https://book.douban.com/subject/35013223/
[5] 大型网络系统与 Java 中间件实践: https://book.douban.com/subject/25867042/
[6] Apollo: https://github.com/apolloconfig/apollo
[7] 深入浅出大型网站架构设计: https://book.douban.com/subject/35093372/

大图书馆 #7 互联网企业服务架构书单相关推荐

  1. android架构师路线图,一线互联网企业资深架构师成长路线图

    前言 时间飞逝,已经从事 Android 开发十几年了.我在想,也是时候将自己的 Android 整理成一套体系,出了一张一线互联网企业资深架构师成长路线脑图,可以关注我的简书,查看更多文章 写这一套 ...

  2. 企业服务架构演进-第三方系统与自研之道

    本篇是企业服务架构演进系列的第五篇,本篇主要讨论的内容是在进行企业信息系统建设的过程中我们如何针对当前业务背景,部门需求选择合适的企业信息系统.是招人搭建企业信息部门建设还是购买第三方软件服务,或者基 ...

  3. 深度解码互联网后台服务架构-魏佳-专题视频课程

    深度解码互联网后台服务架构-71人已学习 课程介绍         互联网业务后台开发,大到后台服务框架搭建,工程实施,小到接口命名,参数设计,这么多年里,我已形成了一套独有的知识经验总结,这些都在我 ...

  4. 技术创新激活行业增长新引擎!腾讯助力互联网企业服务新发展

    当前,互联网企业服务行业正处在智能化升级和迅速发展的阶段,云计算技术的创新与应用正与行业的情形不期而遇. 腾讯作为产业互联网的先行者,经过多年经营和沉淀,形成了自己的技术矩阵,在推进"产业数 ...

  5. 企业服务架构演进-走上造轮子之路

    本篇是企业服务架构演进系列的第六篇,本篇我打算从另外一个角度去说一下企业服务架构演进的过程中我个人的一些积累.我从正式工作的第二年开始有造轮子的想法,然后从最简单最基础的方式去做,慢慢的可以做一些复杂 ...

  6. 基于企业服务架构的新一代企业管理应用软件

    基于企业服务架构的新一代企业管理应用软件 --在2007年中国开发者精英论坛上的演讲 IT168耿英英: 企业发展离不开信息化,而信息化的关键是企业管理的信息化,新一代的企业管理软件,使得现代的企业可 ...

  7. 互联网医院 2020年突出成就_我省2020年互联网企业20强榜单出炉

    本报讯(记者刘瑞强)11月17日,在太原举行的2020山西互联网领军企业高峰论坛上,山西省互联网协会向社会正式公布了"2020年山西省互联网企业20强及最具成长型企业",同时发布了 ...

  8. 【读书笔记】《大型互联网企业安全架构(石祖文)》

    文章目录 Part one:安全理论体系 第一章 安全理念 一.企业安全风险综述 1. 业务与运维安全(生产网安全) 2. 企业内部安全(办公网安全) 3. 法律法规与隐私保护 4. 供应链安全 二. ...

  9. IT人的架构书单:如何赋予软件以灵魂

    与在这个世界上已经存在了几千年历史的建筑业相比,IT业或者说软件业几十年的历史显得微不足道.但是IT行业或许已经成为目前对于世界影响最大的行业之一,我们的生活和工作中随处都是软件,可以说我们已经无法离 ...

最新文章

  1. java登录注册原理_案例:登录注册实现
  2. nacos windows部署_Sentinel-Go 集成 Nacos 实现外部动态数据源
  3. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
  4. html照片与照片之间的间隔,css设置图片之间的间隔的方法
  5. k8s存储卷(empyDir;hostPath;nfs)
  6. 徐坤用话剧震了我们一道
  7. 总结 构造函数与非构造函数 原型继承的一个方法
  8. 前端学习(2834):样式引入
  9. html的绝对定位脱离文档流吗,子元素设置绝对定位之后脱离文档流!
  10. 软件开发质量的双保险 — 3.应用设计验证与应用用例
  11. 极其良心的设计导航网站
  12. python到包快捷键_如何最简单、通俗地理解Python的包?
  13. Spring 2.5 jar 所有开发包及完整文档及项目开发实例
  14. 感知机学习算法的直观解释
  15. 计算机联锁 2x2,二乘二取二计算机联锁系统.pdf
  16. Linux作为哑终端连接服务器,linux – TERM =哑终端必须具备的功能
  17. 接口收到CRC错包怎么处理
  18. 实用自动化运维Python脚本
  19. flutter clean
  20. 压力传感器/压力变送器分类

热门文章

  1. 生产制造机器设备物联网技术方案
  2. 第十三届服务外包创新创业大赛记录总结(一)
  3. display:flex如何设置内容水平垂直居中
  4. 计算机系继续教育自我鉴定,继续教育自我鉴定
  5. ORA-01013: user requested cancel of current operation
  6. 全新数据增强方式KeepAugment,简单高效提升模型精度!
  7. Blink编译及使用
  8. 信息系统项目管理师Part16-物联网
  9. 小红书素人笔记怎么撰写?
  10. 贝尔华为OLT业务替换方案