Key concepts
KakaoCloud Pub/Sub is a non-installable message queue service designed for large-scale events and data analysis. It enables users to classify and manage message data using topics and subscriptions.
Architecture
Pub/Sub architecture
Message
A message is the data and metadata delivered to a subscription.
- Messages are delivered at least once and may arrive out of order.
- Even after acknowledgment, duplicate delivery may occur in rare cases.
(Duplicate messages will have the same message ID as the original.)
Topic
A topic is a logical channel that categorizes specific message or event types. Multiple subscriptions can be attached to a single topic.
Default-Topic
Default-Topic is the default topic provided by Pub/Sub. It delivers event data collected through Cloud Trail from KakaoCloud services.
Subscription
Messages published to a topic are received through subscriptions. Pub/Sub provides three types of subscriptions:
Type | Description | Acknowledgment |
---|---|---|
Pull | The user explicitly requests message delivery. - Requires a pull request and acknowledgment | - Acknowledgment (ack) is required after receiving a message - Message is redelivered if not acknowledged within the ack deadline ㄴ Or if the ack deadline is manually set to skip |
Push | Pub/Sub pushes messages to a specified endpoint - Requires an HTTP/HTTPS endpoint server - Inbound rule configuration is required in the security group of the endpoint resource - Message push is only available to public IP endpoints of KakaoCloud | - Automatically acknowledged on HTTP response codes: 102, 200, 201, 202, 204 - Message redelivery if: ㄴ No HTTP response within ack deadline ㄴ Received HTTP response other than 102, 200, 201, 202, 204 |
Object Storage | Messages are exported to a bucket in Object Storage - Requires a pre-created Object Storage bucket | Acknowledgment is not required |
Subscription status
Detailed status definitions for subscriptions.
For subscriptions linked to user-created topics
Status | Description |
---|---|
Active | Active |
Creating | In progress (creating subscription) |
Deleting | In progress (deleting subscription) |
Updating | In progress (updating subscription) |
Seeking | In progress (rewinding subscription) |
Expired | Subscription is no longer usable due to expiration policy - Internal resources are deleted; only deletion is allowed * Expiration Policy: - Pull , Push : Status changes to expired if 10,000+ unacknowledged messages remain for over 1 hour- Object Storage : Not subject to expiration |
InvalidBucket | The Object Storage bucket linked to the subscription was deleted - Subscription status becomes Export stopped, can be reused after updating bucket info |
Unauthorized | The permission for the Object Storage bucket was changed - Subscription status becomes Export stopped, can be reused after adjusting permissions |
For subscriptions linked to the Default-Topic
Status | Description |
---|---|
Active | Active |
In Progress | Processing |
Error | Subscription is not functioning due to an internal error - Only deletion is allowed |
Subscriber
A subscriber is an entity that receives and processes messages published to a specific topic. Subscribers subscribe to topics and are notified whenever new messages are published.
Publisher
A publisher is an entity that generates or collects data/events and publishes them to a topic. Messages published by the publisher are delivered to all subscribers of the corresponding topic.
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 documentation.