АртемЪ, конечно физический сервер. Размещать хотелось бы за пределами РФ (но не могу найти хостинг, гугл по фразе windows server 2008 dedicated server), но вот в ответах уже прозвучал dedic-center, они мне ответили что могут поставить win 2008 r2.
Валентин, это все понятно, но как ты будешь редиректить на нужный nginx, если его еще нет в конфигурации? а если добавлять конфигурацию, то нужно сервис перезагружать
Алексей Сундуков, коннектов немного, чуть более тысячи, но заказчики разные под каждый домен и сейчас выходит, что каждый раз как я провожу манипуляции по добавлению нового или изменению конфига, то страдают все подключенные клиенты (а именно рвется сокет, и ничего более умного как рефреш страницы на такой случай пока не придумалось). Реализовать логику обрыва/ожидания/восстановления или финализацию сессии на сервере и клиенте за небольшие сроки у меня пока нет возможности.
Но спасибо - подумаю над puppet/zookeeper
Алексей Сундуков, Nginx рестартуется по причине пересборки образа. В образ, который наследуется от базового nginx прокидываются конфиги и сертификаты.
- Зачем делать кастомный образ - спросите вы?
- Экземпляры работают в кластере, и изначально нет возможности на все ноды кластера ставить еще и кластеризованную ФС (какую-нибудь GlasterFS), в которой будут консистентно храниться конфиги, а далее нужно городить огород с обновлением/дожидаться пока файлы обновятся и только тогда перезапускать edge сервисы
Vitaly Karasik, все равно соединения рвутся же, просто будет быстрый реконнект
сессии держатся сзади на Го приложении, поэтому тут достаточно такой политики:
1) 2+ реплики
2) делаем старт новой, стоп старой
3) ждем 15-20 сек
4) повторяем для 2й и последующих
сварм сам сбалансирует если listener еще не слушает порт и не будет направлять туда трафик
короче видимо на клиенте да и сервере придется пересмотреть обрыв соединения на несколько секунд =(
Алексей Тен, я правильно понимаю, что в данном контексте лучше все взаимодействие по ws выносить на отдельный домен? и если и приходится менять, то крайне редко?
k8s тут не поможет с ingress-nginx?
OlegCinema, если работаешь в компании, - узнавай у девлида, он тебе скажет какой фреймворк, можно и замому что-то написать
если в одиночку, то некст выполняет свои функции (есть еще gatsby, да и не только, но ничего за них не скажу)
если приложение написано по уму - все разбито на компоненты, данные все в редаксе, и получаются только из редакса, то несложно, по сути некст требует только существование абстракции "страница", перед рендерингом которой будут получаться все асинхронные данные для нее, все остальное (то, что напрямую дергается асинхронно из компонентов) не будет отрендерено на сервере
OlegCinema, вопроса безопасности как такого не ставится перед SSR, токены ты хранишь в куках, чтобы иметь к ним доступ из запроса (а не в локал сторедж)
какой вопрос безопасности интересует? токены должны быть подписаны ключем на апишке, тогда их не подменишь
1) СЕО
2) на сервере страница рендерится быстрее (во многих случаях) из-за более мощных процессоров и рядом стоящего АПИ, тем самым пользователь быстрее увидит вменяемый контент, а не прелоадер
3) если контекст неавторизованного пользователя, то можем класть в кэш всю страницу и отдавать моментально
OlegCinema, зайди к себе на сайт, нажми посмотреть исходный код страницы (!не элемент, а именно код страницы), он у тебя пустой, только скрипты, стили и голова
примерно так видит твой сайт поисковый робот, если это не критично, то nginx+api
а если критично, то это уже другая история