What you can do is each time you write into SQS in your region, you also write into SQS in another region. Here are my suggestions:
- You would have to do that programmatically, and depending on your requirements you may have to implement a two phase commit.
- Alternatively, you use SNS to publish your messages, but configure the SNS subscriptions to write to SQS queues across regions.
Bear in mind that AWS availability zones are already actually geographically distributed, about 50 miles away from each other, I believe.
If this was my project, I would follow option 2. Take a look at this AWS document: http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html
Basically, what you do is instead of publishing directly to SQS, you create an SNS topic in each region. Each of those topics has SQS subscriptions in both regions as well.
When a message is published to SNS in either region, SNS will automatically publish to both SQS subscriptions.