许式伟的架构课
许式伟
七牛云CEO
立即订阅
20092 人已学习
课程目录
已更新 72 讲 / 共 77 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 怎样成长为优秀的软件架构师?
免费
基础平台篇 (21讲)
01 | 架构设计的宏观视角
02 | 大厦基石:无生有,有生万物
03 | 汇编:编程语言的诞生
04 | 编程语言的进化
05 | 思考题解读:如何实现可自我迭代的计算机?
06 | 操作系统进场
07 | 软件运行机制及内存管理
08 | 操作系统内核与编程接口
09 | 外存管理与文件系统
10 | 输入和输出设备:交互的演进
11 | 多任务:进程、线程与协程
12 | 进程内协同:同步、互斥与通讯
13 | 进程间的同步互斥、资源共享与通讯
14 | IP 网络:连接世界的桥梁
15 | 可编程的互联网世界
16 | 安全管理:数字世界的守护
17 | 架构:需求分析 (上)
18 | 架构:需求分析 (下) · 实战案例
19 | 基础平台篇:回顾与总结
加餐 | 我看Facebook发币(上):区块链、比特币与Libra币
加餐 | 我看Facebook发币(下):深入浅出理解 Libra 币
桌面开发篇 (16讲)
20 | 桌面开发的宏观视角
21 | 图形界面程序的框架
22 | 桌面程序的架构建议
23 | Web开发:浏览器、小程序与PWA
24 | 跨平台与 Web 开发的建议
25 | 桌面开发的未来
26 | 实战(一):怎么设计一个“画图”程序?
27 | 实战(二):怎么设计一个“画图”程序?
28 | 实战(三):怎么设计一个“画图”程序?
29 | 实战(四):怎么设计一个“画图”程序?
30 | 实战(五):怎么设计一个“画图”程序?
31 | 辅助界面元素的架构设计
课外阅读 | 从《孙子兵法》看底层的自然法则
加餐 | 想当架构师,我需要成为“全才”吗?
32 | 架构:系统的概要设计
33 | 桌面开发篇:回顾与总结
服务端开发篇 (14讲)
34 | 服务端开发的宏观视角
35 | 流量调度与负载均衡
36 | 业务状态与存储中间件
37 | 键值存储与数据库
38 | 文件系统与对象存储
39 | 存储与缓存
40 | 服务端的业务架构建议
41 | 实战(一):“画图”程序后端实战
42 | 实战(二):“画图”程序后端实战
43 | 实战(三):“画图”程序后端实战
44 | 实战(四):“画图”程序后端实战
45 | 架构:怎么做详细设计?
46 | 服务端开发篇:回顾与总结
加餐 | 如何做HTTP服务的测试?
服务治理篇 (11讲)
47 | 服务治理的宏观视角
48 | 事务与工程:什么是工程师思维?
49 | 发布、升级与版本管理
50 | 日志、监控与报警
加餐 | 怎么保障发布的效率与质量?
51 | 故障域与故障预案
52 | 故障排查与根因分析
53 | 过载保护与容量规划
54 | 业务的可支持性与持续运营
55 | 云计算、容器革命与服务端的未来
56 | 服务治理篇:回顾与总结
架构思维篇 (9讲)
57 | 心性:架构师的修炼之道
用户故事 | 站在更高的视角看架构
58 | 如何判断架构设计的优劣?
59 | 少谈点框架,多谈点业务
60 | 架构分解:边界,不断重新审视边界
加餐 | 实战:“画图程序” 的整体架构
61 | 全局性功能的架构设计
62 | 重新认识开闭原则 (OCP)
63 | 接口设计的准则
许式伟的架构课
登录|注册

46 | 服务端开发篇:回顾与总结

许式伟 2019-10-01
你好,我是七牛云许式伟。
到今天为止,我们第三章 “服务端开发篇” 就要结束了。今天,让我们对整章的内容做一个回顾与总结。本章我们主要涉及的内容如下。
服务端开发这个分工,出现的历史极短。如果我们从互联网诞生算起也就 40 多年的历史。以进入民用市场为标志,它真正活跃的时段,其实只有 20 多年。
作为架构师,记住这一点非常非常重要。20 多年能够形成的有效经验并不多。这意味着我们不能固步自封,很多惯例是可以被挑战的,并且最终也必然被挑战的。
作为最底层的服务端操作系统,最初从桌面操作系统而来。但桌面操作系统自身在发展,服务端操作系统自身也在发展,两者渐行渐远。
桌面的领域特征是强交互,以事件为输入,GDI 为输出。
所以,桌面技术的迭代,是交互的迭代,是人机交互的革命。在 “13 | 进程间的同步互斥、资源共享与通讯” 一讲中,我们介绍了桌面操作系统中进程间协同方式的变迁。如果我们从业务需求角度看,这个变迁本质上也是交互的变迁(为什么我们这么说?欢迎留言探讨)。
而服务端程序有很强烈的服务特征。它的领域特征是大规模的用户请求,以及 24 小时不间断的服务。这些都不是业务功能上的需要,是客户服务的需要。
所以,服务端技术的迭代,虽然一开始沿用了桌面操作系统的整套体系框架,但它正逐步和桌面操作系统分道而行,转向数据中心操作系统(DCOS)之路。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《许式伟的架构课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • Louis
    问下许老师,服务端治理是不是就是运维?

    作者回复: 服务治理包括运维

    2019-10-03
    2
    4
  • Aaron Cheung
    不能固步自封 挑战部分惯例 国庆快乐 打卡46
    2019-10-01
    2
  • 随心而至
    我刚工作一年多,做的服务端开发,刚开始技术繁杂,令人眼花缭乱,学习老师的专栏,暂时就是知道该学习那些知识,什么个次序,至于架构师应该是水到渠成的事情。
    2019-10-02
    1
  • 小名叫大明
    老师,很感谢您推荐的值得重点关注的技术列表,我深知他们的重要性,可是我有一个疑惑,了解到什么程度呢?

    是越深越好哈?还是应用级别,浅层原理级别,深层原理级别?

    作者回复: 以串联知识为要,深入的那部分,应该是对你业务最相关或者是你兴趣最相关。

    2019-10-02
    1
    1
  • Eternal
    服务端开发这个分工,出现的历史极短。如果我们从互联网诞生算起也就 40 多年的历史。以进入民用市场为标志,它真正活跃的时段,其实只有 20 多年。作为架构师,记住这一点非常非常重要。20 多年能够形成的有效经验并不多。这意味着我们不能固步自封,很多惯例是可以被挑战的,并且最终也必然被挑战的


    重复一下老师的话,这给所有有志成为一名架构师的小伙伴一个诗和远方!!!
    2019-11-23
  • 丁丁历险记
    how about redis?yy
    2019-11-03
  • Geek_88604f
    桌面技术的迭代是交互的迭代——为什么这么说?结合老师以前的文章,我说一下个人的理解,桌面技术可以划分为桌面应用和桌面交互两个方面,桌面技术的发现和演进必然是由这两个方面共同驱动的,它俩像人的两条腿一样共同带领桌面技术稳步前进。
            先来看桌面应用,如果按照网络发展的时间轴来划分桌面应用,大致可以划分为单机应用、网络应用、移动应用这三个时期。在单机应用时代桌面应用有文本编辑、语音、视频、游戏等;到了网络时代,桌面应用还是以那几个为主(网络支付是新产生的),只不过增加了资源共享的能力(典型的如BT下载,共享的安全也需要考虑);但是到了移动时代,桌面应用出现了爆炸式的增长,从数量上来看各种各样的APP和小程序如雨后春笋(如何快速安装和卸载,即插即用,兼容性,应用的故障隔离等),从质量上看出现了以语音识别和图像识别为代表的智能应用(这些智能应用往往需要移动端的和后台的紧密协作),这些应用的发展必然会导致桌面技术和架构的不断迭代和演进。
            再来看桌面交互,交互方式经历了命令行交互、字符界面、图形界面、智能交互(触摸屏+语音为主)这几个阶段。其中字符界面到图形界面是交互技术的第一次飞跃,从架构上目前来看智能交互框架还不能和现有的框架很好的兼容像素可以有独立的属性(每个像素可以有不同的颜色)。从图形界面到智能交互是可能的第二个飞跃,目前来看还主要是语音交互(语音识别、语音助手)并且智能交互框架还不能和现有的框架很好的兼容(语音交互的上下文、语音交互框架的独立性)。如果以人与人之间的交互来类比的话,桌面交互的翻天覆地的变化是越来越自然的提现了交互的本质,后续必将和现有的框架完美融合同时还会出现新的交互方式以丰富交互的多样性,如动作识别、表情识别。这些新型交互技术的出现必将驱动桌面交互技术向着越来越自然、越来越智能的方向前进。
    2019-10-04
收起评论
7
返回
顶部