Download e instalação do Seata

Seata é uma solução de transações distribuídas de código aberto dedicada a fornecer serviços de transações distribuídas de alto desempenho e fáceis de usar. A Seata fornecerá aos usuários os modos de transação AT, TCC, SAGA e XA, criando uma solução distribuída completa para os usuários.

Imprimir

insira a descrição da imagem aqui

Baixar Seata

Baixe a versão correspondente do Seata de acordo com as instruções da versão do springcloud alibaba, caso contrário, vários problemas de incompatibilidade de versão podem ocorrer.
Endereço de download: https://github.com/seata/seata/releases

Instalar Seata

Endereço de download do pacote de recursos: https://github.com/seata/seata/tree/develop/script
As etapas a seguir seguem o armazenamento de banco de dados como exemplo.

  • Descompacte o pacote de instalação do Seata
  • Se você usa armazenamento de banco de dados, precisa criar tabelas no banco de dados. (Execute o script do arquivo sql -> server -> db -> mysql.sql no pacote de recursos)
    Crie três tabelas após a execução
  • Abra o arquivo de configuração (seata -> conf -> arquivo.conf)
  • Modifique store.mode="db"
  • Modifique a url de configuração de conexão do banco de dados, nome de usuário e senha
    insira a descrição da imagem aqui
    para completar a configuração básica do Seata. Execute seata/bin/seata-server.bat para iniciar o Seata, e a configuração local é usada por padrão.

Seata configura centro de configuração e centro de registro Nacos

  • Abra o arquivo de configuração (seata -> conf -> registry.conf)
  • Modificar registry.type="nacos"
  • Modificar a configuração de conexão do registro nacos
    insira a descrição da imagem aqui
  • Modifique config.type="nacos"
  • Modifique a configuração de conexão nacos do centro de configuração
    insira a descrição da imagem aqui
  • Coloque o script do pacote de recursos no diretório de instalação do seata
  • Abra o arquivo de configuração (seata -> script -> config-center -> config.txt)
  • Modifique store.mode="db"
  • Modificar url de configuração de conexão de banco de dados, nome de usuário, senha
    insira a descrição da imagem aqui
  • Execute o script para sincronizar a coordenação com nacos
  • Execute o comando no diretório (seata -> script -> config-center -> nacos)
# 如果nacos不在本地,可以通过参数指定nacos服务的IP、端口、groupId、命名空间
liunx: ./nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 命名空间
# python脚本中分组是固定写死的,自定义需要修改脚本
python: nacos-config.py localhost:8848 命名空间

Execute seata/bin/seata-server.bat para iniciar o Seata novamente, que é a configuração em nacos.

Parâmetros de inicialização do Seata no liunx

./seata-server.sh -p 8092 -n 1
-h: 注册到注册中心的ip
-p: Server rpc 监听端口
-m: 全局事务会话信息存储模式,file、db、redis,优先读取启动参数 (Seata-Server 1.3及以上版本支持redis)
-n: Server node,多个Server时,需区分各自节点,用于生成不同区间的transactionId,以免冲突
-e: 多环境配置参考 http://seata.io/en-us/docs/ops/multi-configuration-isolation.html

Configuração detalhada do parâmetro Seata: https://seata.io/zh-cn/docs/user/configurations.html

Springcloud integra cliente Seata

  • Adicionar dependência do Maven
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>
  • Adicionar configuração de application.yml
seata:
  # 事务分组 config.txt中的service.vgroupMapping.my_test_tx_group
  tx-service-group: my_test_tx_group

  # seata注册中心配置 参考 seata安装目录 -> conf -> registry.conf
  registry:
    type: nacos
    nacos:
      application: seata-server # seata服务名
      server-addr: localhost:8848 # nacos服务地址
      group: SEATA_GROUP # nacos分组 默认为:SEATA_GROUP
      namespace: public # nacos命名空间
      cluster: default # 集群名称 需要与config.txt中的service.vgroupMapping.my_test_tx_group的配置一致
      username: nacos # nacos用户名
      password: nacos # nacos密码

  # seata配置中心配置 参考 seata安装目录 -> conf -> registry.conf
  config:
    type: nacos
    nacos:
      server-addr: localhost:8848 # nacos服务地址
      group: SEATA_GROUP # nacos分组
      namespace: public # nacos命名空间
      username: nacos # nacos用户名
      password: nacos# nacos密码
  • Depois que o conteúdo acima for adicionado, você poderá usar a anotação @GlobalTransactional para lidar com transações distribuídas.

Acho que você gosta

Origin blog.csdn.net/weixin_42270645/article/details/123416135
Recomendado
Clasificación