Сервис для учета жителей и их имущества.
Технологии: java 17, микросервисная архитектура, SpringBoot 2.7.8, Data JPA, Liquibase, Oauth2, Kafka
интересные функции и решения:
распределенная транзакция удаления жителя из базы, с последующим soft удалением имущества и документов
добавление новых жителей каждые 10 секунд планировщиком задач, запись количества жителей в сервис логирования (OC-service).
Перед добавлением новых жителей количество сверяется с количеством в сервисе логирования.
Розыгрыш лотереи в сервисе машины каждые 15 секунд среди жителей.
Если победитель не работает на заводе, прокси AOP подменяет победителя на случайного работника завода