반응형
다른 사람들의 프로젝트 리포지토리를 보면 Server Architecture를 멋지게 만들어 놓은 것을 자주 볼 수 있습니다. 저는 그것이 부러웠습니다. 미적으로 멋있다는 것이 아니고 복잡한 설계를 할 수 있는 지식이 부러웠습니다.
이번 프로젝트에서 제가 설계한 구조입니다.
처음부터 이렇게 설계하지 않았습니다. 아니, 처음에는 개발 환경 설정 및 구현 자체가 버거웠기 때문에 설계 작업 자체를 생각하지 못했습니다. 그래서 모든 작업이 끝나고 문서 작성을 하면서 "아, 내가 이렇게 구현했었구나?" 하는 느낌으로 앞에서 뒤로 천천히 톺아보면서 구조를 정의했습니다. 이 작업을 통해 느낀 점은, 처음부터 설계 방향을 잡고 구현했다면 작업 속도 및 결과물이 지금보다 더욱 좋았겠다는 것입니다. 설치 및 사용과는 별개로 빌드 및 배포 도구를 선정하는 것이 은근히 까다롭더군요. 지속 가능성을 염두에 두어야 하니까요.(사실 저는 별다른 생각 없이 그냥 사용했습니다.)
위의 서버 구조 이미지를 보면 하나의 서버에서 모든 작업을 처리하는 것을 볼 수 있습니다. 지금 상황에서 개선해야 할 방향이 무엇일까 생각해보았습니다.
- 서버를 여러개 두고 대량의 요청에 대한 서버 부하 관리 환경 구성.
- 서버가 하나이기 때문에 하나의 서버가 의도치 않게 종료되어 버리면 서비스 이용이 불가능하기 때문에 관련 해결 방안 모색.
- 무중단 배포 환경 구성.
의 내용을 보완해야 하지 않을까 생각합니다. 계속 고민하고, 직접 구현해보면서 무엇이 최선일까 생각해 보겠습니다.
반응형
'Programming > 개인 프로젝트' 카테고리의 다른 글
[중고거래장터 - Study&Refactoring] 트랜잭션 설정을 통한 데이터 무결성 확보 (0) | 2022.04.09 |
---|---|
[중고거래장터 - Study&Refactoring] locale 변경 (0) | 2022.04.07 |
[중고거래장터 - Study&Refactoring] Spring Rest Docs 적용을 통한 API 문서 작성 (0) | 2022.04.01 |
[중고거래장터 - Study&Refactoring] 캐싱 기능 적용(Spring MVC + Redis + Jedis) Java 클래스 방식 (0) | 2022.03.31 |
[중고거래장터 - Study&Refactoring] Oracle ~> MySQL로 이동 (0) | 2022.03.22 |