Skip to main content

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

Image
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:

TypeDescriptionAcknowledgment
PullThe 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
PushPub/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 StorageMessages 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
StatusDescription
ActiveActive
CreatingIn progress (creating subscription)
DeletingIn progress (deleting subscription)
UpdatingIn progress (updating subscription)
SeekingIn progress (rewinding subscription)
ExpiredSubscription 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
InvalidBucketThe Object Storage bucket linked to the subscription was deleted
- Subscription status becomes Export stopped, can be reused after updating bucket info
UnauthorizedThe 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
StatusDescription
ActiveActive
In ProgressProcessing
ErrorSubscription 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.