Go 语言项目开发实战
孔令飞
腾讯云资深工程师,前Red Hat、联想云工程师
新⼈⾸单¥69.9
3783 人已学习
课程目录
已更新 47 讲 / 共 54 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从 0 开始搭建一个企业级 Go 应用
免费
课前必学 (3讲)
01 | IAM系统概述:我们要实现什么样的 Go 项目?
02 | 环境准备:如何安装和配置一个基本的 Go 开发环境?
03 | 项目部署:如何快速部署 IAM 系统?
实战第 1 站:规范设计 (8讲)
04 | 规范设计(上):项目开发杂乱无章,如何规范?
05 | 规范设计(下):commit 信息风格迥异、难以阅读,如何规范?
06 | 目录结构设计:如何组织一个可维护、可扩展的代码目录?
07 | 工作流设计:如何设计合理的多人开发模式?
08 | 研发流程设计(上):如何设计 Go 项目的开发流程?
09 | 研发流程设计(下):如何管理应用的生命周期?
10 | 设计方法:怎么写出优雅的 Go 项目?
11 | 设计模式:Go常用设计模式概述
实战第2站:基础功能设计或开发 (12讲)
12 | API 风格(上):如何设计RESTful API?
13 | API 风格(下):RPC API介绍
14 | 项目管理:如何编写高质量的Makefile?
15 | 研发流程实战:IAM项目是如何进行研发流程管理的?
16 | 代码检查:如何进行静态代码检查?
17 | API 文档:如何生成 Swagger API 文档 ?
18 | 错误处理(上):如何设计一套科学的错误码?
19 | 错误处理(下):如何设计错误包?
20 | 日志处理(上):如何设计日志包并记录日志?
21 | 日志处理(下):手把手教你从 0 编写一个日志包
22 | 应用构建三剑客:Pflag、Viper、Cobra 核心功能介绍
23 | 应用构建实战:如何构建一个优秀的企业应用框架?
实战第3站:服务开发 (12讲)
24 | Web 服务:Web 服务核心功能有哪些,如何实现?
25 | 认证机制:应用程序如何进行访问认证?
26 | IAM项目是如何设计和实现访问认证功能的?
27 | 权限模型:5大权限模型是如何进行资源授权的?
28 | 控制流(上):通过iam-apiserver设计,看Web服务的构建
29|控制流(下):iam-apiserver服务核心功能实现讲解
30 | ORM:CURD 神器 GORM 包介绍及实战
31 | 数据流:通过iam-authz-server设计,看数据流服务的设计
32 | 数据处理:如何高效处理应用程序产生的数据?
33 | SDK 设计(上):如何设计出一个优秀的 Go SDK?
34 | SDK 设计(下):IAM项目Go SDK设计和实现
35 | 效率神器:如何设计和实现一个命令行客户端工具?
实战第4站:服务测试 (4讲)
36 | 代码测试(上):如何编写 Go 语言单元测试和性能测试用例?
37 | 代码测试(下):Go 语言其他测试类型及 IAM 测试介绍
38|性能分析(上):如何分析 Go 语言代码的性能?
39|性能分析(下):API Server性能测试和调优实战
实战第5站:服务部署 (5讲)
40 | 软件部署实战(上):部署方案及负载均衡、高可用组件介绍
41 | 软件部署实战(中):IAM 系统生产环境部署实战
42 | 软件部署实战(下):IAM系统安全加固、水平扩缩容实战
43|技术演进(上):虚拟化技术演进之路
44|技术演进(下):软件架构和应用生命周期技术演进之路
特别放送 (2讲)
特别放送 | 给你一份清晰、可直接套用的Go编码规范
特别放送 | 给你一份Go项目中最常用的Makefile核心语法
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

44|技术演进(下):软件架构和应用生命周期技术演进之路

你好,我是孔令飞。
应用、系统资源、应用生命周期管理这 3 个维度,构成了我们对云的所有诉求。上一讲,我从系统资源维度,介绍了虚拟化技术的演进之路。这一讲,我会介绍下应用维度和应用生命周期管理维度的技术演进。
应用软件架构是用来构建应用的,不同的软件架构,构建应用的方式、效率,以及所构建应用的可维护度、性能都是不同的。随着技术的不断更新迭代,应用软件架构也在不断往前演进。这一讲我们就来看看,应用软件架构都有哪些,这些软件架构都有什么特点,以及它们之间是如何演进的。
至于应用生命周期管理维度,我在 09 讲 中已经介绍了应用生命周期管理技术的演进,这一讲也会再补充一些核心的技术,比如日志、监控告警、调用链等。
接下来,我们就先来看下软件架构的演进之路。

软件架构的演进

软件架构技术演进如下图所示:
最开始,我们使用单体架构来构建应用,后面逐渐演进为 SOA 架构。不管是单体架构,还是 SOA 架构,都很难满足互联网时代应用快速迭代的诉求。所以,在互联网时代,应用软件架构又演进成了微服务架构。当前我们正处在微服务架构阶段,也有很多团队的业务正在尝试使用 Service Mesh 替代微服务架构中的一些功能。
随着 Serverless 云函数的诞生,也诞生了一种新的软件架构,FaaS 架构。这里我先简单介绍下它,后面再详细讲。FaaS 架构因为限制多、使用场景局限,目前还仅仅适用于云函数这种系统资源形态,我个人认为它不会成为未来主流的软件架构。还要说明下,业界目前并没有 FaaS 软件架构这个说法,大家说到 FaaS,一般指的都是云函数这种技术形态。这里为了方便描述,我们先这样表达。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《Go 语言项目开发实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥69.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部