Key Concepts
KakaoCloud Pub/Sub is a non-installation message queue service for large-volume events and data analysis. You can classify and manage message data using topics and subscriptions.
Architecture
Pub/Sub architecture
Message
A message is data and properties delivered to a subscription.
- By default, messages are delivered at least once, regardless of the order.
- Rarely, messages may be duplicated even after an acknowledgment request.
(Duplicated messages will have the same unique message ID as the original message.)
Topic
A topic is an element that distinguishes a specific message or event type, and multiple subscriptions can be added to a single topic.
Default-Topic
Default-Topic is a topic provided by default in Pub/Sub, and provides event data generated in KakaoCloud, such as Cloud Trail.
Service agent
The Pub/Sub service agent is automatically created when the Pub/Sub service starts. For more details, refer to the Service agent account.
Subscription
Messages published to a topic can be received through a subscription. Three types of subscriptions are available:
Type | Description | Acknowledgment Process |
---|---|---|
Pull | A method where the user requests message delivery. - Message delivery request and acknowledgment response | - Requires acknowledgment (ack) after a message delivery request. - Message retransmission: ᄂ If acknowledgment is not processed within the response wait time ᄂ If a request to modify the acknowledgment deadline is made (action: skip) |
Push | A method where Pub/Sub sends messages. - Requires an endpoint server (HTTP/HTTPS) to receive messages. - Security group inbound policy settings for resources connected to the endpoint must be configured to allow Push. - Message Push is only possible through endpoint URLs in each region using KakaoCloud Public IPs. | - Automatically acknowledged if an HTTP response status code (102, 200, 201, 202, 204) is received. - Message retransmission: ᄂ If no HTTP response is received from the user-registered endpoint within the response wait time ᄂ If an HTTP response status code other than (102, 200, 201, 202, 204) is received, messages are immediately retransmitted |
Object Storage | A method where Pub/Sub exports messages to a bucket. - Requires an Object Storage bucket to be created for message uploads | No acknowledgment process is required |
Subscription status
Detailed information about subscription statuses.
User Topic
Status | Description |
---|---|
Active | Subscription is active. |
Creating | In progress (subscription creation). |
Deleting | In progress (subscription deletion). |
Updating | In progress (subscription update). |
Seeking | In progress (rewinding subscription to a specific point in time). |
Expired | The subscription is inactive due to no operations and is disabled by the Expiration Policy. - Internal resources are deleted, and only subscription deletion is possible afterward. * Expiration Policy: - Pull , Push types: Transitioned to Expired if the unprocessed message count remains over 10,000 for 1 hour.- Object Storage type: Does not transition to Expired. |
InvalidBucket | Occurs when the bucket linked to the Object Storage subscription is deleted. - The status changes to Export stopped, and the bucket information can be updated for reuse. |
Unauthorized | Occurs when the permissions of the bucket linked to the Object Storage subscription are changed. - The status changes to Export stopped, and the bucket permissions can be updated for reuse. |
Default-Topic
Status | Description |
---|---|
Active | Subscription is active. |
In Progress | In progress. |
Error | An issue has occurred, making the subscription inoperable. - Only subscription deletion is possible. |
Subscriber
A subject (subscriber) that receives and processes messages for a specific topic. A subscriber subscribes to a specific topic and receives notifications and processes messages whenever a new message is published to the topic.
Publisher
A subject (publisher) that creates data or events and publishes them to the Pub/Sub system. A publisher creates or collects messages on a specific topic and sends them to all subscribers who have subscribed to that topic.