随着数字化时代的快速发展,企业和组织正面临着如何在保持敏捷和灵活的同时,提高业务运营效率和降低成本的巨大挑战。为了应对这些挑战,许多企业开始采用面向服务的架构(SOA)和企业服务总线(ESB)来构建和集成复杂的应用系统。然而,随着云计算和微服务等新技术的出现,SOA/ESB架构也面临着一些问题和挑战。本文将对SOA/ESB架构,在Java语言场景下,如何朝云原生ServiceMesh架构演进的问题进行探讨。
SOA/ESB架构简介和问题概览
SOA(Service-Oriented Architecture,面向服务的架构)是一种软件架构设计方法,它将应用程序的功能模块化为一组可重用的服务,这些服务可以通过网络进行调用和组合,以支持业务流程的执行。ESB(Enterprise Service Bus,企业服务总线)是SOA架构中的关键组件,它提供了一种用于连接和集成各种服务的中间件平台。
SOA/ESB架构模式在目前公有云上的典型参考架构,以华为云为例,其使用到的典型云服务为弹性负载均衡(ELB)和弹性伸缩(AS,包含ECS)。在这种场景下,需要发起调用的客户端程序,通过配置好的域名或地址,直接调用到ELB上,通过ELB去调用到后端的ECS服务器。ELB上需要配置后端服务器的多个IP地址。当然,一般这类操作可以简化为添加某类弹性伸缩组。这样,当ECS发生弹性伸缩时管理员无需处理ELB配置,ELB即可自动刷新ECS的IP列表的变化。
SOA/ESB架构虽然在隔离性、安全性上存在一定优点,但是短板也非常明显。主要包括性能和资源开销以及运维成本。相对微服务架构,SOA/ESB架构上网络增加了额外一跳,而且ELB的引入也会导致资源的额外消耗增多。此外,额外引入了一个ELB的组件,因此在微服务之间调用时,瓶颈在哪里,ELB是否需要扩缩容,都是问题。
微服务和云原生架构改造方法和问题
对于如何改造SOA/ESB架构,朝微服务架构或云原生架构演进,业界也有很多方法。主要是以下两类:
1. 通过修改代码,将应用改造为微服务架构。例如直接在代码中引入比如SpringClou

本文探讨了在Java语言环境下,SOA/ESB架构面临的挑战以及如何通过Sermant进行云原生ServiceMesh架构改造。Sermant利用Java Agent动态注入服务治理,实现无侵入改造,提供高性能的服务治理解决方案,支持灰度发布,确保架构升级的安全可控。
最低0.47元/天 解锁文章
2227

被折叠的 条评论
为什么被折叠?



