微服务知识小结

1. SOA、分布式、微服务之间有什么关系和区别?

1.分布式架构指将单体架构中的各个部分拆分,然后部署到不同的机器或进程中去,SOA和微服务基本上都是分布式架构的

  1. SOA是一种面向服务的架构,系统的所有服务都注册在总线上,当调用服务时,从总线上查找服务信息,然后调用

3.微服务是一种更彻底的面向服务的架构,将系统中各个功能个体抽成一个个小的应用程序,基本保持一个应用对应的一个服务的架构

SpringCloudAlibaba架构

2.微服务间的通信方式

1.同步通信:微服务之间通过请求-响应的方式 进行通信,例如RESTful API和RPC 。通信过程中,请求方需要等待响应方的返回结果,因此可靠性较高,但可能会出现请求排队、线程阻塞等问题,从而影响系统的响应速度和并发性能。

2.异步通信:微服务之间通过消息队列 进行异步通信,例如Kafka和RabbitMQ 。通信过程中,发送方向消息队列发送消息,接收方从消息队列中消费消息,消息传输以异步的方式进行,不需要等待接收方的响应。由于解耦性高,消息队列还可以支持发布-订阅模式,消息得以广播到多个服务中,助于构建高可伸缩的系统。不过异步通信也可能导致延迟较高,以及可靠性和容错性较差等问题。

3.事件驱动架构(EDA):微服务之间通过发布-订阅模式进行通信,例如Apache Kafka和AWS SNS/SQS。通信过程中,发布者发布事件,订阅者订阅事件,事件传递以异步的方式进行。通过EDA,不同服务之间可以实现松耦合通信,提高系统的可伸缩性和弹性,但需要谨慎处理网络分区等极端情况,以避免出现一致性等问题。

3.微服务架构常用组件


Spring Cloud常用组件及其简要介绍:

Eureka:服务注册与发现组件,可以通过RESTFUL接口来实现服务注册与发现,并提供心跳检测机制来保证服务可用性。

Ribbon:客户端的负载均衡组件,可以集成到RestTemplate、Feign等HTTP客户端中使用。

Feign:基于Ribbon和Hystrix的声明式服务调用组件,可以让我们更方便地实现服务之间的调用。

Hystrix:熔断器组件,可以在服务出现故障或异常时进行自动熔断,避免服务雪崩问题。

Zuul:API网关组件,可以对外部请求进行统一的路由、过滤和转发。

Config:分布式配置中心组件,可以将应用程序的配置信息集中管理,并支持动态刷新配置。

Bus:消息总线组件,可以用于在分布式系统中传递事件消息,如配置更新事件、状态变更事件等。

Stream:数据流处理组件,可以帮助我们从消息中间件中读取、处理和发送消息。

Sleuth:分布式跟踪组件,可以追踪请求在微服务架构中的传递过程,帮助我们快速定位问题根源。

Zipkin:分布式跟踪系统,可以用于聚合、可视化和分析分布式系统中的调用链路信息。

以上是Spring Cloud的一些常用组件,每个组件都有其独特的特点和功能,可以根据具体业务场景选择使用。

Spring Cloud Alibaba常用组件及其简要介绍:

Nacos:服务注册与发现、配置管理、流量管理平台,可以替代Eureka、Config、Ribbon等组件。

Sentinel:流量控制、熔断降级、系统负载保护等组件,可以替代Hystrix。

Dubbo:高性能Java RPC框架,可以用于实现微服务之间的远程调用。

RocketMQ:分布式消息中间件,支持消息的广播、点对点传输、顺序传输等模式。

Seata:分布式事务解决方案,可以保证跨多个数据库或跨多个服务的操作的一致性和完整性。

Alibaba Cloud SDK:阿里云服务API的封装,包括云服务器、对象存储、关系型数据库等。

Alibaba Cloud OSS:阿里云对象存储服务,可以用于存储静态资源文件。

Alibaba Cloud RDS:阿里云关系型数据库服务,可以提供MySQL、SQL Server、PostgreSQL等数据库实例。

Alibaba Cloud ACM:阿里云配置管理服务,可以实现应用程序的动态配置。

以上是Spring Cloud Alibaba的一些常用组件,每个组件都有其独特的特点和功能,可以根据具体业务场景选择使用。同时,Spring Cloud Alibaba也与Spring Cloud组件进行了无缝集成,提供了更加完备的微服务解决方案。

相关推荐
Chasing__Dreams25 分钟前
大模型应用开发--6--Transformer架构介绍
深度学习·架构·transformer
cfm_29142 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构
迪康Defender2 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
Henry-SAP3 小时前
SAP S/4HANA引领物流ERP新生态
人工智能·云原生·sap·erp
这个DBA有点耶3 小时前
从DBA到数据架构师(五):数据架构演进中的技术债务管理
数据库·程序人生·云原生·架构·dba·数据库管理员
沪上企服通4 小时前
高端财税的技术切面:从“可审计级旧账重建“看企业税务合规中台的架构演进
架构
dogstarhuang5 小时前
大模型 API 停服怎么办:用 API 网关实现多模型统一接入与可切换架构
人工智能·后端·架构·大模型·api·数字化转型·ai应用
过江龙8476 小时前
Java架构师的AI转型之路(中):Agent与编排体系实战
架构
ziyun6668887 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
技术传感器7 小时前
让 Hermes 自动完成一个软件需求:从 Issue 到 PR 的 AI 开发流水线
人工智能·架构·aigc·需求分析·issue