Rainbow
мне просто нужна зеркальная статика на тройку нод и сверху cdn. Вот будет норм.
Rainbow
И сейчас ищу как отзеркалить без сложностей.
Rainbow
Но чуть сложнее, чем rsync на три ноды
Rainbow
А так то cdn мне не поможет, кроме возможно полезного кеша. Потому что 100% клиентов - 1 город. И дц в этом городе.
inqfen
А задача-то какая изначально?
Rainbow
А задача-то какая изначально?
сервить статические сайты. не просто assets на поддомене, как обычно с cdn делаю
inqfen
Синхронизировать файлы не самоцель же
inqfen
А почему нужно больше одного источника статики?
Rainbow
А почему нужно больше одного источника статики?
потому что я хочу делать apt upgrade и не думать, что у меня источник отвалится
inqfen
А чем не устраивает реплицируемая фс/любая передача изменений?
inqfen
А, пропустил
inqfen
Погуглил, в основном про эту фс говорят у них на гитхабе, у них в твиттере etc, похоже пользователей немного
Rainbow
Мне понравилось, что это с трех команд запускается в учебный кластер и может делать raid-1 на нодах (надеюсь это значит, что если оно развалится, то просто не будет возможности долить файлы)
inqfen
Имеешь шанс первым поймать какой-то баг
inqfen
Три команды не показатель, тебе же надёжность нужна ча не количество команд
inqfen
Я думаю если сломается, ты 3 команды променяешь на 30,чтобы обратно заработало
inqfen
Если нужно чтобы было просто и работало - lsyncd
Rainbow
По хешу
можно для тупого пару строк nginx конфига?
inqfen
index-hashcommit.html
Rainbow
И я как пользователь захожу на staticsite.com и что я вижу?
inqfen
Что напишешь в локейшене, то и увидишь
Rainbow
т.е. мне вместо того, чтобы просто залить файл нужно ещё пойти и location поменять?
Andor
а ты чо не умеешь? :)
Rainbow
Да хер знает о чем общаемся. Добавит хеш к js|css и тп просто. А генерацию php|node.js|ещё какой фигни на статический html и резко какие-то странности начинают.
Rainbow
добавь хеш к index.html. Зашибись. пойду сделаю.
Roman
можно для тупого пару строк nginx конфига?
Берём ngx_lua, каждому файлу даём имя от sha1 от его содержимого
inqfen
Перенастроить
Roman
В редис в hmset кладём отображение location => sha1
Rainbow
1 раз
каждые 15 минут генерируется новый index.html вместе с остальными 1к html файлами на весь каталог сайта.
inqfen
И?
Rainbow
Статический генератор сайтов потому что
Rainbow
Без бекенда
Rainbow
Клиентская логика на js сверх статики
inqfen
Мда
inqfen
Беги оттуда
inqfen
И сожги все за собой
Rainbow
Я это внедрил и перевожу все сайты на это. Я получаю гарантию что ни одна страница не пятисотит, потому что собралась. Время генерация страницы в районе 0 потому что собрано и тп. Куда бежать?
Yury
а для чего каждые 15 минут сборка?
inqfen
А нет, тут все плохо. Ладно, используй что и как хочешь
Rainbow
да возьми уже lsyncd
во, потестирую
Vadim
Мне кажется у его Хрыч покусал. Скоро все разговоры и будут о том как страшно жыдь, приходится тестировать разнообразные поделки для услащения заказчика
Rainbow
а для чего каждые 15 минут сборка?
Потому что сложно отследить все зависимости, после которых собирать.
Yury
а что гарантирует, что браузер запросит новую версию файла, если имена не меняются?
inqfen
Мне вот интересно, как у него какой-то oath будет работать, все ключи можно в консольке посмотреть
Rainbow
а что гарантирует, что браузер запросит новую версию файла, если имена не меняются?
ну как классический рендер html на сервере выглядит? Тут только пререндер
Rainbow
В смысле так же как и любой SPA на js. Идешь к своему api, тебя посылают по ссылке, возвращаешься к апи, апи даёт токен и дальше как обычно.
Rainbow
Только в отличии от SPA есть 1к страниц пререндеренных. Для SEO и чтобы мобилки быстрее показывали контент, не дожидась прогрузки JS.
Yury
ну как классический рендер html на сервере выглядит? Тут только пререндер
классический современный серверный рендер генерит хеши в именах
Rainbow
классический современный серверный рендер генерит хеши в именах
где в структуре /index.html /catalog/index.html /catalog/my-product.html впихнуть хеши?
Yury
у вас кроме html ничего нет?
Rainbow
у вас кроме html ничего нет?
на js/css/img есть хеши, это просто. проблема в html
Yury
на js/css/img есть хеши, это просто. проблема в html
надо версионизировать html страницы?
inqfen
Для 1000 клиентов перерендерищь каждую секунду 100 страниц?
Rainbow
надо версионизировать html страницы?
надо инвалидировать кеш nginx -> s3
inqfen
А если 2 клиента с разными ролями?
inqfen
Им одновременно разная страница нужна
Rainbow
вы из 2000 года? Сейчас все пишут SPA на angular, react и тп. Это не магия.
Andor
надо инвалидировать кеш nginx -> s3
погоди, так тебе надо просто инвалидировать или реально версионировать?
Rainbow
инвалидировать. Точнее мне совсем кеш не нужен на html
inqfen
А роли я могу сам себе дописать в исходный код?
Andor
инвалидировать. Точнее мне совсем кеш не нужен на html
ну не кешируй хтмл, а остальную статику кешируй
Rainbow
А роли я могу сам себе дописать в исходный код?
можешь, допиши, только апи лесом пошлет
Andor
не понял тогда проблемы
inqfen
можешь, допиши, только апи лесом пошлет
Так вся логика на js, ты сам выше написал
Rainbow
ну не кешируй хтмл, а остальную статику кешируй
тогда остаётся пинг между nginx и s3. Это на TTFB высокий
inqfen
А тут api появился
Rainbow
А тут api появился
https://en.wikipedia.org/wiki/Single-page_application
Andor
тогда остаётся пинг между nginx и s3. Это на TTFB высокий
ну складывай в нжинксы только хтмл например
Yury
инвалидировать. Точнее мне совсем кеш не нужен на html
а почему просто отдельное правило в nginx на проксипасс html не подойдет?
Andor
ваще эта тема к кубеням мало отношения имеет