Примечание: этот проект еще не для общего потребления.
Эта программа предоставляет очень минимальный бэкэнд API для системы поиска событий.
Основные особенности:
Поток событий является журналом только для приложения всех изменений, сделанных в структурированных данных вашего приложения. Клиент может использовать этот поток событий для создания проекции на структурированных данных, в основном состояние данных вашего приложения в определенный момент.
Преимущества хранения данных вашего приложения в качестве потока событий:
Бэкэнд может быть составлен в статически скомпилированный двоичный файл Linux, который должен работать в качестве программы CGI для большинства хостинговых поставщиков (на Linux). Это требует, чтобы диспетчер пакетов NIX был установлен (для создания двоичного файла, который использует MUSL вместо GLIBC).
Пожалуйста, убедитесь, что WebServer передает заголовок Authorization (переменная среды HTTP_AUTHORIZATION ) сценарию CGI. Для Apache вы можете использовать предоставленную cgi-bin/.htaccess .
Бэкэнд также может работать автономным, используя HTTP -сервер WARP. Однако обратите внимание, что это не эффективная реализация: мы используем блокировки файлов в качестве примитивов для синхронизации.
План состоит в том, чтобы создать эффективную бэкэнд с многопоточным сервером с использованием STM.
curl -X PUT -H " Content-Type: application/json " --data @event.json http://localhost:8000/events
curl http://localhost:8000/events
curl http://localhost:8000/events ? from=0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb
curl http://localhost:8000/events ? to=0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb
curl http://localhost:8000/events/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cbcurl -X PUT -H " Content-Type: application/pdf " -T ~ /Documents/test.pdf http://localhost:8000/storage/
curl -X GET http://localhost:8000/storage/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb --output test.pdf
curl -X DELETE http://localhost:8000/storage/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb