В БД:
Развернуть локально postgresql
Создать свою бд
Настроить своего пользователя.
Создать таблицы для хранения полученных данных.
В сервисе:
- Подключение и подписка на канал в nats-streaming
- Полученные данные писать в Postgres
- Так же полученные данные сохранить in memory в сервисе (Кеш)
- В случае падения сервиса восстанавливать Кеш из Postgres
- Поднять http сервер и выдавать данные по id из кеша
- Сделать простейший интерфейс отображения полученных данных, для
их запроса по id
Доп инфо:
• Данные статичны, исходя из этого подумайте насчет модели хранения
в Кеше и в pg. Модель в файле model.json
• В канал могут закинуть что угодно, подумайте как избежать проблем из-за этого
• Чтобы проверить работает ли подписка онлайн, сделайте себе
отдельный скрипт, для публикации данных в канал
• Подумайте как не терять данные в случае ошибок или проблем с
сервисом
• Nats-streaming разверните локально ( не путать с Nats )
App/stan
- подключение к nats, получение сообщений, валидация
App/db
- подключение, создание таблиц, все запросы
App/cache
- выполнение запросов, сериализация
App/front
- html и js скрипты
Scripts/PsqlInit.sh
- создание пользователя, бд
Scripts/NatsStartup.sh
- запуск nats-streaming
Scripts/spam2stan.go
- спам случайно сгенерированными данными