ordenado
Utilice Commanded para crear sus propias aplicaciones Elixir siguiendo el patrón CQRS/ES.
Proporciona soporte para:
- Registro y despacho de mando.
- Hospedaje y delegación a agregados.
- Manejo de eventos.
- Gestores de procesos de larga duración.
Commanded proporciona una base técnica sólida sobre la que desarrollarse. Le permite concentrarse en modelar su dominio, la parte más importante de su aplicación, creando una mejor aplicación a un ritmo más rápido.
Puede utilizar Commanded con uno de los siguientes almacenes de eventos para lograr persistencia:
- EventStore: biblioteca Elixir que utiliza Postgres para persistencia.
- EventStoreDB: una base de datos de flujo creada para Event Sourcing.
- Almacenamiento de eventos en memoria: incluido solo para uso de prueba.
Consulte el REGISTRO DE CAMBIOS para conocer las funciones, correcciones de errores y cualquier consejo de actualización incluido para cada versión.
Requiere Erlang/OTP v21.0 y Elixir v1.11 o posterior.
Patrocinadores
- Ver patrocinadores y patrocinadores
- Registro de cambios
- wiki
- ¿Qué es CQRS/ES?
- Preguntas frecuentes
- Obteniendo ayuda
- Último paquete y documentación Hex publicados
Licencia MIT
Este archivo README y las siguientes guías siguen la rama master
, que puede no ser la versión publicada actualmente.
Lea la documentación de la última versión publicada de Commanded on Hex.
Descripción general
- Empezando
- Elegir una tienda de eventos
- EventStore basado en PostgreSQL
- Tienda de eventos de Greg Young
- Usando ordenado
- Agregados
- Agregado de ejemplo
-
Commanded.Aggregate.Multi
- Instantáneas de estado agregado
- Comandos
- Controladores de comandos
- Despacho y enrutamiento de comandos
- Definir identidad agregada
- Registro de múltiples comandos
- Tiempos de espera de envío
- Garantía de coherencia en el envío
- Envío que devuelve el resultado de la ejecución
- Vida útil agregada
- Enrutadores de comando compuestos
- software intermedio
- Enrutadores de comando compuestos
- Eventos
- Eventos de dominio
- Controladores de eventos
- Eventos de actualización
- Gerentes de procesos
- Ejemplo de administrador de procesos
- Supervisión
- Publicación por entregas
- Serializador JSON predeterminado
- Configurar la serialización JSON
- Decodificar estructuras de eventos
- Usar un formato de serialización alternativo
- Personalización de la serialización
- Leer proyecciones de modelos
- Despliegue
- Implementación de un solo nodo
- Implementación de clústeres de múltiples nodos
- Implementación de múltiples nodos, pero no en clústeres
- Prueba con Commanded
- ¿Utilizado en producción?
- Aplicación de ejemplo
- Aprende ordenado en 20 minutos
- Elegir un proveedor de tienda de eventos
- Estampación
- Contribuyendo
- ¿Necesitar ayuda?
¿Utilizado en producción?
Sí, consulte las empresas que utilizan Commanded.
Aplicación de ejemplo
Conduit es una aplicación web de código abierto, por ejemplo Phoenix 1.3, que implementa el patrón CQRS/ES en Elixir. Fue construido para demostrar la implementación de Commanded en una aplicación Elixir para el libro Building Conduit.
Aprende ordenado en 20 minutos
Vea a Bernardo Amorim presentar CQRS y el abastecimiento de eventos en Code Beam SF 2018. Incluye un tutorial sobre cómo implementar una aplicación Elixir usando estos conceptos con Commanded.
Contribuyendo
Las solicitudes de extracción para contribuir con funciones nuevas o mejoradas y ampliar la documentación son bienvenidas.
Siga las convenciones de codificación existentes o consulte la guía de estilo de Elixir.
Debe incluir pruebas unitarias para cubrir cualquier cambio. Ejecute mix test
para ejecutar el conjunto de pruebas.
Colaboradores
Commanded existe gracias a las siguientes personas que han contribuido.
- Adil Yarulin
- Alejandro de Souza
- Andrei Akulov
- Andrzej Sliwa
- Ben Smith
- Benjamín Moss
- Bernardo Amorim
- Brenton Annan
- Chris Brodt
- cris martin
- Christophe Juniet
- Danilo Silva
- David Lucía
- David Carlín
- Damir Vandic
- Daniel Friedland
- Dilaksun Bavarajan
- ernesto
- Fernando Mendes
- Florian Ebeling
- Henry Hazán
- jc
- Juan Zapata
- Joao Gilberto Moura
- João Thallis
- John Wilger
- José Lozano
- Kian-Meng Ang
- Kok J Sam
- Leif Gensert
- Luis Ferreira
- Marcelo Domínguez
- Matt Doughty
- Mateo Böhlig
- Michael Herold
- Miguel Palhas
- Nigel Thorn
- Olafur Arason
- paolo laurenti
- Patrick Detlefsen
- Phil Chen
- Rafael Lustin
- Štefan Ľupták
- Tobiasz Małecki
- Vladimir Drobyshevskiy
- Willy Wombat
- Yordis Prieto
- Yuri de Figueiredo
- Zven
¿Necesitar ayuda?
Abra un problema si encuentra algún problema o necesita ayuda. También puedes buscar ayuda en el canal #commanded en el Elixir Slack oficial.