周志明的软件架构课
周志明
博士,远光软件研究院院长,《深入理解Java虚拟机》等书作者
赠一得一
26170 人已学习
课程目录
已完结 74 讲
开篇词 (2讲)
开篇词 | 如何构建一个可靠的分布式系统?
免费
导读 | 什么是“The Fenix Project”?
演进中的架构 (6讲)
01 | 原始分布式时代:Unix设计哲学下的服务探索
02 | 单体系统时代:应用最广泛的架构风格
03 | SOA时代:成功理论与失败实践
04 | 微服务时代:SOA的革命者
05 | 后微服务时代:跨越软件与硬件之间的界限
06 | 无服务时代:“不分布式”云端系统的起点
架构师的视角 (24讲)
07 | 远程服务调用(上):从本地方法到远程方法的桥梁
08 | 远程服务调用(下):如何选择适合自己的RPC框架?
09 | RESTful服务(上):从面向过程编程到面向资源编程
10 | RESTful服务(下):如何评价服务是否RESTful?
11 | 本地事务如何实现原子性和持久性?
12 | 本地事务如何实现隔离性?
13 | 全局事务和共享事务是如何实现的?
14 | 分布式事务之可靠消息队列
15 | 分布式事务之TCC与SAGA
16 | 域名解析系统,优化HTTP性能的第一步
17 | 客户端缓存是如何帮助服务器分担流量的?
18 | 传输链路,优化HTTP传输速度的小技巧
19 | 如何利用内容分发网络来提高网络性能?
20 | 常见的四层负载均衡的工作模式是怎样的?
21 | 服务端缓存的三种属性
22 | 分布式缓存如何与本地缓存配合,提高系统性能?
23 | 认证:系统如何正确分辨操作用户的真实身份?
24 | 授权(上):系统如何确保授权的过程可靠?
25 | 授权(下):系统如何确保授权的结果可控?
26 | 凭证:系统如何保证与用户之间的承诺是准确完整且不可抵赖的?
27 | 保密:系统如何保证敏感数据无法被内外部人员窃取滥用?
28 | 传输(上):传输安全的基础,摘要、加密与签名
29 | 传输(下):数字证书与传输安全层
30 | 验证:系统如何确保提交给服务的数据是安全的?
春节特别放送 (3讲)
春节特别放送(上)| 有的放矢,事半功倍
春节特别放送(下)| 积累沉淀,知行合一
用户故事 | 詹应达:持续成长,不惧未来
分布式的基石 (14讲)
31 | 分布式共识(上):想用好分布式框架,先学会Paxos算法吧
32 | 分布式共识(下):Multi Paxos、Raft与Gossip,分布式领域的基石
33 | 服务发现如何做到持续维护服务地址在动态运维中的时效性?
34 | 路由凭什么作为微服务网关的基础职能?
35 | 如何在客户端实现服务的负载均衡?
36 | 面对程序故障,我们该做些什么?
37 | 要实现某种容错策略,我们该怎么做?
38 | 限流的目标与模式
39 | 如何构建零信任网络安全?
40 | 如何实现零信任网络下安全的服务访问?
41 | 分布式架构中的可观测到底说的是什么?
42 | 分析日志真的没那么简单
43 | 一个完整的分布式追踪系统是什么样子的?
44 | 聚合度量能给我们解决什么问题?
不可变基础设施 (17讲)
45 | 模块导学:从微服务到云原生
46 | 容器的崛起(上):文件、访问、资源的隔离
47 | 容器的崛起(下):系统、应用、集群的封装
48 | 以容器构建系统(上):隔离与协作
49 | 以容器构建系统(下):韧性与弹性
50 | 应用为中心的封装(上):Kustomize与Helm
51 | 应用为中心的封装(下):Operator与OAM
52 | Linux网络虚拟化(上):信息是如何通过网络传输被另一个程序接收到的?
53 | Linux网络虚拟化(下):Docker所提供的容器通讯方案有哪些?
54 | 容器网络与生态:与CNM竞争过后的CNI下的网络插件生态
55 | 谈谈Kubernetes的存储设计理念
56 | Kubernetes存储扩展架构:一个真实的存储系统如何接入或移除新存储设备?
57 | Kubernetes存储生态系统:几种有代表性的CSI存储插件的实现
58 | Kubernetes的资源模型与调度器设计
59 | 透明通讯的涅槃(上):通讯的成本
60 | 透明通讯的涅槃(下):控制平面与数据平面
61 | 服务网格与生态:聊聊服务网格的两项标准规范
探索与实践 (6讲)
62 | Fenix's Bookstore的前端工程
63 | 基于Spring Boot的单体架构
64 | 基于Spring Cloud的微服务架构
65 | 基于Kubernetes的微服务架构
66 | 基于Istio的服务网格架构
67 | 基于云计算的无服务架构
结束语 (2讲)
结束语 | 程序员之路
结课测试 | 一套习题,测出你的掌握程度
周志明的软件架构课
15
15
1.0x
00:00/00:00
登录|注册

结束语 | 程序员之路

周志明 2021-04-30
你好,我是周志明。
到这里,我们的软件架构之旅就要到终点站了,首先感谢你与我一起学完了这门 70 多讲、30 多万字的课程。
这门课讲的是软件架构,不过这并不意味着你学完这门课程就要做架构师。我想,在座的同学在现在、将来或者至少过去曾经是一名程序员,所以在结束语中,我想来跟你聊一点儿与技术相关,但又不局限于具体技术的话题。

程序员的发展观

程序员通俗地说就是写程序代码的人,但在不少人的认知里,今天去写代码,却是为了日后可以不必再写代码。
从职业经理人的视角来看,不管是架构师、资深专家,还是研发部门管理者,这些程序员的“进阶职业”似乎都已经脱离了字面意义上的“写代码的人”,衡量他们工作目标的依据主要是治下的程序员是否有更高的工作效率、更好的投入产出。那么如此一来,不少程序员想成为“不必再写代码”的人,倒是也可以理解。
不过,从技术人员的视角来看,程序员这个群体天生就带有一种工匠式的图腾崇拜精神,大家都奉行达者为师,并不迷信管理自己的人,但尊重能够指导自己的人,爱讲逻辑、爱讲道理,讲不通至少还能“Talk is cheap, show me the code”。而如此一来,要脱离技术去管理好一群程序员,可是相当困难的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该文章仅可阅读部分内容,如需阅读完整文章,请先通过赠一得一解锁课程
赠一得一
登录 后留言

精选留言(11)

  • 李海明
    周老师,您好:
    首先我代表广大读者感谢老师和编辑小姐姐的辛勤付出,让我们有机会能够免费看到这棒的内容。
    先来作个自我介绍,我是《周志明的软件架构课》的音频主播李海明,也是老师的一个小粉丝儿。不过我自己更想把定位成一个认真听老师讲课的学生,整个专栏很长,但是很有意思,文字稿部分每个字都会读5篇,看3篇,听3篇以上,而且还会做一些总结性的笔记。联想自己已有的认知是怎么样的,现在的思路又是怎么样的。所以呀,绝对算是一个好学生了呢。
    如果说以前自己的学习是细雨点点,那通过这次学习给我的感受就是携历史洪流而来的巨浪。君不见黄河之水天上来,奔流到海不复回。从原始的分布式时代到单体系统、到SOA、到微服务无服务时代,分布式一直都在朝着更广阔更自由的海洋挺进。而老师就是那个举着酒杯,高唱“为君歌一曲,请君为我倾耳听”的李白,在分布式发展过程中,面对流量的冲击、环境的限制,也自然的面临着各种各校的问题,诸如服务发现、负载、熔断隔离、降级、序列化、认证授权、安全等等问题,这也真像极了历朝历代,不同地区对水患的治理,有大禹的扩宽河道、有都江堰的分流、更现在三峡大坝的缓流,而这些解决方案在分布式技术栈中也可以看到它们影子。
    各个朝代有兴起、有鼎盛、也有衰亡的生命周期。而对于分布式技术来说也是如此,都只不过是在某一个特定时期的针对分布式要解决问题的不同方向而做的一个实践而矣。所以,虽然各种技术看起来五花八门,但是其本质都是类似的,也都是在不同方向上的努力。那在了解了这一些之后,再去做技术选型,做架构设计,就不用再拍着脑袋,或者看别人经验来做选择了。 这么来看,技术似乎也并没有那么复杂了。然而,我一直觉得作为一名技术开发人员来说,我们应该从悲观的角度的出发去看待我们所做设计,“做最坏的打算,做最全的准备”这才是一个该有态度。还记得以前,我们管计算机叫微机,现在我理解的“微”字是这样的,在学习相关的技术的时候,要从小处着手,理解每一个小的组件的作用,要理解小组件内部的数据流转。在学习不可变基础设施的就遇到这个问题,每篇文章看都能看懂,但由于实践的得少,总得理解的不深刻,从微入手之后,慢慢理解了一些细节,当然也慢慢的了解kubernetes的优雅设计。
    外行看热闹,内行看门道。有些内容,看进去了,有思考了,知识有联动了,才算是看了。我相信任何技术,都不会像是星星一样散落各处,而是所有星星会联系起来,形成美丽星空。以史为镜可以知兴衰,从问题出发去看待发展,从本质着手去理解技术,这是我这次学习之旅
    最近听书有获,在没有建立自己的知识体系之前,永远都是活在别人知识体系里。在这条路上努力也挺久了,还是没有体系,就着这个节点。要把老师这门课好好再仔细看看,学着去理解,学着去产出。

    作者回复: 感谢海明对每节课程的配音。也感谢极客时间其他编辑和工作人员的付出。

    2021-04-30
    4
    19
  • zhanyd
    我做程序员这么多年,

    曾经想努力却找不到方向,不知道学什么,中间走了很多弯路;

    曾经整天沉迷于游戏,根本不想学习,浪费了很多时间;

    曾经放弃了去当程序员,跑去干了其他工作,最终又回来敲代码。

    我智力中等,能力一般,曾经迷茫过,失落过,我很普通,但是我始终努力做好自己的工作,保持学习的习惯,我相信我又不普通。


    周老师说的程序员的价值观我很赞同,我们要把自己看成一家公司来经营,我们都身处在一个高度发达的商业社会中,商业的本质是提供价值。

    我们要给公司,给客户提供价值,只要我们能持续地给别人提供价值,就不会被淘汰。

    同时,我们要保证自己能一直成长,跟得上时代的发展,这就要保持终身学习。

    更重要的是,我们要有一个健康的身体,健康是1,其他的都是后面的0,没有健康就没有一切,所以我们一定要经常锻炼身体。

    我觉得人生最重要的两件事就是:终身学习和锻炼身体。


    最后,非常感谢周老师给我们带来了这么精彩的课程,谢谢周老师!

    作者回复: 十分认同,无论多少岁,都应该终身学习让自己有个年轻的灵魂,终身锻炼让自己有个年轻的身体。

    2021-04-30
    2
    6
  • gevin
    本专栏让我学到很多,感谢周老师!

    老师本文的观点,也非常认同!
    2021-04-30
    3
  • Demon.Lee
    “思考具象化“ 就是要主动学习,不能被动学习,我们看完一节一节内容,不去写笔记,不去实践,留存率不足%5。
    感谢老师,我还会经常留言提问的,也感谢编辑小姐姐,录音的李海明同学,我可以想象到你们的付出,辛苦了。
    那么问题来了,纸质书会有签名版吗,如何才能获得签名版,想要珍藏,或多买两本送给身边的朋友或同事,^_^

    作者回复: 首发的时候出版社可能会做一些签章版吧~感谢支持:)

    2021-04-30
    1
    3
  • dhs
    感谢周博士的辛勤付出、无私分享,让我开阔眼界,掌握了学习一门课甚至一个专业的通用方法论,希望能早日看到此课纸质版。也希望出更多新课!吾生有涯,学海无涯。
    2021-04-30
    3
  • leeven1992
    谢谢周老师,虽然我只看了前面的课程,但是已经让我受益良多~我会坚持把这门课程都学完,形成自己的知识架构体系!
    2021-04-30
    2
  • walkingonair
    结束撒花!从周老师这里学到了很多,对技术的认知发生了质变,学会了从源头去发现技术的诞生和演变,也指明了未来技术的发展方向。技术不只是我的职业,更是我的兴趣爱好,人生价值的体现,我想我会一直坚持下去!
    最后,还是感谢老师出的公开课,出了纸质书会第一时间购买,作为技术成长路上的一个记录,也是对老师布道精神的一个小小支持,感谢!

    作者回复: 感谢支持:)

    2021-04-30
    2
  • Linuxer
    对周老师的知识面万分景仰,感谢您的分享,还需要时间好好吸收消化。
    2021-05-15
  • 三木子
    通过这门课补习了好多基础知识的点赞。
    2021-05-07
  • 术子米德
    🤔☕️🤔☕️🤔
    我遇到的免费课程里,TOP-3,我推荐给很多人听,都有这样的评价,甚至可以说,远超大部分收费的课程

    作者回复: 感谢支持:)

    2021-05-03
    1
  • 兆熊
    周老师这门课通俗易懂,涉及到架构的方方面面,值得反复阅读!感谢老师!
    2021-04-30
收起评论
11
返回
顶部