0

Just read the AWS IoT document. I am very curious about the design of its message broker:

The topic namespace is isolated for each AWS account and region pair. For example, the Sensor/temp/room1 topic for an AWS account is independent from the "Sensor/temp/room1" topic for another AWS account. This is true of regions, too. The "Sensor/temp/room1" topic in the same AWS account in us-east-1 is independent from the same topic in us-west-2. AWS IoT does not support sending and receiving messages across AWS accounts and regions.

Why AWS separates the access of the message broker? Wouldn't it be convenient if the message is accessible cross multiple regions?

What is the benefit of making message broker region-independent?

shihpeng
  • 5,283
  • 6
  • 37
  • 63

1 Answers1

2

The last sentence in the quote...

AWS IoT does not support sending and receiving messages across AWS accounts and regions.

...makes the question of namespaces somewhat moot.

The namespaces are independent, because the regions are independent. There would be no point in the namespace being common if messages couldn't cross regional boundaries, as they can't.

If your question is really "Why are the regions independent?" then I'll borrow a quote from the EC2 documentation --

This achieves the greatest possible fault tolerance and stability.

Almost all AWS services operate with a similar model. SQS queue names? SNS topic names? Regional namespaces.

The exceptions are services like IAM, CloudFront, and Route 53, all of which have provisioning, but not operational, dependencies on us-east-1... and S3, which needs a global namespace so that buckets can have a 1:1 unambiguous mapping to DNS hostnames.

Michael - sqlbot
  • 169,571
  • 25
  • 353
  • 427