Api-service » History » Version 5
Dmitry Vasilev, 11/28/2025 01:56 PM
| 1 | 5 | Dmitry Vasilev | # Описание микросервисов и работы системы |
|---|---|---|---|
| 2 | 1 | Dmitry Vasilev | |
| 3 | 4 | Dmitry Vasilev | ## Список основных задействованых микросервисов |
| 4 | |||
| 5 | 2 | Dmitry Vasilev | ### API микросервисы |
| 6 | |||
| 7 | **1. Основной API Fluir:** https://api.fluir.us/docs.html |
||
| 8 | |||
| 9 | Включает в себя разделы: |
||
| 10 | - Articles - работает |
||
| 11 | - Authentication - работает |
||
| 12 | - Admin - работает |
||
| 13 | - Profile - работает |
||
| 14 | - Services - (Internal service auth using service id and secret) требует проверки, возможно доработки |
||
| 15 | - Supports - требует проверки, возможно доработки |
||
| 16 | - Delivery - требует проверки, возможно доработки |
||
| 17 | - Orders - работает |
||
| 18 | - Tariffs - работает |
||
| 19 | - Location - работает |
||
| 20 | - Chats - работает |
||
| 21 | - Images - работает |
||
| 22 | - Taxi - работает |
||
| 23 | - Requests - работает (относится к ордерам) |
||
| 24 | - Other - требует проверки, возможно доработки (относится к ордерам) |
||
| 25 | - Places - требует проверки, возможно доработки |
||
| 26 | - Reviews - работает |
||
| 27 | - Tickets - работает |
||
| 28 | - Users - работает |
||
| 29 | - Roles - работает |
||
| 30 | - Status - работает |
||
| 31 | |||
| 32 | --- |
||
| 33 | 1 | Dmitry Vasilev | |
| 34 | 4 | Dmitry Vasilev | **2. KYC API Fluir** https://kyc.fluir.us/docs.html |
| 35 | 2 | Dmitry Vasilev | |
| 36 | Включает в себя разделы: |
||
| 37 | - Applicants - работает |
||
| 38 | - Vehicles - работает |
||
| 39 | - Callbacks - работает |
||
| 40 | - KYC (Get verification URLs for applicant) - работает |
||
| 41 | |||
| 42 | 1 | Dmitry Vasilev | --- |
| 43 | 2 | Dmitry Vasilev | |
| 44 | 4 | Dmitry Vasilev | **3. Payments API Fluir** https://payments.fluir.us/docs.html |
| 45 | 2 | Dmitry Vasilev | |
| 46 | Включает в себя разделы: |
||
| 47 | - Accounts - работает |
||
| 48 | - Customers - работает |
||
| 49 | - Onboarding - работает |
||
| 50 | - Verification - работает |
||
| 51 | - Balances - работает |
||
| 52 | - PaymentMethods - работает |
||
| 53 | - SetupIntents - работает |
||
| 54 | - Payments - работает |
||
| 55 | - PaymentIntents - работает |
||
| 56 | - Payouts - работает |
||
| 57 | - Refunds - работает |
||
| 58 | - Transactions - работает |
||
| 59 | - Webview - работает |
||
| 60 | 1 | Dmitry Vasilev | |
| 61 | 3 | Dmitry Vasilev | --- |
| 62 | 2 | Dmitry Vasilev | |
| 63 | 4 | Dmitry Vasilev | **5. Contents API Fluir** https://contents.fluir.us/docs.html |
| 64 | 2 | Dmitry Vasilev | |
| 65 | Для всех разделов этого микросервсиа: для проксирования эендпойнтов через общий api, необходимо имзенить роуты к ендпойнтам. |
||
| 66 | |||
| 67 | Включает в себя разделы: |
||
| 68 | - Articles - некоторые эндпойнты требуют исправления |
||
| 69 | - FAQ - не проверены. |
||
| 70 | - PhoneSupport - не проверены. |
||
| 71 | 1 | Dmitry Vasilev | - Tickets - не проверены. |
| 72 | 3 | Dmitry Vasilev | |
| 73 | --- |
||
| 74 | 2 | Dmitry Vasilev | |
| 75 | 4 | Dmitry Vasilev | **6. Notification API Fluir** https://notifications.fluir.us/docs.html |
| 76 | 2 | Dmitry Vasilev | |
| 77 | Включает в себя разделы: |
||
| 78 | 1 | Dmitry Vasilev | - Categories - работает |
| 79 | - Notifications - работает |
||
| 80 | - Subscriptions - работает |
||
| 81 | - PushTokens - работает |
||
| 82 | 4 | Dmitry Vasilev | |
| 83 | ## Список дополнительных микросервисов |
||
| 84 | |||
| 85 | Дополнительные микросервисы разрабатывались для того, чтобы "разгрузить" основной сервис. |
||
| 86 | Но в данный момент они имплементированы в сервис основной сервис "api". |
||
| 87 | В перспективе они должны работать самостоятельно и реализовывать соответсвующую функциональность. |
||
| 88 | |||
| 89 | **1. Orders API Fluir** https://orders.fluir.us/docs.html |
||
| 90 | |||
| 91 | **2. Profiles API Fluir** https://profiles.fluir.us/docs.html |
||
| 92 | |||
| 93 | **3. Profiles API Fluir** https://chats.fluir.us/docs.html |
||
| 94 | |||
| 95 | --- |
||
| 96 | |||
| 97 | ### Веб микросервисы |
||
| 98 | |||
| 99 | **1. Админ панель системы** https://admin.fluir.us/ (Доступы по запросу) |
||
| 100 | |||
| 101 | **2. Redmine** https://admin.fluir.us/ Пока используем только для Wiki документации |
||
| 102 | |||
| 103 | **3. Вебвью** https://webview.fluir.us/ Предполагался для различных вебью, пока не используется. |
||
| 104 | |||
| 105 | **4. Мониторинг сети и докер контенйеров** https://traefik.fluir.us/dashboard/ (Доступы по запросу) |
||
| 106 | |||
| 107 | --- |
||
| 108 | |||
| 109 | ## Краткое описание инфраструктуры |
||
| 110 | |||
| 111 | ### Краткое описание сервисов |
||
| 112 | |||
| 113 | Проект находится в папке _"/home/fluir/project"_ |
||
| 114 | |||
| 115 | Система собрана через docker + swarm. От kubernetes было принято решение отказаться, ввиду его долгой настройки. |
||
| 116 | В дальнейшем возможен переход на Kubernetes. |
||
| 117 | **Но внимание: нужно учесть, что часть кода обращается к другим микросервисам через внутреннюю сеть docker** "fluir_payments_nginx" http://fluir_payments_nginx/api/payments/internal/ |
||
| 118 | |||
| 119 | В каждой папке микросервиса есть файл для запуска либо в локальной, либо в прод. среде. Например "api-stack.prod.yaml". |
||
| 120 | Внутри главного "api-stack.prod.yaml" сразу же интегрирован Traefik. Т.е. для корректной работы остальных сервисов, главный должен быть обязательно запущен. |
||
| 121 | |||
| 122 | Для быстрого запуска и останова сервисов, в корне проекта есть _"start_services.sh"_ и _"stop_services.sh"_ |
||
| 123 | |||
| 124 | --- |
||
| 125 | |||
| 126 | ### Бэкапы |
||
| 127 | |||
| 128 | 1. Скрипты запуска бэкапов располагаются в папке /opt/scripts |
||
| 129 | |||
| 130 | - api_backup.sh |
||
| 131 | - kyc_backup.sh |
||
| 132 | - notifications_backup.sh |
||
| 133 | - orders_backup.sh |
||
| 134 | - payments_backup.sh |
||
| 135 | - telescope_prune.sh |
||
| 136 | |||
| 137 | 2. Конфиги и БД сохраняются в папку /opt/backups/ |
||
| 138 | |||
| 139 | 3. Список задач cron |
||
| 140 | |||
| 141 | ```shell |
||
| 142 | sudo crontab -l |
||
| 143 | |||
| 144 | 0 2 * * * /opt/scripts/telescope_prune.sh >> /opt/backups/telescope_prune.log 2>&1 |
||
| 145 | 15 3 * * * /opt/scripts/api_backup.sh >> /opt/backups/api/backup.log 2>&1 |
||
| 146 | 30 3 * * * /opt/scripts/kyc_backup.sh >> /opt/backups/kyc/backup.log 2>&1 |
||
| 147 | 45 3 * * * /opt/scripts/notifications_backup.sh >> /opt/backups/notifications/backup.log 2>&1 |
||
| 148 | 0 4 * * * /opt/scripts/orders_backup.sh >> /opt/backups/orders/backup.log 2>&1 |
||
| 149 | 15 4 * * * /opt/scripts/payments_backup.sh >> /opt/backups/payments/backup.log 2>&1 |
||
| 150 | |||
| 151 | ``` |