|
|
Scalable Distributed System on AWS: Stores Ordering System
- Design a RESTful, tomcat-based, scalable distributed web
application that allows stores to make HTTP POST requests to
record purchase orders and GET requests to look up previous
orders.
- Implemented in Java language, easily deployable to
multiple AWS EC2 instances or run locally.
- Built a
multi-threaded client which simulates multiple stores, sends
POST/GET requests to the servers and records QPS (query per
second), mean/p95 latency of HTTP requests for performance
evaluation.
- Implement and test multiple strategies to scale-up
the system, including multi-threading, AWS Load Balancer, Amazon
MQ (with self-implemented connection pool), Amazon RDS, Amazon
DynamoDB, Amazon DocumentDB (MongoDB). The system is deployed on
3 AWS EC2 instances, and passes a stress test of up to 1 million
requests with about 6000 QPS.
- Codes: github.com/zhangsisi0717/StoresOrderingSystem
|