This project contains implementation of a set of microservices that need to coordinate to guarantee data consistency.
We have created the below mentioned microservices with Cassandra and Postgres db to understand the effect of different technologies to design patterns in data management aspects of microservices.
Microservices Implemented:
- Users(create,remove,find,update)
- Orders(create,remove,find,addItem,removeItem,checkout)
- Stocks(create,find,add,subtract)
- Payment(Pay,cancel,status)
Cassandra is a NoSQL distributed database by Apache. It is highly scalable and designed to manage large amounts of structured data.
- Flask : Micro web framework written in python
- cqlengine : Cassandra Object mapper for python
Postgres is an ORDBMS which uses and extends the SQL language by adding many features that can safely store and scale complicated data workloads.
- Flask : Micro web framework written in python
- sqlalchemy : Postgresql object mapper for python
We have used AWS for deploying the services in different EC2 instances and RDS instances. A more detailed description on the AWS deployment for each type of database can be found in each of the folders.