【Java】什么是SOA架构?与微服务有什么关系?

简介: 【Java】什么是SOA架构?与微服务有什么关系?

我的一个微服务项目,有兴趣可以一起做

服务化架构

我们知道,早期的项目,我们都是把前后端的代码放在同一个项目中,然后直接打包运行这个项目,这种项目我们称之为单体项目,比如早期的JSP项目,我就会把前端页面和后端代码放在一起,然后一起进行编写,然后使用tomcat去运行,这就是一个很典型的单体项目。

而单体项目,我们知道,他的好处就在于部署很方便,上线很快,毕竟所有代码都在你手上,你直接运行起来是很方便的。因此,单体项目是中小型企业的首选,因为它交付快,上线快,开发也快,这也是单体项目的好处。

当然,单体架构的缺点也很明显。

由于这个服务直接运行在单台服务器上,那么只要这台服务器出问题,服务就直接出了问题,没有高可用性这么一说。并且由于所有的请求都由单台机器承担,因此他的查询压力很大,因此查询的效率也比较受影响。

而单体项目的改进方式也就是我们所说的集群,也就是集群架构模式,它强调可用性

我们部署的所有服务都以集群的方式进行部署,虽然增加了硬件成本,并且部署更加复杂,但是好处就是,由于每一台机器上都是全量数据,因此即使某一台机器奔溃了,还有其他的机器顶住,不会出现直接服务不可用的情况。

当然,虽然可用性提高了,但是很明显,项目的复杂程度也大大提高。

因为每一台机器上都是全量数据,那么意味着,如果需要修改某一台机器上的代码或者数据,就需要同时修改其他各个节点上的代码和数据,因此耦合性极大,开发复杂度大大提高。并且这就导致,项目的开发变为了以技术为核心,而非业务为核心,要求在技术上实现各类集群。

所以改进方法你也知道了,也就是把每一个业务,都拆分为一个又一个的小服务,然后由这些服务互相配合工作组成一个完整的业务。

因此,服务化架构也就出现了。

它是将一个业务进行拆分,它将不同的业务以独立的进程进行运行部署,服务化架构强调的就是将业务进行垂直拆分后,形成的多个的模块独立部署,独立维护,同时逻辑上,虽然还是分层的结构,不过他从逻辑上单独剥离出来了一个服务层,而这个服务层会有专门的组来负责。

服务化架构是以业务为核心,那么技术如何进行选型,就不确定了。

早期使用的是ESB企业服务总线。

设想一下,早期是没有面向服务架构的规范的,那么意味着各种服务可能会有不同的开发方式,比如有些暴露的接口是RestFul的,有些是webserver的,由于格式不统一,那么项目就会更加复杂,而随着项目服务的增加,项目的复杂程度越来越大,我们所谓的shishan也就出现了。

所以IBM就提出了ESB企业服务总线,其中最核心的就是格式转化,他能帮助我们为不同的业务进行转化,从而避免了上面所述的问题。ESB就提供了一个中心化的注册中心,因此ESB是非常重量级的,他很重要,因为毕竟各类服务需要进行互相转化就需要依赖ESB,而ESB成本超级高,没有好用的开源,并且它属于重量级唱片,部署规划异常笨重。

因此,SOA的问题就在于各个子系统之间没有采用统一的通信标准,导致系统通信与数据交互间变得异常复杂。

所以,为了解决SOA的问题,就出现了微服务架构模式。

微服务架构

微服务架构风格是一种将单个应用程序开发为一组小型服务的方法,每个小服务运行在自己的进程中,并且以轻量级机制(通常是HTTP REST API)通信。这些服务是围绕业务能力建立的,并且可以由完全自动化的部署机构独立部署。这些服务的集中管理只有最低限度,可以用不同的编程语言编写并使用不同的数据存储技术。

目前比较主流的微服务架构就是SpringCloud和SpringCloudAlibaba了

在上面我写出的项目就是使用SpringCloudAlibaba,有兴趣的可以联系我一起开发哦


目录
打赏
0
0
0
0
5
分享
相关文章
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
378 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
Java高级应用开发:基于AI的微服务架构优化与性能调优
在现代企业级应用开发中,微服务架构虽带来灵活性和可扩展性,但也增加了系统复杂性和性能瓶颈。本文探讨如何利用AI技术,特别是像DeepSeek这样的智能工具,优化Java微服务架构。AI通过智能分析系统运行数据,自动识别并解决性能瓶颈,优化服务拆分、通信方式及资源管理,实现高效性能调优,助力开发者设计更合理的微服务架构,迎接未来智能化开发的新时代。
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
878 36
微服务架构解析:跨越传统架构的技术革命
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
111 1
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
125 7
探索微服务架构下的API网关设计
在微服务的大潮中,API网关如同一座桥梁,连接着服务的提供者与消费者。本文将深入探讨API网关的核心功能、设计原则及实现策略,旨在为读者揭示如何构建一个高效、可靠的API网关。通过分析API网关在微服务架构中的作用和挑战,我们将了解到,一个优秀的API网关不仅要处理服务路由、负载均衡、认证授权等基础问题,还需考虑如何提升系统的可扩展性、安全性和可维护性。文章最后将提供实用的代码示例,帮助读者更好地理解和应用API网关的设计概念。
119 8
深入解析微服务架构中的服务发现与负载均衡
深入解析微服务架构中的服务发现与负载均衡
248 7
后端架构演进:从单体到微服务####
本文将探讨后端架构的演变过程,重点分析从传统的单体架构向现代微服务架构的转变。通过实际案例和理论解析,揭示这一转变背后的技术驱动力、挑战及最佳实践。文章还将讨论在采用微服务架构时需考虑的关键因素,包括服务划分、通信机制、数据管理以及部署策略,旨在为读者提供一个全面的架构转型视角。 ####
78 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等