许式伟的架构课
许式伟
七牛云CEO
立即订阅
20090 人已学习
课程目录
已更新 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 | 接口设计的准则
许式伟的架构课
登录|注册

34 | 服务端开发的宏观视角

许式伟 2019-08-20
你好,我是七牛云许式伟。
今天开始,我们进入第三章,谈谈服务端开发。

服务端的发展史

服务端开发这个分工,出现的历史极短。短得让人难以想象。
1946 年,第一台电子计算机问世。1954 年,第一门高级语言 Fortran 发布。整个信息科技发展到今天,大约也就 60~70 年的历史。
1974 年,Internet 诞生。1989 年,万维网(WWW)诞生,但刚开始只限于政府和学术研究用途,1993 年才开始进入民用市场。
从这个角度来说,服务端开发这个分工,从互联网诞生算起也就 40 多年的历史。真正活跃的时段,其实只有 20 多年。
但其发展速度是非常惊人的。我们简单罗列下这些年来的标志性事件。
1971 年,电子邮件诞生。
1974 年,Internet 诞生。
1974 年,第一个数据库系统 IBM System R 诞生。SQL 语言诞生。
1989 年,万维网(WWW)诞生。
1993 年,世界上第一个 Web 服务器 NCSA HTTPd 诞生,它也是大名鼎鼎的 Apache 开源 Web 服务器的前身。
1998 年,Akamai 诞生,提供内容分发网络(CDN)服务。这应该算全球第一个企业云服务,虽然当时还没有云计算这样的概念。
2006 年,Amazon 发布弹性计算云(Elastic Compute Cloud),简称 EC2。这被看作云计算诞生的标志性事件。
2007 年,Amazon 发布简单存储服务(Simple Storage Service),简称 S3。这是全球第一个对象存储服务。
2008 年,Google 发布 GAE(Google App Engine)。
2009 年,Go 语言诞生。Derek Collison 曾预言 Go 语言将制霸云计算领域。
2011 年,七牛云诞生,发布了 “对象存储 +CDN+ 多媒体处理” 融合的 PaaS 型云存储,为企业提供一站式的图片、音视频等多媒体内容的托管服务。
2013 年,Docker 诞生。
2013 年,CoreOS 诞生。这是第一个专门面向服务端的操作系统。
2014 年,Kubernetes 诞生。当前被认为是数据中心操作系统(DCOS)的事实标准。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《许式伟的架构课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(25)

  • 黄强
    负载均衡和其他形式的存储,除了留言区的各回答外,还有就是架构设计中的隔离稳定点和变化点,客户连接服务要求和存储要求都是稳定点,变化点就是怎样有效提供服务及存储

    作者回复: 👍,的确如此。

    2019-09-05
    4
  • Jxin
    1.负载量级,和服务停机损失大(必须要保证ha)。这两个核心诉求引出了负载均衡技术。也就是说,负载均衡解决了两个问题。一个是打破单机性能瓶颈,将多机性能聚合起来,实现可以通过扩容增长计算负载力。二是解决了服务高可用,同过多机主备,多中心主备,规避单点故障,进而保证服务高可用。
    2.用户权限控制,用户信息安全。用户操作记录,数据分析。数据持久化在服务端是一个成本比较大的选择。但这对维护用户数据安全,服务提供多用户同一份数据,用户权限控制,后续做战略布局的数据分析,和智能推荐的机器学习啥的都比较重要。
    2019-08-20
    4
  • CoderLim
    1、负载均衡提供了高性能、水平扩展、高可用的能力。单台机器无法承载太多请求时,就需要增加机器,负载均衡的作用就是来控制如何把请求分配到不同的机器上;这样增加机器很容易,也就是水平扩展的能力;增加机器用来支撑更多的请求,更快的处理,这就是高性能;如果某个机器挂了,也很容易控制请求不要流向坏了的机器,这就是高可用。
    2、存储提供的是持久化的能力。因为系统中会出现业务数据,不存起来以后就无法拿到这些数据了。各种数据库,比如 MySQL;数据共享,比如发送文件、图片;提高性能,比如Redis做缓存;更基础的概念,比如磁盘,内存,寄存器,没有他们计算机跑不起来。
    2019-08-20
    3
  • 丁丁历险记
    把七牛云诞生塞进大事件这波操作亮了。
    2019-10-30
    1
  • 马哲富
    也就是说后端工程师的技术方向必然是云和大数据对么?

    作者回复: 不完全是

    2019-08-23
    1
  • 有网络请求的地方基本就有负载均衡,主要是为了分流

    数据库提供数据的读写功能,但是不同的业务对读写的需求是不同的,所以就诞生了很多种数据库
    2019-08-21
    1
  • Spiderspiders
    24小时不间断服务,实际上说的就是几个9吧。

    作者回复: 是的

    2019-08-20
    1
  • Geek_04e22a
    负载均衡就是分发流量,提升提供给用户的请求处理能力,能够水平扩容,ssl证书卸载,网络隔离功能

    存储:保存用户的信息
    2019-12-09
  • zkbeta2
    你好,想问一下对象存储和文件存储是不是同一个概念啊?

    作者回复: 当然不是

    2019-09-29
  • 弹弹君
    因为这个领域特征的需求,要支持大规模用户请求与不间断服务
    2019-09-24
  • 舒偌一
    根据服务端程序的特征,需要使用负载均衡来保证大规模应用和提供不间断服务的能力,同时也隔离了业务和其他要求。存储是为数据的再次使用。
    2019-09-19
  • humor
    需要负载均衡是因为服务端需要高可用性和高性能,
    需要额外的存储是因为服务端需要保存大量的数据,服务端本身不具备这种能力
    2019-08-23
  • Charles
    好奇的问下负载均衡本身怎么保证高可用?

    作者回复: 它是集群,只是这里没有画出来,存储也一样

    2019-08-22
  • 终于来了!!!
    2019-08-22
  • Aaron Cheung
    负载均衡是为分布式服务,数据库为分布式数据状态统一 打卡34
    2019-08-22
  • 张裕
    负载均衡 一是不把鸡蛋放在一个篮子里,另一个是以分布式的方式提升服务能力。
    数据库和其他形式存储 是为了保证这些分布式的服务有统一的状态,保证无论在哪个实例上处理都是等价的。
    2019-08-20
  • Dimple
    前段时间因为接触了微服务,知道了负载均衡这个概念,但是还是不知道如何更好地描述,期待老师的精彩内容。
    2019-08-20
  • 许童童
    服务端程序和客户端程序确实有着本质的区别,客户端更关注体验,视觉,而服务端则更关注可靠,准确,响应时间。所以服务端更需要有数据的思维,而编写界面的能力会差一些,现在分工明细,前端后端,确实是大势所趋。
    2019-08-20
  • 逍遥法外
    负载均衡层是应对高性能和高可用复杂度的关键环节
    一个桌面程序的实例只需要存储一个用户的数据,服务端程序需要存储所有用户的数据,自然需要更高效的存储系统
    2019-08-20
  • leslie
    期待老师的后续课程的讲解。负载均衡其实个人觉得是为了避免某个服务器压力过重而使用的,就像为何现在的架构越来越复杂,其实就是为了减轻某些压力。
           早期我们存储数据或者做数据分析其实excel就够了,后面就用了数据库;为了减轻数据库压力又在上面追加了内存库,任何资源都是有限的-如何让有限的资源发挥最大的效率这才是关键。
           老师的课跟到现在:受益匪浅,期待后面的课程讲解。
    2019-08-20
收起评论
25
返回
顶部