Spring Cloud学习(1)

本文探讨了从集中式架构到微服务架构的演变过程,重点介绍了SpringCloud如何助力解决高耦合、低效率等问题,强调了微服务的单一职责、自治和独立开发特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

        在项目开发中随着业务越来越多,导致功能之间耦合性高、开发效率低、系统运行缓慢难以维护、不稳定。微服务架构可以解决这些问题,而 Spring Cloud 是微服务架构最流行的实现。

架构演变

1、集中式架构

        优点:

                系统开发速度快

                维护成本低

                适用于并发要求较低的系统

        缺点:

                代码耦合度高,后期维护困难

                无法针对不同模块进行优化

                无法水平扩展

                单点容错率低,并发能力差

2、垂直拆分

        优点:

                系统拆分实现了流量分担,解决了并发问题

                可以针对不同模块进行优化

                方便水平扩展,负载均衡,容错率提高

        缺点:

                系统间相互独立,会有很多重复开发工作,影响开发效率

3、分布式服务

        优点:

                将基础服务进行了抽取,系统间相互调用,提高了代码复用和开发效率

        缺点:

                系统间耦合度变高,调用关系错综复杂,难以维护

4、服务治理 (SOA, Service Oriented Architecture)

        它是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在于操作系统进程中。各个服务之间通过网络调用。

        缺点:

        每个供应商提供的ESB产品有偏差,自身实现较为复杂;应用服务粒度较大,ESB集成整合所有服务和协议、数据转换使得运维、测试部署困难。所有服务都通过一个通路通信,直接降低了通信速度。

5、微服务

        微服务架构是使用一套小服务来开发单个应用的方式或途径,每个服务基于单一业务能力构建,运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,并能够通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。

        特点:

        单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责

        面向服务:是说每个服务都要对外暴露服务接口API。并不关心服务的技术实现,做到与平台和语言无关,也不限定用什么技术实现,只要提供REST的接口即可。

        自治:自治是说服务间互相独立,互不干扰

  • 团队独立:每个服务都是一个独立的开发团队
  • 技术独立:因为是面向服务,提供REST接口,使用什么技术没有别人干涉
  • 前后端分离:采用前后端分离开发,提供统一REST接口,后端不用再为PC、移动段开发不同接口
  • 数据库分离:每个服务都使用自己的数据源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值