Topics mentioned in the video:
– Functional (create topic, publish message, subscribe to a topic) and non-functional (high scalability, high availability, high performance, durability) requirements.
– High-level architecture of a notification service.
– FrontEnd service host components (reverse proxy, local cache, logs and metrics agents).
– Metadata service, distributed cache, consistent hashing ring, gossip protocol.
– Storage for messages: SQL/NoSQL database, in-memory store, distributed message queue, stream-processing platform.
– Message sender service, thread pool, semaphore.
– Duplicate messages, retry policy, message order, security, monitoring.
Inspired by the following interview questions: