Publisher are responsible for messaging using Amazon SNS.
Subscribers are responsible for polling for queuing.
The broker is responsible for the topic (event) between the publisher and the subscriber.
Responsible for processing dependent on your business domain.
FYI:
This has nothing to do with the concept of the Event driven architecture.
Butler does chores such as creation, destruction of SNS/SQS.
FYI:
This has nothing to do with the concept of the Event driven architecture.
Requires version 1.12 or higher to use go modules.
$ go version
go version go1.12.4 darwin/amd64
Since aws-sdk-go needs credentials, please set "dummy" if you use localstack.
$ cat ~/.aws/credentials
[dummy]
aws_access_key_id = dummy
aws_secret_access_key = dummy
Start docker for localstack.
$ docker-compose up -d
$ env GO111MODULE=on AWS_PROFILE=dummy go run main.go
Stop docker.
$ docker-compose down