1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/battcn-destination

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
readMe.md 2.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 13:45 f6b6f04

Цель: решение demo для распределённых транзакций (надёжная служба сообщений TCC).

Используемые технологии: Spring Boot, Spring Mybais, Dubbo, ActiveMQ, Redis, открытый проект TCC, ZooKeeper.

Основные модули:

  • accounting — учёт;
  • message — сообщения;
  • user account — пользовательский аккаунт;
  • order модуль зависит от других модулей и сам является провайдером.

Процесс:

  1. Генерация заказа → оплата заказа (отправка запроса в банк, ожидание обратного вызова от банка).
  2. Обратный вызов от банка (отправление MQ ODER_NOTIFY в модуль common-mq-app).
  3. Вызов orderServiceRPC (завершение оплаты заказа, передача суммы продавцу).

Ключевая часть: вызов orderServiceRPC. Используется надёжное сообщение для создания учётных записей (предварительное сохранение preSave, подтверждение сохранения confirm, механизм восстановления с помощью таймера). Используется TCC (try, confirm, cancel) для обработки состояния оплаты заказа и итоговой согласованности остатка продавца. Common-mq-app — это обработчик MQ, который также отвечает за надёжные задачи по расписанию. Springboot-app — веб-интерфейс, где тестовый код MainClass является точкой входа. Common-config — общая конфигурация, которую нужно настроить самостоятельно (resources_comp, resources_home — многопользовательская конфигурация, по умолчанию используется resources_home). Log4j по умолчанию отправляет данные в logback, можно настроить иначе.

В верхнем pom.xml определена собственная приватная библиотека. Необходимо изменить или удалить её. В каталоге alib_youNeed находятся jar-файлы, которые могут быть недоступны. Можно настроить их локальное использование.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/battcn-destination.git
git@api.gitlife.ru:oschina-mirror/battcn-destination.git
oschina-mirror
battcn-destination
battcn-destination
master