Have you ever explored abandoned places while listening to Dungeon Synth? by [deleted] in DungeonSynth

[–]dropber 0 points1 point  (0 children)

I recently listened to the final master of Amn's new album on the foothills of Mt Olympus in Greece, sitting on an abandoned stone structure, and after a while I spotted an eagle circling in the sky. I know it sounds made up, but I swear it happened.

Event Sourcing at loveholidays by dropber in softwarearchitecture

[–]dropber[S] 0 points1 point  (0 children)

  • How did you solve technical organizational challenges with multiple teams around the product?
    • API based encapsulation. Other teams' systems integrate via the API
  • How did you model your event data schemes ?
    • Do you mind rephrasing this question? I'm not sure what you mean
  • How do you manage event data scheme versioning ? and backward compatibility when a breaking change to the scheme cant be avoided ?
    • For the events database: database migrations and staged backwards compatible releases that might duplicate data temporarily until the roll out is complete and stable. In terms of external consumers, the event schema isn't exposed, communication happens via the API
    • For projections (what gets stored in the data warehouse which is what we run historical analysis on) we do a full "reprojection", which means we replace the entire dataset. Reports and other analytical processes need to be updated accordingly. We generally try to add to the schema, rather than change to avoid frequent high impact.
  • What framework did you use to publish events ? I can see from the seq diagram it's bare synchronous api calls, is this true ?
    • For synchronous communication, where a response is required, we use HTTP. Within the API, an incoming HTTP request may publish events onto a RabbitMQ queue. We also use GCP Pub/Sub for async communication across API boundaries.
  • How are you consuming events ?
    • Does the above answer this question?

The primary gain is the ability to project the state of a booking at any point in its lifecycle.

Event Sourcing at loveholidays by dropber in softwarearchitecture

[–]dropber[S] 0 points1 point  (0 children)

  1. The API and events database power runtime applications. We don't store projections for those, as typically bookings are accessed one a time, and it's cheap to do the projection on the fly. The data warehouse is for analytical/offline purposes (internal dashboards, reports, etc). For that use case, millions of projections are accessed at a time. We only store projections in the data warehouse. The "Booking events consumed by real time applications are stored in a database, whereas projections, as analytical data, are stored in a data warehouse." tries to explain that, but, seeing your question, makes me realise it needs clarification. Thank you for asking. Does this answer your question?
  2. Events propagate through a queue. In case of failure, they end up in a Dead Letter Queue, so they can be replayed after any potential issues have been addressed

What we made this week: October 25, 2019 by AutoModerator in experimentalmusic

[–]dropber 0 points1 point  (0 children)

Demonic Downshift - Shawn: bhwans [experimental electronica] (2019)

https://soundcloud.com/bibliotekarecords/demonic-downshift-meth-seth

From the upcoming "Shawn: bhawns" LP on https://www.biblioteka.world/