Go 语言项目开发实战
孔令飞
腾讯云专家工程师,前 Red Hat、联想云工程师
39717 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 61 讲
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

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

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

软件架构的演进

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

全部留言(5)

  • 最新
  • 精选
  • fliyu
    Envoy Proxy这个网关是不是很出名,大佬平时工作会用到吗

    作者回复: 如果用Istio会用到,这个工作中还没用到

    1
  • fliyu
    Prometheus 是不是需要在go语言代码中引入Prometheus包来push数据呢

    作者回复: 需要的,有现成的包直接引用就可以了

    1
  • types
    Faas是serveless的一种实现方式,例如aws lambda 个人的理解也是faas方式有很多受限,对于复杂逻辑的业务支撑性较弱。 请问serveless房展方向是什么,会基于什么样的技术发展,支撑复杂业务场景

    作者回复: serverless我觉得未来重点还是serverless容器,可以了解下腾讯云的EKS、阿里云的SAE。云函数短时间内还不能支撑复杂的业务

  • 随风而过
    真个微服务演进过程的概念讲解,问题嘛就很简单咯,Prometheus官方有example

    作者回复: 因为云原生内容太多,所以这里主要是从宏观上让大家了解云计算技术的发展

  • yandongxiao
    总结: 应用架构的演进:单体架构、SOA架构、微服务架构、Service Mesh、FaaS SOA和微服务的区别:SOA中服务属于某个应用,SOA强调尽可能共享,服务之间ESB通信;微服务中,服务可以被多个应用公用;尽量少共享;通过HTTP、GRPC通信; Java中的微服务框架有:dubbo、spring cloud; 微服务架构 VS Service Mesh:后者与具体的语言解耦,通过 sidecar 的模式对微服务进行治理。
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部