사용한 서버 목록
- WAS 서버 (자바+스프링) 3대
- Mysql 서버 2대 (Master, Slave)
- Redis 서버 1대 (세션,캐시)
- Nginx 웹서버 1대
- Jenkins 서버 1대
- Vault 서버 1대
- Ngrinder 서버 1대
- Pinpoint 서버 1대
프로젝트 서버 구조에 대한 전반적인 설명
- 사용자는 Nginix IP로 Http 요청을 보냅니다.
- Nginix의 Reversed Proxy 기능을 통해 WAS서버 3대에 부하를 분산시킵니다.
- WAS서버는 데이터 접근을 위해 Mysql서버와 Redis서버에 요청을 보냅니다.
- Jenkins서버는 CI/CD 구축을 위해 사용하여 Github에 코드를 push할 시 통합, 배포를 자동화 시켜줍니다.
- Jenkins서버에서 배포 시 Docker를 이용해 3대의 WAS서버에 배포를 시켜줍니다.
- 배포 시 암호값, 설정값들은 Vault서버에 Http요청을 통해 받아와 배포 서버 이미지 실행 시 외부 주입을 시켜줍니다.
- 라이더들에게 배차 요청을 보내기 위해 Push 알람을 보내는데 이 때 WAS서버에서 파이어베이스 FCM 서버에 Async 메시지 요청을 보냅니다.
- 성능테스트를 위해 좋은 사양의 Ngrinder 서버에서 부하를 발생시킵니다.
백엔드 취업준비 프로젝트를 위해 무료로 여러 대의 서버 구축하기
제가 진행했던 make-delivery라는 프로젝트는 배달앱 서버를 구축해보는 것을 목표로 진행했습니다. 사용한 서버 목록 - WAS 서버 (자바+스프링) 3대 - Mysql 서버 2대 (Master, Slave) - Redis 서버 1대 (세션,
tjdrnr05571.tistory.com
'IT > Server' 카테고리의 다른 글
OSI 7계층 > [LAYER 4] 전송 계층 > PORT (0) | 2021.01.07 |
---|---|
Jenkins, Docker, AWS (0) | 2020.12.28 |
[Jenkins] CI ( Continuous Integration ) / CD ( Continuous Delivery ) (0) | 2020.12.28 |
[Jenkins] 젠킨스 설치 및 구동 (0) | 2020.12.28 |
[Jenkins] Jenkins란 (0) | 2020.12.24 |