канал
Wishlist
^

Визуально изменения практически не заметны, но под капотом у сайта новый движок! Очередная версия, написанная с нуля, всё так же на Go. Однако, никакой больше базы данных (до этого был PostgreSQL)! Да, 100500 RPS сайт не потянет, но у меня тут такой траффик и не планируется.
Нет базы – значит не нужно её поддерживать, и тратить серверные ресурсы на неё. Движок состоит из одного процесса, который потребляет ~16Mb RAM, и практически не потребляет CPU. Да, реализация выходит более трудозатратно, но зато выигрываем в гибкости, как мне кажется на текущий момент.

Идея такая:
- Что бы получить пост аналогичный данному – достаточно создать директорию, и закинуть в неё файл .content.html (а в перспективе .content.md) с содержимым поста.
- Что бы получить кастомную страницу – просто закидываем в созданную директорию index.html.
- В директорию можем закидывать какие угодно файлы, что бы просто расшарить их по HTTP. Ну, и какой-нить autoindex нужно реализовать, что бы список файлов можно было увидеть, если нет ни .content.html, ни index.html.
- Ну, и некое проксирование есть идея реализовать. Что бы простым способом можно было сказать, что контент для данного поста нужно брать с домашнего сервера. Что бы не было нужды закидывать на VPS большой объём фоток, видео, и тп.

Ещё, пути для постов больше не будет итерируемым (вроде /post/1/), что давило на моё чувство прекрасного. 😊
И у одного поста теперь может быть несколько путей.

P.S. Предыдущий пост касательно движка тут.