Добавить в корзинуПозвонить
Найти в Дзене
Chris Roylance

Stryfe.online: очередная переработка

Всем привет, в очередной раз произвожу колоссальную смену подхода в проекте. Да это уже не первый раз, когда я это делаю, но такое лучше делать на ранних этапах проекта, чем потом, когда будет уже что-то большое и монструозное. Поработав с Couchbase, мне все же захотелось, что бы была система автоматического развертывания, т.к. каждый раз лазить на прод БД и делать изменения по одному пытаясь руками "угадать" все ли я перенес мне не сильно хочется, было принято решение сделать систему автоматического развертывания. Концепт в том, что для работы с этим модулем придется в консоле, в интерактивном режиме, вбивать подключение к БД и учетку с правами администратора, что бы полностью все развернуть от и до (bucket, scope, collection, index и тд.). После чего произойдет автоматическая развертывание с информированием в консоле. Чуть позже когда реализую покажу как это работает. Система хорошая и удобная, но все же требует поддержки как отдельный сервис + БД, в связи с этим я решил перенести б
Оглавление

Всем привет, в очередной раз произвожу колоссальную смену подхода в проекте. Да это уже не первый раз, когда я это делаю, но такое лучше делать на ранних этапах проекта, чем потом, когда будет уже что-то большое и монструозное.

Система инициализации

Поработав с Couchbase, мне все же захотелось, что бы была система автоматического развертывания, т.к. каждый раз лазить на прод БД и делать изменения по одному пытаясь руками "угадать" все ли я перенес мне не сильно хочется, было принято решение сделать систему автоматического развертывания. Концепт в том, что для работы с этим модулем придется в консоле, в интерактивном режиме, вбивать подключение к БД и учетку с правами администратора, что бы полностью все развернуть от и до (bucket, scope, collection, index и тд.).

После чего произойдет автоматическая развертывание с информированием в консоле. Чуть позже когда реализую покажу как это работает.

Tirreno

Система хорошая и удобная, но все же требует поддержки как отдельный сервис + БД, в связи с этим я решил перенести базовый функционал к себе в проект и хранить все в приделах Couchbase. Соглашусь, буду делать велосипед, НО при этом придется меньше всего поддерживать.

Безопасность передачи данных

Пока не убежали далеко по проекту, решил сделать шифрование передачи данных пользовательских данных между клиентом и сервером. HTTPS в принципе и так позволяет защитить данные, НО хотелось добавить еще пункт к этой безопасности. Для этого будет добавлен еще один заголовок, в котором будет записан uuid устройства, который будет получаться со стороны сервера по определенному запросу.

Для шифрования я буду использовать этот uuid и еще ряд параметров, которые будут как раз и у клиента и у сервера. В любом случае это лучше, чем гонять данные по HTTPS без дополнительной защиты.

Чем проще, тем быстрее

В связи с такими переработками системы, решил воспользоваться принципом, чем проще реализовывать, тем быстрее будет готово, для упрощения и ускорения разработки решил отказаться от ряда подходов, что в свою очередь увеличит скорость работы. Так для примера, сейчас я хочу отказаться от использования RabbitMQ, которые верну в дальнейшем для Server Send Event (SSE).

От SSE в принципе я тоже хочу отказаться в пользу более простого классического fetch, через какой-то промежуток времени. Да это будет постоянная долбежка сервера, но на ранних этапах этого объема будет очень мало, по этому я не сильно боюсь нагрузки.