/config-proc

репа с настройками

компоненты системы

Список

  • kafka - сервис доставки сообщений
  • zookepeer - кластер хранения настроек используется kafka как бд
  • mongo - бд используется для хранения логов
  • postgres - бд
  • nginx - вэб сервер
  • configservice - сервис выдачи конфигурации
  • servicerregistry - сервис дискавери
  • serviceadmin - сервис для отображения и администрирования сервисами на актуатурах
  • ribapi - входящей api по протоколу rib
  • jsonapi - сервис используется для личного кабинета
  • backServer - сервис обработки платежа
  • gatewayabs - сохраняет в бд абс проводки

kafka и zookeeper

Kafka cервис для асинхроной доставки сообщения, zookeeper используется для хранения, оба сервиса работают в режиме кластера, кафка и zookeeper имеет id машин настройки кафки прописаны в файле /opt/kafka/kafka/config/real-server.properties важные настройки

 broker.id=3
listeners=PLAINTEXT://testdb:9092
#Здесь должн имя ноды на которой запускается кафка
log.dirs=/opt/kafka/data
zookeeper.connection.timeout.ms=6000

Настройки zookeeper /opt/zookeeper/zookeeper/conf/zoo.cfg

dataDir=/opt/zookeeper/data
# The port at which the clients will connect
clientPort=2181

server.3=10.10.33.3:2888:3888
server.2=10.10.33.5:2888:3888
server.1=10.10.33.7:2888:3888
# здесь номер должен точно совпадать с номером прописанным  в файле
#/opt/zookeeper/data/myid

  • порты подключения: 2181, 9092
  • порты работы: 2888,3888
  • протокол: tcp

mongo

используется для хранения логов не должны иметь аутификацию, сейчас на тестовом сервере запущена в контейнере с ограничением ресурсов

  • порты подключения: 27017
  • протокол: tcp

postgres

основна бд используется для хранения бизнес информации

на тестовом сервере установлена в папке /opt/dbase/pgsql/12/data

конфигурация pg_hba.conf настройки доступа

local   all             all                                     peer
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5
host    all             all             0.0.0.0/0               md5
host    all             all             192.168.18.0/24         md5

конфигурация postgresql.conf измененные параметры

listen_addresses = '*'
max_connections = 300
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all

Добавить расширения

yum install postgresql12-contrib

  • порты подключения: 5432
  • протокол: tcp

nginx

вэб сервер занимается балансировкой нагрузки, аутификаций, и отдает статику

//todo добавить настройки сюда

configservice

сервис берет конфигурацию с открытого хранилища и отдает расшифрованные конфиги

подробней можно прочитать

исходный код

jar файл

конфигурация

  • порты подключения: 8888
  • протокол: http

servicerregistry

сервис регистрации сервисов, каждый сервис при запуске региструется в нем, он содержит полный список запученных сервисов

подробней можно прочитать

исходники

jar файл

  • порты подключения: 8761
  • протокол: http

serviceadmin

сервис админка по настройкам и т.д.

боевой контур

тестовый контур

подробней можно прочитать

исходники

Jar файл

  • порты подключения: 9999
  • протокол: http

ribapi

реализует протокол РИБ для платежей агрегаторами

Jar файл

  • порты подключения: 8081
  • протокол: http

jsonapi

сервис отдает сущьности бд в формате jsonapi используя компонент crnk

Jar файл

  • порты подключения: 8082
  • протокол: http

backServer

сервис обрабатывает платеж и вызывает скрипты для отправки в шлюз

Jar файл

исходники

  • порты подключения: 8083
  • протокол: http

gatewayyabs

Сохраняет данные в БД абс, получаем параметры для сохранения по rest

исходниики

  • порт: в заависимости от стенда
  • протокол: http

диаграмма развертываения

диаграмма развертывания

взаимодействие платежа

Взаимодействие