Platform events are an ideal feature for monitoring your own system as well as staying connected to any external systems you may be using.
When developing large scale applications or systems you may need to communicate or interact with external systems, Platform events are an excellent solution to this challenge.
At a very high level, platform events are quite simply custom notifications but are more secure and scalable then regular events.
To use platform events there must be two parties present for it to work, a sender & a receiver.
There are some basic terms I will reference throughout this post:
Event: An event is any change that occurs in any of your business processes within your system, eg. Opportunity closed, Order placed, Task created etc.
Event Message: An event message is quite simply the data which the event is sending so for example if a platform event is fired because an order has been placed, the event message for that platform message could contain data such as, Product Id, Colour, quantity, etc. This changes depending on what platform event is fired.
Event Producer: This is the system/Application that fires the platform event.
Event Channel: This is a stream of event’s where event producers' messages are sent and where event consumers can access those messages.
Event Consumer: This is the system/Application that is listening to the event and subscribes to the event channel to receive those messages.