最开始,我们认识架构都是指用了C/S架构,还是B/S架构。现在区分没有那么明确了,很多APP严格说应该是C/S架构,但后端服务又明显是B/S架构。

抛开这个概念后,我们把前后端一并部署的服务,称为单体架构。后来因为单体架构下,对后端进行扩展部署不便,又进行前后端分离。分离之后,不太占用资源的前端,只需要冗余2个,便可以稳定运行,不需要为它扩展太多资源。延续为后端扩展,从开始的前后端访问,用ng反向代理;后端与后端的访问,引入dubbo;到云原生后,把这个情况进行了简化,只需要service 到pod的网络。

在这个过程中,引入了很多概念,如分布式架构、微服务架构、云原生架构。

分布式架构,按我的经验,它主要解决的是可靠性问题,通过冗余部署,来提升系统的可靠性。

微服务架构,是为了节省资源,把资源更多用在瓶颈服务上,因此把服务拆得更细,这其中拆服务也是借鉴了领域驱动开发的思想。

云原生架构,并没有颠覆前两种架构,它是部署架构的升级,通过云原生,它的目标是对资源进行弹性管理。

现在AI开始流行,引入了AI智能体,AI智能体是一种AI工程的架构,它包括四个部分,分别为工具、记忆、规划、执行。这看起来不算与前面的架构同级,更多更偏业务,它不是为了解决可靠、资源、弹性管理,而是为了提升AI的智能。

除了考虑可靠性、资源、AI智能,还有耦合性。为解决应用之间的耦合,各应用之间搭建了一个业务网关,通过网关解耦,它可以让微服务之间错综复杂的调用变得清晰,方便管理。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐