Skip to content

zheenlu/docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview

This project demonstrates a web application consisting of a login page and a home page, highlighting the benefits of using Docker for deploying a full-stack application. The application is designed to showcase high performance, high load, and high availability.

Key Features

  • Docker Integration: The project utilizes Docker containers to deploy the frontend, backend, MySQL, and Redis, enabling efficient testing and management of different service nodes.
  • Load Balancing with Nginx: Nginx is used to distribute traffic across multiple server nodes, enhancing the app's responsiveness and reliability.
  • High Availability with Keepalived: Implementing Keepalived ensures that if one server node fails, another node can seamlessly take over, providing continuous service without interruption.
  • Clustering for Performance and Reliability:
    • Multiple database clusters are deployed to handle a high volume of requests, significantly improving speed.
    • In case of a node failure, other nodes in the cluster are readily available to take over, ensuring uninterrupted operation.

Application Screenshots

Login Page

Screenshot 2024-03-19 at 7 11 31 AM

Home Page

Screenshot 2024-03-19 at 7 11 55 AM

Docker Node Testing

Testing the application involves pausing a few nodes within the Docker environment to simulate real-world scenarios.

  • Database Cluster: With 5 nodes, pausing 2 demonstrates continued functionality. Screenshot 2024-03-19 at 7 14 22 AM

  • Redis Cluster: Out of 6 nodes, pausing 2 showcases resilience. Screenshot 2024-03-19 at 7 15 19 AM

  • Backend Services: Pausing 1 out of 3 nodes tests backend reliability. Screenshot 2024-03-19 at 7 15 19 AM

  • Frontend Services: Testing by pausing 1 out of 3 nodes for frontend responsiveness. Screenshot 2024-03-19 at 7 16 35 AM

Conclusion

Even with several nodes paused, the application maintains its functionality, allowing users to reload the home page and log in successfully. This resilience is due to the effective use of clustering, ensuring that other available nodes can compensate for any downtime, thus demonstrating the robustness of high performance, high load, and high availability in this application. Screenshot 2024-03-19 at 7 17 21 AM Screenshot 2024-03-19 at 7 17 44 AM

About

A login and home page showing the benefits of using Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors