[SpringCloud] SpringCloud Alibaba Seata maneja transacciones distribuidas

1. Problemas de transacciones distribuidas

 1.1 Antes distribuido

La biblioteca única independiente no tiene este problema

  • 从 1 : 1 -> 1: N -> N: N

1.2 Después de la distribución

La aplicación monolítica se divide en aplicaciones de microservicio, y los tres módulos originales se dividen en tres aplicaciones independientes, utilizando tres fuentes de datos independientes, y las operaciones comerciales necesitan llamar a tres servicios para completarse. En este momento, la coherencia de los datos internos de cada servicio está garantizada por las transacciones locales, pero no se puede garantizar el problema de la coherencia de los datos globales.

La lógica empresarial de la compra de bienes por parte del usuario. Toda la lógica empresarial es compatible con 3 microservicios:

  • Servicio de almacenaje : deduce la cantidad de almacenaje de un producto determinado.
  • Servicio de pedidos : cree pedidos en función de los requisitos de compra.
  • Servicio de cuenta : deducir el saldo de la cuenta del usuario.

Crear pedido -> deducir inventario -> deducir cantidad

En resumen, una operación comercial requiere llamadas remotas RPC a través de múltiples fuentes de datos o en múltiples sistemas, lo que provocará problemas de transacciones distribuidas.

2. Asiento

Seata es una solución de transacciones distribuidas de código abierto, dedicada a proporcionar servicios de transacciones distribuidas de alto rendimiento y fáciles de usar bajo la arquitectura de microservicios. Seata proporcionará a los usuarios modos de transacción AT, TCC, SAGA y XA para crear una solución distribuida única para los usuarios.

  • Dirección del documento oficial:

Supongo que te gusta

Origin blog.csdn.net/qq_41893274/article/details/113788608
Recomendado
Clasificación