일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- nplus1
- selenium
- XSS
- 자바
- n8n
- 자료구조
- kafka배포
- QA
- STOMP
- 캐시의 작동 원리
- 스프링시큐리티
- 부트캠프
- springboot
- jwt토큰
- 티스토리챌린지
- 프로세스와스레드의차이
- 오버로딩
- 프로토콜역할
- 헥사고날아키텍처
- 오블완
- 메소드
- 한화시스템부트캠프
- 자동화워크플로우
- 하이브리드접근법
- JPA
- Kafka
- 테스트케이스
- N+1문제
- Java
- 엘라스틱서치
- Today
- Total
아쿠의 개발 일지
한화 시스템 부트 캠프 26주차 회고 본문
안녕하세요 여러분 뭔가 마지막 회고는 수료 후에 올리고 싶어서 미루게 되었습니다. 일단 ! 저는 무사히(?) 수료를 하게 됐습니다.
마지막 회고인 만큼 배운 내용보다는 어떤 마음 가짐을 갖게 됐는지에 대해 중점적으로 말씀 드리고 싶습니다...
이제 회고록은 오늘 이후로 마무리 되겠지만 앞으로 코테 준비 혹은 취준을 하는 과정을 열심히 올려볼게요(?)
사실 지금도 열심히 서류를 넣고 있습니다 ,,, 하하 !!
이 글을 보시는 여러분들의 막힘 없는 취준과, 좋은 결과만이 오길 바라겠습니다 🙇🏻♀️
기도하는 아이콘 찾느라 힘들었네요... 이제 시작합니다 !
2024.10.21 ~ 2024. 10. 24
이제 정말 수료까지 일주일도 남지 않는 시간이기에 기능 구현을 멈추고 테스트를 하는데 중점을 두었습니다.
저희 프로젝트는 현재 알람을 리마인드 해 주고 있기에 스프링 배치를 도입하게 됐는데요,
스프링 배치를 도입하기 전에는 주기적인 CPU 사용량이 급등하는 그래프를 보실 수 있습니다.
스프링 배치를 도입한 후에는 배치를 실행 할 때만 급등하게 되고, 따로 운영을 하기 때문에 본 서버에서는 영향을 주지 않는다는 점에서 더욱 안정성 있는 서버를 운영할 수 있게 됐습니다.
11.26%의 성능이 개선 됐고, 좀 더 노력하면 더 개선할 수 있지 않을까? 하는 욕심도 들었습니다.
😂 이건 나중에 할 시간이 된다면 해 보겠습니다. (언니 보고 있지?)
또한 저희는 성능 개선을 회의록 공동 작성 부분에서도 진행 했는데요 !
Redis를 도입하게 되면서 어느점이 개선 됐는지 말씀 드리겠습니다.
동일한 회의록 ID 기반으로 한 토픽을 구독하게 했습니다.
실시간으로 같은 내용을 전달 받게 되는 부분은 채팅 기술과 흐름이 같았습니다.
하지만 중요한 차이점은 Redis를 사용하냐. 의 차이였는데요, 성능 최적화를 위해 Look A Side 패턴을 적용하여
1. 데이터를 먼저 Redis 캐시에서 조회하고,
2. 캐시에 없을 경우에만 DB에서 조회 후,
3. 캐시에 저장하는 방식으로 읽기 작업의 효율성을 높인다.
이게 Look A Side 패턴입니다. 마지막으로, 회의록을 저장할 때는 Redis에 저장된 데이터를 현재 쓰고 있는 MariaDB로 옮겨
데이터의 일관성을 유지하면서, 시스템이 안정적으로 동작하도록 했습니다.
처음에는 Redis없이 MariaDB만을 사용했지만, 회의록을 계속 적을 때 마다 업데이트 쿼리를 날리다보니 DB의 부하로 인해 성능이 저하됨을 인지하게 됐습니다.
이를 통해 JMeter를 사용하여 테스트를 진행했고, 프로메테우스와 그라파나를 통해 시각화 작업을 한 결과
평균 응답 시간이 65% 감소했으며, DB의 부하를 줄이는데 매우 효과적이었습니다. (사진이 날아가서 시각화 한 거는 나중에 ... )
저희는 이렇게 성능 개선을 하게 됐습니다.
또한, 다른 팀과는 다르게 저희는 스프린트 기간에도 성능 개선 뿐만이 아닌 기능을 하나 추가 했는데요 !
제 블로그를 보셨으면 아시겠지만 ' 챗봇 ' 기능입니다. 그동안 기술 설명만 해드리고, 결과는 보여드리지 않았는데 (아닌가?)
모의 발표 때 이해가 되지 않는다는 피드백을 받아 워크플로우 동작 영상을 직접 편집하여 ,,
열심히 이해 시켜드리려고 노력 했습니다. 어차피 끝났고 ,, 여기에도 보여드릴게요 ! 라고 생각을 했는데 용량이 되지 않네요.

이러한 동작을 통해

2번인 회의 자료를 추천 받는 것인데요, 전에와 다른 점이 있다면
Ai-Agent의 Ai모델을 Gemini Ai Model을 쓰고 있었다가 OpenAi Model로 바꾸게 됐습니다.
JSON 형태로 자료를 전달 받아야 했었는데 Gemini 모델은 Output Parser을 제공해주지 않았습니다.
OpenAi는 4.0 버전부터 이를 지원해주고 있었기에 결제를 해서 사용하니 정말 잘 주더라고요 ,, (돈이 최고야)
이렇게 성능 개선과 기능 구현을 끝내고, 최종 발표를 마무리 지을 25일 금요일에 ... 사건이 생기게 됐습니다.
2024.10.25 (금) 최종 D-3 ...
금요일에는 최종 3일 전이기 때문에 모든 팀이 모의 발표를 진행했고,
모두가 피드백을 해주며 그런 화기애애한 시간을 보내고 있었습니다.
이제 마지막으로 ! 교육이 끝나기 2시간 전 즈음에 n8n에 가서 서비스를 확인 하려고 했습니다.
근데 갑자기 사이트 접속이 안 되는 겁니다 ,,
5시 10분에 저희 쿠버네티스 서버가 날아갔습니다 ...
일단 Master 노트북 자체의 충전기가 뽑혀져 있었고, 그 과정에서 꺼지게 되면서 Master가 맛이 가게 됐습니다.
Master 노트북이 맛이 가면 어떻게 되나요 ?! 하실 수 있는데요.
현재 저희는 Master 한대, Worker 4대로 구성 된 환경이었는데
1. 클러스터 관리 불가 : Master 노드가 다운되면, Worker 관리가 안 되고, 새로운 작업이 불가능하다.
2. 대시보드 접근 불가 : K8S의 대시보드는 Master 노드의 API 서버와 통신하기 때문에, 접근이 안 된다.
3. 스케줄링 중단 : 그냥 망했다.
4. 오토스케일링 및 셀프힐링 중단 : 그냥 파드도 복구 안 하고, 망했다.
Master가 맛이 가게 되면서 초기화를 해야 하는 상황이 오게 됐습니다.
그동안 작성했던 모든 설정 파일이 사라지게 돼서, 적어두지 않았으면 처음부터 재구성을 해야 했습니다.
한 ... 70% 정도는 그래도 있었는데, 30%의 유실도 최종 3일 전에 닥쳐왔기에 너무 멘탈이 흔들렸습니다...
당장 파일 작업이 가능 한 환경도 아니었고, 먼저 Master를 초기화 한 후에 클러스터 구성을 해야 했습니다.
그나마? 다행인 것은 모든 팀원들의 worker를 초기화 하게 됐는데
제 worker는 그나마 정상이었기 때문에 그대로 두고 제가 Master 구성을 하게 됐습니다.
강사님의 엄청난 도움을 받고, 처음 시작하는 마음으로 구성했습니다. 처음으로 K8S 구성을 할 때 약 1주일 정도 걸리게 됐는데
이 모든 작업을 강제 퇴근 시간인 10시 전까지 끝내야 했습니다. (4시간 30분정도 남은 시간...)
급하게 하지 말고, 천천히 한 개씩 하자.
라는 마음가짐을 잃지 않은 채 팀원 전체적으로 대화를 하며, 1단계가 다 됐으면 다 같이 2단계를 가고 차근차근 실행 했습니다.
다 같이 IP 주소를 설정하고, 핑 테스트 후에 확인이 되면 넘어갔습니다.
nginx 서비스를 일단 올려서 로드밸런서가 되는지 확인 하기 위해서 테스트도 진행 했습니다.
여기서 끝이 아닌 ,, https를 해둔 tls설정까지 날아갔기 때문에 처음부터 해야 했습니다.
저번에 블로그에 tls 설정을 올리게 됐는데 실제로 이걸 참고하면서 한 개씩 차근차근 진행 했습니다.
여기에서 문제가 발생하게 됐고, 다시 인증키를 다운 받느라 시간을 많이 지체하게 됐습니다.
10시가 됐고, 강제로 나가야 했지만 매니저님이 정리할 수 있는 편의를 봐주셔서 정리 후에 나갈 수 있었습니다.
(야간 매니저님 너무너무 감사합니다... 정말 덕분에 해결 했습니다 ㅠㅠ )
주말에 나올 생각을 했고, 문을 열어주시길 간절히 기도하며 집에 가게 됐습니다.
강사님과 새벽에도 소통을 하며, 왜 안 됐는지에 대한 문제점을 찾아 주셨고 해결하게 됐습니다.
여기에서 어떻게 확인이 가능했냐? 하신다면.
예전에 집에 있는 컴퓨터와, 학원 노트북을 원격 연결을 해 둔 적이 있습니다.
그 덕분에 집에서도 학원 노트북에 접속해 확인할 수 있었습니다.
빠르게 새로 파진 저희 디코방의 이름은 '응급실'이었습니다. 새벽 1시에 해결하게 됐고,,,
주말동안 다시 데이터를 넣어서 최종 발표를 할 수 있게 됐습니다.
이렇게 다사다난하게 제 최종 프로젝트 준비를 마칠 수 있었습니다. 이제 정말 발표만을 남겨두고, 대본을 외웠고 ,,
생각보다 많은 분량을 발표하게 됐기 때문인지 긴장을 놓을 수가 없었습니다.
2024.10.28(월) 발표 D-DAY ,,,
오자마자 주말에 못 넣은 데이터를 넣었고, 반복적인 테스트를 통해 정말 준비를 마치게 됐습니다.
심사위원분들의 자리가 마련되고, 타임 테이블까지 배치되자 아, 오늘 수료하는구나 ... 정말 실감하게 됐습니다.
매니저님이 갖다 주신 초콜렛 ,,, (감동) 멋지게 발표 후에 먹었습니다. 발표 전에 먹으면 뭔가 다 체할 것 같은 기분.
원하는 순서를 차지하게 됐는데도, (매도 먼저 맞자.) 발표 순서가 다가올 때 마다 심장이 요동치는 것을 느낄 수 있었습니다.
아니 뭐 얼마나 심장이 뛰길래 이래. 하시겠지만
정말 미치게 뛰었습니다. 팀 발표가 시작 되고, 마지막 차례였던 제 차례가 오기 전에 심박수가 147까지 올라가게 됐습니다.
청심환 덕분인지는 모르겠는데, 심장은 뛰지만 긴장은 되지 않는,, 기분? (이 맛에 먹는구나...)
발표를 마치게 되고, (심사위원분께서 발표 잘 한다고 칭찬도 해 주심,,) 마음을 놓은 채 다른 팀의 발표를 듣게 됐습니다.
다들 주말동안 열심히 준비를 해왔다는 게 보일 만큼 완벽했습니다 ,, !
매니저님이 준비해주신 간식을 먹으면서 발표를 듣고, 수료사를 듣게 된 후에 수료증을 받고,,, 수료를 하게 됐습니다.
발표를 할 때도, 강사님이 수료사를 읽어주실 때도, 매니저님이 고생했다고 해 주실 때도
찡... 하는 기분이 들었지 눈물이 나지는 않았는데, 우수 수료생이 되면서 소감 발표를 해야 할 때는 눈물이 날 것 같았습니다.
하고 싶은 말을 다 못하고, 다들 6개월동안 너무 고마웠고 덕분에 성장할 수 있었음을 얘기 했습니다.
뭔가 정말 마지막이라고 생각하고, 실감하니 울컥 했던 것 같습니다.
그때 하지 못한 말을 여기에 써 보려고 합니다 ,, 뭐 볼 사람만 보겠지만요 하핫.
6개월동안 그만두고 싶었던 순간이 몇 번 있었는데, 열정 있는 동료들과 실력 있는 강사님을 포기할 수 없어서 끝까지 버틴 것 같습니다. 아무래도 주변 사람의 영향을 많이 탔던 저는 좋은 사람들이 있었기에 여기까지 올 수 있었습니다.
음 ,, 저는 마지막까지 도움 받지 않은 사람이 없었습니다. 서버가 날아갔을 때도 기다려주신 매니저님과, 끝까지 도움 주신 강사님 그리고 끝까지 함께해준 팀원들이 없더라면 최종을 준비했던 두 달의 시간이 헛수고로 돌아갈 뻔 했으니까요.
매니저님들 강사님 그리고 동료분들 ,, 팀장님 멘토님 전부 다 너무 감사했습니다.
마지막이라고 생각하지 않기에 잘 지내라는 말 대신 고생했다는 말을 하고 싶었습니다. 다들 너무 고생했고, 감사했습니다 !
이젠 정말 끝 !
'ETC > 한화시스템' 카테고리의 다른 글
한화 시스템 부트 캠프 25주차 회고 (2) | 2024.10.20 |
---|---|
한화 시스템 부트 캠프 24주차 회고 (13) | 2024.10.13 |
한화 시스템 부트 캠프 23주차 회고 (5) | 2024.10.06 |
한화 시스템 부트 캠프 22주차 회고 (5) | 2024.09.29 |
한화 시스템 부트 캠프 21주차 회고 (3) | 2024.09.28 |