In the cloud, applications are typically distributed across multiple servers. When a transaction begins, let’s say a user trying to buy an item from an e-commerce store, a series of events are generated that describe what the user is doing. In the case of buying an item, an event that puts the item on the shopping cart may get generated, as well as an event that indicates the purchase was successfully completed. Back-end systems need to be able to understand what the user is doing so that the data that is being stored can be reliably and consistently stored. Event sourcing is an architectural pattern that allows for systems to generate events, and allow other systems to receive those events. When a customer is buying an item and it is on the shopping cart, a shopping cart application service will publish these events that the transaction is occurring, and other systems that are relying on this data will receive the events and process them accordingly. This allows for applications to be asynchronous, meaning, everything runs in parallel, making the end user customer experience much quicker. As more applications move into the cloud, event sourcing becomes more important.
What do we mean by this?
The Stock Exchange Floor broker going from server to server to bring you the best event.