vlambda博客
学习文章列表

云原生时代来临之际,对软件架构设计的思考

预告篇


随着分布式中间件,容器编排,云计算基础设施等技术不断进步,应用软件的架构设计也逐渐在演变和进化。


从部署在单台或者小型集群上的单体架构软件,到运行在多个计算中心的成百上千的服务器节点上的微服务应用,再到主流云厂商上理论可以无限扩展的云原生技术架构,开发软件时会面临各种技术和架构的选型。我们开发软件,究竟适合用什么样技术呢,我将从中间件的视角,分析并给出一些建议。


中间件技术演进

分为三大类

1

  • JavaEE和Spring框架实现企业应用架构

  • 各类Java中间件的架构设计和关键技术

2

  • SpringBoot微服务

  • 服务治理的两种技术实现

  • 运用DDD方法论指导微服务设计

3

  • Java主流云原生框架

  • 函数化和无服务编程

  • 适应容器和容器编排能力

  • 围绕云计算设施来设计软件架构


云原生不是银弹!只是能充分利用云计算基础设施的一种软件设计方式。

可以预见,在一段时期内,基于虚拟机形态的云计算资源还会长期存在。而真正肯为信息化花大价钱的大型企业,还是会坚持部署私有云或者混合云。


程序员不能不懂操作系统,也不能遗忘web服务器知识,无服务器技术描述的“美好”,更多的是把服务器能力下沉到云计算设施了。


对于软件架构师,这是一个最好的时代,会面对各种各样的知识和“学派”,进行思想碰撞,需要能抽丝剥茧,从真正的用户需求中提炼并找到软件开发的真谛所在。