SpringCloud微服架构

article/2025/10/4 19:36:36

微服务架构

1)单体应用架构

高效开发:项目前期开发节奏快,团队成员少的时候能够快替代
架构简单:mvc架构,只需要借助Ide开发,调试即可
易于测试:只要通过单元测试或者浏览器完成
易于部署:打包成单一可执行的jar或者war包放到容器中就可以

单体应用架构的应用比较容易部署,测试,在项目的初期,单体应用可以很好的运行,然而睡着需求的不断增加,越来越多的人加入开发团队,代码库也在飞速的膨胀。慢慢的,单体应用架构变得越来越臃肿,可维护性,灵活性逐渐降低,维护成本越来越高,。

缺点:
可靠性差:以一个百万行级别的应用为例,整个项目的包含木块特别多,模块的边界模糊,依赖关系不明确,代码质量参差不齐,混乱的堆砌在一起, 使得整个项目木看上去非常复杂。
扩展能力受限:单体应用只能作为一个整体进行扩展,无法根据业务模块进行伸缩,例如,应用中有的模块是计算机密集型的,需要强劲的CPu,有的模块则是IO密集型的,需要跟大的内存,由于这些模块部署在一起,不得不咋硬件的选择上做出妥协。
在这里插入图片描述

2)垂直应用架构

为了避免上面提到的哪些问题,开始做模块的划分,做垂直划分的原则是基于现有的业务来做,核心目标第一个是为了业务之间不互相影响,第二个是在研发团队的壮大后为了提高开发效率,减少组件之间的依赖。
优点:
系统拆分实现了流量分担,解决了并发问题
可以针对不同模块进行优化
方便水平扩展,负载均衡,容错率提高
系统之间相互独立,互不影响,新的业务迭代更加高效
缺点:服务之间相互调用,如果某个服务的端口或者IP地址发生变化,调用的系统得手动改变
搭建集群之后,实现负载均衡比较复杂,如:内网负载,在迁移机器时会影响调用路由,导致线上故障
服务之间的调用方式不一致,基于httpclient,webservice,接口协议不统一
服务监控不到位:除了依靠端口,进程的监控,调用的成功率,失败率,总耗时等这些监控指标是没有的

3)SOA应用架构

在做了垂直划分之后,模块随之增多,维护的成本也在变高,一些通用的业务和模块重复的越来越多,为了解决上面的接口协议不统一,服务无法监控,服务的负载均衡,引入了阿里的开源DUBBO。一款高性能 轻量级的开源JAVA RPC框架,可以和SPRING框架无缝集成。它提供了三大核心能力:
面向接口的远程方法调用,智能容错和负载均衡,以及服务的自动注册和发现
SOA,即面向服务的架构,根据实际业务,把系统拆分成适合的,独立部署的模块,模块之间相互独立
通过Web’Service/Dubbo等技术进行通信。
优点:分布式,松耦合,扩展灵活,可重用。
缺点:服务抽取力度较大,服务调用和提供方耦合度较大(接口耦合度)

在这里插入图片描述

4)微服务架构

微服务架构可以说是SOA架构的一种拓展,这种架构模式下拆分力度更小,服务更独立。服务更独立。把应用拆分成为一个个微小的服务,不同的服务可以使用不同的开发语言和存储,服务之间往往通过Restful等轻量级通信。微服务架构关键在于微小、独立、轻量级通信。
微服务是在 SOA 上做的升华粒度更加细致,微服务架构强调的⼀个重点是业务需要彻底的组件化和服务化

微服务架构的核心概念

服务的注册和发现

服务注册:服务提供者将所提供服务的信息服务器的端口,服务协议注册登记到注册中心
服务发现:服务消费者从注册中心获取到就较为实时的服务列表,然后根据一定的研究策略选择一个服务访问
在这里插入图片描述

负载均衡

负载聚均衡即将请求压力分配到多个服务器(应用服务器,数据库服务器等),以此来提高服务器的性能,可靠性。

在这里插入图片描述

熔断

熔断即断路保护,微服务架构中,如果下游服务因为访问压力过大而响应变慢或者失败,上有服务为了保护系统的整体可用性,可以暂时切断对下游服务的访问,这种牺牲局部,保全整体的措施就叫做熔断

链路追踪

微服务架构越发流行,一个项目拆分成很多各业务,那么以此请求就需啊哟设计到很多各业务,不同的微服务可能是由不同的团队开发,可能使用不同的编程语言实现,整个项目也有可能在很多个服务器上部署 在了很多个不同的数据中心,所谓链路追踪,就是对一个请求涉及到的多个微服务架构进行日志记录,性能监控。
在这里插入图片描述

API网关

微服务架构下,不同的微服务往往会有不同的访问地址,客户端可能需要调用多个服务的接口才能实现一个业务需求,如果让客户端会直接与各个微服务通信可能出现:
1)客户端需要调用不同的url地址,增加了维护调用难度
2)在一定的场景下,也存在跨域请求的问题(前后端分离就会碰到跨域问题,原本我们在后端采
用Cors就能解决,现在利用网关,那么就放在网关这层做好了)
3)每个微服务都需要进行单独的身份认证
那么,API网关就可以较好的统一处理上述问题,API请求调用统一接入API网关层,由网关转发请
求。API网关更专注在安全、路由、流量等问题的处理上(微服务团队专注于处理业务逻辑即可),它的
功能比如
1)统一接入(路由)
2)安全防护(统一鉴权,负责网关访问身份认证验证,与“访问认证中心”通信,实际认证业务逻辑
交移“访问认证中心”处理)
3)黑白名单(实现通过IP地址控制禁止访问网关功能,控制访问)
3)协议适配(实现通信协议校验、适配转换的功能)
4)流量管控(限流)
5)长短链接支持
6)容错能力(负载均衡)
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ytPRxZlR.shtml

相关文章

微服架构

首先我们看看为什么要考虑使用微服务。 开发单体式应用 假设你正准备开发一款与Uber和Hailo竞争的出租车调度软件,经过初步会议和需求分析,你可能会手动或者使用基于Rails、Spring Boot、Play或者Maven的生成器开始这个新项目,它的六边形架构…

微服架构基础设施环境平台搭建 -(一)基础环境准备

微服架构基础设施环境平台搭建 -(一)基础环境准备 通过采用微服相关架构构建一套以KubernetesDocker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动构建、编译、测试、发布的自动…

微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台

微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台 通过采用微服相关架构构建一套以KubernetesDocker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动…

微服架构简介

什么是微服务? 专业解释: 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的…

微服架构基础设施环境平台搭建 -(五)Docker常用命令

微服架构基础设施环境平台搭建 -(五)Docker常用命令 本文主要列出了Docker常用的命令 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -(一)基础环境准备 微服架构基础设施环境平台搭建 -(二&am…

微服务简介

文章目录 微服务(micro services)简介一 什么是微服务?二 微服务这个概念的由来三 微服务和单体式架构区别3.1 单体式架构缺点3.2 微服务架构的解决方案3.3 微服务缺点3.4 微服务优点3.5 单体式和微服务对比 微服务(micro service…

微服务什么是以及微服务框架

微服务(microservice) 微服务是分布式架构的一种,分布式架构其实就是要把服务做一个拆分,而springcloud只是解决了拆分过程中的服务治理问题。 在单体架构中,我们把所有的服务都写在一起,随着业务的复杂代…

微服篇01——微服务的发展

01——微服务的发展 1:Monolith(整体架构) 服务所对应的代码由多个项目所组成,最终合并在一起形成一个WAR包,再部署到Web容器。 负载与扩容: 2:微服务(Microservice)架构模式 Microservic…

配置不同网段的dhcp服务器

dhcp中继设置 试题4:DHCP实验 背景: 某公司新建了局域网,要求网内地址采用DHCP分配,DHCP服务器地址为172.16.1.5/24,请建立172.16.1.128/25的域为局域网用户分配置IP地址,域中DNS地址为:202.97.…

Linux服务器配置(详细版)

本来就很麻烦,如果错了一个很有可能从新再来,非常麻烦所以要细心 请省略这段部分 --------------------------------------------------------------------------------------------------------------------------------------------- Linux命令 1.进…

银河麒麟服务器修改ip,银河麒麟配置DNS服务器

银河麒麟配置DNS服务器 内容精选 换一换 MindInsight为MindSpore提供了简单易用的调优调试能力。在训练过程中,可以将标量、张量、图像、计算图、模型超参、训练耗时等数据记录到文件中,通过MindInsight可视化页面进行查看及分析。MindInsight组件为MindStudio的独立组件,请…

查看服务器sftp用户信息,linux查看sftp服务器配置

linux查看sftp服务器配置 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性。本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远程备份至FTP/SFTP服务器。开启远程备份后,系统默认在每天零点备份前一天的系…

访问量100万的网站服务器,100万访问量 服务器配置

100万访问量 服务器配置 内容精选 换一换 弹性负载均衡有不同的负载均衡,分别是共享型负载均衡和独享型负载均衡,便于用户根据不同的应用场景和功能需求选择合适的负载均衡器类型。共享型负载均衡:适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活…

思科模拟器企业网站服务器配置,cisco模拟器配置域名web服务器

cisco模拟器配置域名web服务器 内容精选 换一换 防护域名开启WEB基础防护之后,访问网站如果出现500,502,504等报错,并且显示Web应用防火墙和网站连接失败,如图1所示。可能的原因比较多,如防火墙拦截、源站配置错误、HTTPS/WebSockets采用不安全的协议版本、后端服务器性能…

hpe服务器稳定性,hpe服务器安装与配置

hpe服务器安装与配置 内容精选 换一换 Ceph集群可采用TaiShan服务器和x86服务器混合部署的方式和全TaiShan服务器的非混合部署方式。在混合部署场景下,三个Ceph节点中,两台为TaiShan 200服务器(型号2280),一台为Fusion Server服务器(型号2288…

曙光服务器Raid配置

前言 这几天一直在某单位做信息化项目,这几天接触的国产化服务器,当然服务器型号是定制的,官网是没有这个型号的,并且系统也是国产化的。下面附上几幅工作照片! 一、曙光服务器Raid配置说明 1.1、Raid配置途径 适用…

家用 NAS 服务器(1)| 配置选择及准备

家用 NAS 服务器(1)| 事前准备及配置选择 原文地址:CSDN 博文 后文链接:家用 NAS 服务器(2)| Hyper-V的Winserver 2022和Ubuntu 22.04双系统 文章目录 家用 NAS 服务器(1)| 事前准…

ensp服务器配置文件,ensp中服务器的基本配置

ensp中服务器的基本配置 内容精选 换一换 用户云服务器基本网络功能异常,无法完成基本通信。从弹性云服务器内部ping所在子网的网关,无法ping通,则需首先排查二三层网络问题。本问题请按照以下思路进行排查处理。检查弹性云服务器是否获取到IP:检查弹性云服务器是否获取到I…

家用服务器配置清单,供君参考

从零玩转服务器,小白搞机,走起! 硬件选择 1、CPU。做服务器用的话,肯定intel家的,如果想作为家用服务器,既当普通电脑,又当服务器,那不仅核心要多,主频还要高。这样的C…

1000并发的系统服务器配置,1000人并发服务器配置

1000人并发服务器配置 内容精选 换一换 多个用户同时通过ssh登录堡垒机管理下的任一服务器时,允许登录的帐号数有上限,当登录的帐号数超出上限值时,必须退出一个帐号才能再登录一个账号。该问题是由于并发数限制导致的。云堡垒机支持100、200、500、1000、2000、5000资产规格…