7 Matching Annotations
  1. Apr 2020
    1. By using events that are buffered in queues, your system can support outage, scaling up and scaling down, and rolling upgrades without any special consideration. It’s normal mode of operation is “read from a queue”, and this doesn’t change in exceptional circumstances.

      Event driven architectures with replay / message logs

    2. Circuit breaking is a useful distributed system pattern where you model out-going connections as if they’re an electrical circuit. By measuring the success of calls over any given circuit, if calls start failing, you “blow the fuse”, queuing outbound requests rather than sending requests you know will fail.

      Circuit breaking - useful distributed system pattern. It's phenomenal way to make sure you don't fail when you know you might.

    3. Hexagonal architectures, also known as “the ports and adapters” pattern

      Hexagonal architectures - one of the better pieces of "real application architecture" advice.

      • have all your logic, business rules, domain specific stuff - exist in a form that isn't tied to your frameworks, your dependencies, your data storage, your message busses, your repositories, or your UI
      • all your logic is in files, modules or classes that are free from framework code, glue, or external data access
      • it means you can test everything in isolation, without your web framework or some broken API getting in the way