Skip to content

An Event-based Microservices skeleton uses RabbitMQ for asynchronous inter-process communication, supporting both Python, Golang, and more.

License

Notifications You must be signed in to change notification settings

quan-vu/microservices-rabbitmq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microservices with RabbitMQ

Microservices skeleton on Docker using RabbitMQ for asynchronous IPC support Python & Golang.

TODO

  • Setup simple Microservice on Docker using RabbitMQ
  • Create a service skeleton with Flask
  • Create a service skeleton with Go
  • Sample for handle inter-process communication (IPC)
  • Implement business transactions using Microservices use Saga Pattern
  • Create a service skeleton with FastAPI

Test it

Start python service on docker

$ cd microservices-rabbitmq
$ docker exec -it microservices-rabbitmq_python-service bash
# root@62fa0cbb4d35:/python-service# 

# Run Flask application
FLASK_APP=main.py python -m flask run --port 3000 --host 0.0.0.0

Start go service on docker

$ cd microservices-rabbitmq
$ docker exec -it microservices-rabbitmq_go-service bash
# root@ede84d6b4e7e:/go-service# 

# Run go application
go run main.go

Start a client on new termial

$ curl -d "full_name=David" -X POST http://localhost:3000/users/1
# {"full_name":"David"}

Open sevice's terminal you will see the update.

References

Thanks to nice articles:

About

An Event-based Microservices skeleton uses RabbitMQ for asynchronous inter-process communication, supporting both Python, Golang, and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published