A platform event is a special kind of Salesforce entity, similar in many ways to an sObject.
An event message is an instance of a platform event, similar to how a record is an instance of a custom object.
You create a platform event definition by giving it a name and adding custom fields.
Update an event record
Delete an event record
View an event record
We can set read and create permissions for platform events using either profiles and permission sets.
We can’t query them through SOQL or SOSL. Similarly, we can’t use event records in the user interface in reports, list views, and search.
Define a platform Event in Salesforce Org.
Considerations of Platform Events:
Publish After Commit
Transactional and can be rolled back.
Published only after a transaction commits successfully.
Use this if subscribers rely on data that the publishing transaction commits.
Use this when you don’t want the event message to be published if the transaction fails.
Not transactional and cannot be rolled back.
If you want the event message to be published regardless of whether the transaction succeeds.
Subscribers don’t rely on data committed by the publisher.
Events that were defined before Spring ’19 are stored for 24 hours in the event bus.
You can no longer define such events.
Newly defined events are high volume by default.
Salesforce stores high-volume platform events for 72 hours in the event bus
Please check below video for more detailed explaination: