Инструмент распределенных транзакций Alibaba Подготовка среды Seata

Spring Boot

Поскольку Alibaba и SpringCloud совместно инициировали создание сообщества с открытым исходным кодом для микросервисов, они предоставили экосистему для распределенных приложений (Dubbo,SpringCloud) структура транзакцииSeata, фреймворк был выпущен после нескольких основных версий и поддерживалMySQL,OracleЭти две транзакции базы данных откатываются (Rollback) и совершить (Commit) контроль, каждый выпуск будет исправлять некоторые отзывы пользователейIssueи добавление некоторых новых функций.

Установить сервер Seata

SeataСейчас я вgithubУправляемый открытый исходный код, исходный адрес:github.com/seata/seata

SeataДоступно с каждым выпускомServerВыполнять скрипты под разными системами можноLinux/Mac/WindowsВыполните скрипт непосредственно в системной среде для запуска.

Скачать сервер Seata

мы проходимgithubизreleasesЗагрузка интерфейсаseataпоследний релизserverСкомпилированная программа запуска, адрес загрузки:Загрузка последней версии Seata Server

Загрузите различные сжатые файлы в соответствии с операционной средой системы,Mac/Linuxнеобязательная загрузкаseata-server-xxx.tar.gz,Windowsнеобязательная загрузкаseata-server-xxx.zip.

Разархивируйте сервер Seata

существуетMac/LinuxВ системе мы используем следующую команду для распаковкиtar.gzСжатый файл:

~ tar -xvf seata-server-xxx.tar.gz
~ cd seata
~ ls
bin  conf  lib  LICENSE

После распаковки у нас получилось несколько папок.

  • bin

    хранилище для каждой системыseata serverсценарий запуска

  • conf

    существуетseata serverИнформация о конфигурации, необходимая при запуске, операторы построения таблиц, необходимые в режиме базы данных

  • lib

    бегатьseata serverСписок необходимых зависимостей

Настройка сервера Seata

seata serverВсе конфигурации вconfВнутри папки в этой папке есть два файла, которые мы должны подробно представить.

seata serverИспользовать по умолчаниюfile(файловый метод) для хранения事务日志,事务运行信息, мы можем пройти-m dbЗадается в виде параметров скрипта, на данный момент поддерживает толькоfile,dbоба способа.

  • file.conf

    Этот файл используется для настройки存储方式,透传事务信息的NIOи другую информацию, по умолчанию соответствуетregistry.confв файлеfileспособ настроить.

  • registry.conf

    seata serverОсновной файл конфигурации, который можно настроить через этот файл服务注册方式,配置读取方式.

    Метод регистрации в настоящее время поддерживает файл, nacos, eureka, redis, zk, consul, etcd3, диван и т. д. По умолчаниюfile, соответствующий чтениюfile.confинформация о том, как зарегистрироваться.

    Способ чтения информации о конфигурации поддерживает файл, nacos, apollo, zk, consul, etcd3 и т. д. По умолчаниюfile, соответствующий чтениюfile.confконфигурация в файле.

Запустите сервер Seata

запускатьseata serverСкрипт находится по адресуbinвнутри файла,Linux/Macиспользование окружающей средыseata-server.shскрипт запускается,Windowsиспользование окружающей средыseata-server.batСкрипт запускается.

Linux/MacПример того, как начать, показан ниже:

nohup sh seata-server.sh -p 8091 -h 127.0.0.1 -m file &> seata.log &

пройти черезnohupкоманда позволитьseata serverРаботает в фоновом режиме системы.

Параметры скрипта:

  • -p

    указанный запускseata serverНомер порта.

  • -h

    уточнитьseata serverграница主机, обратите внимание на конфигурацию здесьУказанный IP-адрес хоста должен соответствовать файлу конфигурации в бизнес-службе.,как:-h 192.168.1.10, который должен быть настроен в файле конфигурации бизнес-сервиса192.168.1.10Даже если он также непротиворечив на том же хосте.

  • -m

    Журнал транзакций, метод хранения информации о выполнении транзакций, поддерживается в настоящее времяfile(файловый метод),db(Метод базы данных, см. заявление о создании таблицыconfig/db_store.sql,config/db_undo_log.sql)

Посмотреть журнал запуска

После выполнения сценария запуска, чтобы проверить журнал, чтобы убедиться, что запуск был успешным, используйте следующую команду:

~ tail -1000f seata.log
.....
2019-10-10 14:33:51.340 INFO [main]io.seata.core.rpc.netty.AbstractRpcRemotingServer.start:156 -Server started ... 

Когда мы видим-Server startedдругих сообщений об ошибках не обнаружено, нашseata serverОн успешно запущен.