Open1

Event-driven systems / Go Time – Episode #179

kenfdevkenfdev

https://changelog.com/gotime/179

Event-driven systems

  • what it is
    • system architecture
    • uses asynchronous messaging to communicate state
    • example
      • user signup and pay for plan -> unlock happens to account
        • talk to service?
        • use events?
  • benifits
    • performance pump
      • handle thousands of messages asynchronously
        • whereas
          • synchronous architecture
            • tethered to IO
  • event bus
    • message broker
      • queue
        • RabbitMQ
        • MQTT
        • NATS
        • Kafka
        • GCP Pub/Sub
  • Eventual Consistency
    • Idenpotency
      • You should expect an event to accidentally happen more than once
  • starter project
    • production system
      • Kafka
    • rabbitMQ and protobuf
    • etcd
      • cache layer
  • Continuous Deployment
    • don't just throw it over the wall
    • you own the thing, you built it, you know how it works you are the best person to see it to its conclusion essentially