Nota: Este proyecto aún no es para consumo general.
Este programa proporciona una API de backend muy mínima para un sistema de abastecimiento de eventos.
Las características principales son:
El flujo de eventos es un registro de todos los cambios realizados en datos estructurados de su aplicación. El cliente puede usar este flujo de eventos para crear una proyección en los datos estructurados, básicamente el estado de los datos de su aplicación en un momento dado.
Las ventajas de almacenar los datos de su aplicación como flujo de eventos son:
El backend se puede compilar a un binario de Linux compilado estáticamente que debería ejecutarse como un programa CGI en la mayoría de los proveedores de alojamiento (en Linux). Esto requiere que se instale el Nix Package Manager (para construir un binario que use MUSL en lugar de GLIBC).
Asegúrese de que el servidor web pase el encabezado Authorization (variable de entorno de Autorización HTTP_AUTHORIZATION ) al script CGI. Para Apache, puede usar el cgi-bin/.htaccess proporcionado.
El backend también puede ejecutarse independientemente utilizando el servidor WarP HTTP. Sin embargo, tenga en cuenta que no es una implementación eficiente: usamos bloqueos de archivos como primitivas para la sincronización.
El plan es crear un backend eficiente del servidor de subprocesos múltiples utilizando 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