Spring Cloud-Seata处理分布式事务问题

什么是分布式事务问题

在微服务架构中由于全局数据一致性没法保证产生的问题就是分布式事务问题。简单来说,一次业务操作需要操作多个数据源或需要进行远程调用,就会产生分布式事务问题。

Seata简介

Seata是Alibaba开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,本文将通过一个简单的下单业务场景来对其用法进行详细介绍。

Seata详细介绍参见以下地址:
https://whwtree.com/archives/seata-introduce.html

Spring Cloud-Nacos实现注册和配置中心

Nacos简介

Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案,Nacos作为其核心组件之一,可以作为注册中心和配置中心使用,本文将对其用法进行详细介绍。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos具有如下特性:

  • 服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;
  • 动态配置服务:动态配置服务可以放您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置;
  • 动态DNS服务:动态DNS服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务;
  • 服务及其元数据管理:支持从微服务平台建设的视角管理数据中心的所有服务及元数据。

Spring Cloud-Sentinel实现服务限流、熔断与降级

Sentinel简介

Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案,Sentinel作为其核心组件之一,具有熔断与限流等一些列服务保护功能,本文将对其用法进行消息介绍。

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

Sentinel具有如下特性:

  • 丰富的应用场景:承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀,可以实时熔断下游不可用应用;
  • 完备的实时监控:同时提供实时的监控功能。可以在控制台看到接入应用的单台机器秒级数据,甚至500台以下规模的集群的汇总运行情况;
  • 广泛的开源生态:提供开箱即用的与其它开源框架/库的整合模块,例如与Spring Cloud、Dubbo、gRPC的整合;
  • 完善的SPI扩展点:提供简单易用、完善的SPI扩展点。您可以通过实现扩展点,快速的定制逻辑。

Spring Cloud-Admin服务监控中心

简介

Spring Boot Admin可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。

SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标开监控SpringBoot应用,然后通过图形化界面呈现出来。Spring Boot Admin不进可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。

Spring Boot Admin可以提供应用的以下监控信息:

  • 监控应用运行过程中的概览信息;
  • 度量指标信息,比如JVM、Tomcat及进程信息;
  • 环境变量信息,比如系统属性、系统环境变量以及应用配置信息;
  • 查看所有创建的Bean信息;
  • 查看应用中的所有配置信息;
  • 查看JVM信息;
  • 查看可以访问的Web端点;
  • 查看HTTP跟踪信息;

Spring Cloud-Gateway服务网关

简介

Spring Cloud Gateway 为SpringBoot应用提供了API网关支持,具有强大的智能路由与过滤器功能,本文将对其用法进行详细介绍。

Gateway旨在提供一种简单而有效的方式对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等。

Spring Cloud Gateway具有如下特性:

  • 基于Spring Framework 5,Project Reactor和Spring Boot2.0进行构建;
  • 动态路由:能够匹配任何请求属性;
  • 可以对路由指定Predicate(断言)和Filter(过滤器);
  • 集成Hystrix的断路器功能;
  • 集成Spring Cloud服务发现功能;
  • 易于编写的Predicate(断言)和Filter(过滤器);
  • 请求限流功能;
  • 支持路径重写;