민스씨의 일취일장

후기 | F-Lab Java Backend 과정 11주차 본문

Personal Development/F-Lab 자바 백엔드 과정 [진행중]

후기 | F-Lab Java Backend 과정 11주차

읻민스 2024. 8. 14. 19:52
반응형

F-Lab Java Backend 과정 11주차 후기글입니다.

F-Lab Java Backend 과정 11주차

F-lab 자바 백엔드 과정 11주차 썸넹리 이미지이다.
F-Lab Java Backend 11th Week

11주차 멘토링 주제

11주차 멘토링 주제는 아래와 같다.

프로젝트
1. EC2 로드밸런서 구축하기
2. EC2 서비스 nGrinder 연동하기 -> 테스트 환경 완성하기
+alpha : 모니터링 환경 구축하기

이론
1. Load Balancer
2.API Gateway
3. 분산 캐시
4. 메시지브로커
5. 이벤트브로커

이력서
1. 이력서 제출형으로 수정하기 

프로젝트

EC2 밸런서 구축하기

지난 주 프로젝트 진행과정에서 로드밸런서가 작동하지 않는 이슈가 있었다. 도커 네트워크와 컨테이너 포트 매핑에 대한 이해가 부족해서 발생한 이슈였다. 같은 네트워크 내에 존재하는 컨테이너들은 호스트Port가 아닌 서비스Port를 이용해서 직접 소통할 수 있다는 걸 이번에 알게 됐다. 자세한 해결과정은 아래 글에 기록해 두었다.

 

TIssue | Nginx | EC2 | 도커 컨테이너로 띄운 로드밸런서가 하나의 서버만 연결하는 이슈

로드 밸런서가 한 곳만 포워딩하는 이슈 해결방법에 대한 글입니다.로드 밸런서가 하나의 서버만 연결하는 이슈Tissue오늘의 이슈는 다음과 같다.EC에 띄운 Nginx 로드밸런서가 요청을 하나의 컨테

ydmins.com

테스트 환경 완성하기

지난 주 대부분의 시간을 잡아먹었던 nGrinder EC2 환경에서 연동하는 것이 이번에도 역시나 많은 시간을 잡아먹고 있었다. 이 문제를 해결해 보기 위해서 다시 처음부터, mac 기반 로컬에서만 테스트 해보고, windows 기반 로컬에서만도 테스트 해보았다. 두번 다 작동하는 것을 확인하고 Agent만 다른 PC인 EC2 컨테이너 환경으로 변경하였다. 이 때 부터 또 똑같은 양상으로 작동이 되질 않았다. 이 문제는 로컬로 요청을 보낼 때 Private IP를 사용하고, 포트를 잘못 사용한 것이 문제였다. 자셋한 해결과정은 아래 글에 기록해 두었다.

 

TIssue | EC2 내 컨테이너에서 로컬 PC로의 요청이 전달되지 않는 이슈 (feat. Public IP vs. Private IP)

EC 내 컨테이너에서 로컬 PC로 보낸 요청이 전달되지 않는 이슈에 대한 글입니다.EC2에서 로컬 PC로 요청이 전달되지 않는 이슈상황 1nGrinder Agent를 EC2에 도커 컨테이너로 띄웠다. Agent는 작동하기

ydmins.com

[+alpha] 모니터링 환경 구축하기

원래 계획에는 없었지만 욕심을 조금 부려서 테스트 환경 구성하는 김에, 바로 테스트 결과를 확인할 수 있는 모니터링 환경도 구축하기로했다. 사용한 기술은 Prometheus, Spring Boot Actuator, Micrometer, Grafana이다. 프로메테우스는 대표적인 메트릭 수집 오픈소스이다. Spring Boot Actuator와 Micrometer는 JVM 환경 메트릭을 수집하기 위해 사용하였다. 그라파나는 이렇게 수집된 메트릭을 시각적으로 보여주는 도구이다. 성공하면 아래와 같은 멋진 UI로 서비스를 모니터 할 수 있다.

그라파나 대시보드 모습이다. 4개의 그래프가 각각 측정 그래프를 보여주고 있다.
Grafana Dashboard

이론 - 공부방법

이론 공부를 하면서 공부 방법에 대한 다양한 고민을 하게 된다. 지난 Spring MVC나 Spring Security와 같은 것들은 흐름이 있기 때문에 이야기를 하듯이 공부하면 좋다. 하지만 추상적인 개념이나 단순 도구들은 어떻게 공부해야 할지 요즘 다시금 고민해 보고 있었다. 그런 고민 끝에 이번 주에는 "기술이 도입된 연유"에 대해 먼저 알아보며 기술들을 이해보려는 시도를 해보았는데 굉장히 성공적이었다. 기술은 원래 문제를 해결하기 위해 도입된 것인데 기술의 스펙을 공부하는 건 정말 머릿속에 남질 않았다. 하지만 기술이 도입된 이유를 살펴보면서, 문제를 간접적으로 가볍게 느껴보면서 필요성과 특징들을 더욱 쉽게 유추하듯이 기억할 수 있었다.

📕 도구가 왜 필요해졌는지 먼저 살펴보자.

추가로 실제로 그 도구들이 사용되고 있는 서비스들을 함께 살펴보면 도구의 특징을 더욱 잘 이해할 수 있겠다고 멘토님과 대화하면 느꼈다. 

📕 도구가 적용된 실제 서비스를 살펴보자.

이력서 수정

지난 주는 프로젝트에 너무 많은 시간을 써서 이력서를 수정하지 못했지만, 이번 주는 조금 더 다듬어 보았다. 지난 버전은 결국 되고 싶은 스펙을 나열하는 식으로 작성해 보았다면, 이번에는 그 이력서를 기반으로 이번 달 내에 달성할만한, 그리고 달성하고 싶은 목표 수준으로 작성해 보았다. 이렇게 작성된 내용을 기반으로 프로젝트를 진행하고, 진행결과에 맞춰 실데이터를 넣어 수정할 계획이다.

728x90
반응형