MateuszNaKodach / SelfImprovement

This project has some sample code for my personal learning purpose. Things which I've learnead are collected as issues here: https://github.com/nowakprojects/SelfImprovement/issues
107 stars 17 forks source link

Event Store - how to build one #1005

Open MateuszNaKodach opened 5 years ago

MateuszNaKodach commented 5 years ago
MateuszNaKodach commented 5 years ago

Axon Framework domain event:

{"_id":"5d30d4cda39d0911c0c6fc8b","aggregateIdentifier":"36","type":"CampEditionSchedule","sequenceNumber":"0","serializedPayload":"<org.bialydunajec.campschedule.domain.CampEditionScheduleEvent_-CampEditionSchedulingStarted><campEditionScheduleId><aggregateId>36</aggregateId></campEditionScheduleId><campEditionStartDate>2019-02-20</campEditionStartDate><campEditionEndDate>2019-03-05</campEditionEndDate></org.bialydunajec.campschedule.domain.CampEditionScheduleEvent_-CampEditionSchedulingStarted>","timestamp":"2019-07-18T20:21:33.461Z","payloadType":"org.bialydunajec.campschedule.domain.CampEditionScheduleEvent$CampEditionSchedulingStarted","payloadRevision":null,"serializedMetaData":"<meta-data><entry><string>traceId</string><string>700355fd-fbd1-4347-9cbe-5036e316247c</string></entry><entry><string>correlationId</string><string>700355fd-fbd1-4347-9cbe-5036e316247c</string></entry></meta-data>","eventIdentifier":"b0611d00-6a3e-475c-8ec5-7836759df6fb"}

MateuszNaKodach commented 5 years ago
{"_id":"5d30d4cda39d0911c0c6fc8c","aggregateIdentifier":"37","type":"CampEditionSchedule","sequenceNumber":"0","serializedPayload":"<org.bialydunajec.campschedule.domain.CampEditionScheduleEvent_-CampEditionSchedulingStarted><campEditionScheduleId><aggregateId>37</aggregateId></campEditionScheduleId><campEditionStartDate>2019-07-16</campEditionStartDate><campEditionEndDate>2019-07-20</campEditionEndDate></org.bialydunajec.campschedule.domain.CampEditionScheduleEvent_-CampEditionSchedulingStarted>","timestamp":"2019-07-18T20:21:33.546Z","payloadType":"org.bialydunajec.campschedule.domain.CampEditionScheduleEvent$CampEditionSchedulingStarted","payloadRevision":null,"serializedMetaData":"<meta-data><entry><string>traceId</string><string>61547971-07cf-4e19-aa25-2c035efabbbe</string></entry><entry><string>correlationId</string><string>61547971-07cf-4e19-aa25-2c035efabbbe</string></entry></meta-data>","eventIdentifier":"8af0d922-b01c-4920-a690-c34b6a105e19"}
MateuszNaKodach commented 5 years ago

{"_id":"5d30d4cda39d0911c0c6fc8d","aggregateIdentifier":"36","type":"CampEditionSchedule","sequenceNumber":"1","serializedPayload":"<org.bialydunajec.campschedule.domain.CampEditionScheduleEvent_-CampDayScheduled><campEditionScheduleId><aggregateId>36</aggregateId></campEditionScheduleId><campDayId><entityId>0b318cf3-64da-451e-9259-2b91ff155901</entityId></campDayId><date>2019-02-20</date></org.bialydunajec.campschedule.domain.CampEditionScheduleEvent_-CampDayScheduled>","timestamp":"2019-07-18T20:21:33.660Z","payloadType":"org.bialydunajec.campschedule.domain.CampEditionScheduleEvent$CampDayScheduled","payloadRevision":null,"serializedMetaData":"<meta-data><entry><string>traceId</string><string>dc32ac81-98a3-4866-882a-5179c1e2905b</string></entry><entry><string>correlationId</string><string>dc32ac81-98a3-4866-882a-5179c1e2905b</string></entry></meta-data>","eventIdentifier":"61c393bd-3c4f-4c42-8f4c-a3c0c12c3bfa"}

MateuszNaKodach commented 5 years ago

image

MateuszNaKodach commented 5 years ago

image

MateuszNaKodach commented 5 years ago

https://docs.axoniq.io/reference-guide/operations-guide/production-considerations/versioning-events

https://axoniq.io/blog-overview/tracking-event-processors

https://www.baeldung.com/spring-data-mongodb-index-annotations-converter

https://doc.akka.io/docs/akka/current/persistence-schema-evolution.html

https://doc.akka.io/docs/akka/current/persistence.html

https://docs.axoniq.io/reference-guide/implementing-domain-logic/complex-business-transactions/implementing-saga

MateuszNaKodach commented 5 years ago

https://github.com/EventStore/EventStore.Akka.Persistence

MateuszNaKodach commented 5 years ago

Add custom serializer for id: https://www.baeldung.com/jackson-custom-serialization maybe? https://spin.atomicobject.com/2016/07/01/custom-serializer-jackson/

MateuszNaKodach commented 5 years ago

Dashboards: https://dribbble.com/shots/5456432-Interactive-log-analyzer

https://dribbble.com/shots/5456484-Advanced-faceted-filters

MateuszNaKodach commented 5 years ago

Dodanie projekcji dla causation i correlation: https://blog.arkency.com/correlation-id-and-causation-id-in-evented-systems/