본문 바로가기

개발일지/WIL

[ 230813 ] 35주차 회고

일주일 간 진행한 내용

 

1. 알림 기능 개발
2. 더미 데이터 생성
3. 성능 테스트 툴 선정

 

 


알림 기능 개발

 

[진행]

알림 기능을 위해 실시간 통신에 대해 알아보았다. Polling, SSE(Sever Sent Events), WebSocket에 대해서 알아보고 비교를 했다. 각각의 장단점과 내가 구현할 기능의 특징을 고려하여 SSE을 선택하게 되었다. SSE를 사용해 기능을 구현을 하고 테스트를 했다. 이후에 SSE를 사용하는 기능이 실시간 입찰 조회가 있어서 코드를 합치는 과정에서 문제가 있다는 것을 알았다. 그래서 실시간 입찰 조회 맡은 팀원과 이야기하여 SSE 클래스를 하나 만들어 사용하기로 하며, 문제를 해결할 수 있는 코드를 작성했다. 

 

[생각]

공통된 부분의 코드는 사전 협의를 해서 작성을 하고 시작하는 것이 좋다는 생각을 했다. 이번처럼 각각의 기능을 구현을 하고 합치다 보니 문제를 직면했기 때문이다. 그리고 SSE를 사용하는 방식도 달랐기 때문이다. 미리 SSE 클래스를 만들고 동일한 코드를 사용했더라면 합칠 때 생기는 문제를 최소화할 수 있었을 것이다. 다음부터 어떤 프로젝트를 하든 여러 명이 사용하는 기능들에 대해서는 논의를 하고 먼저 작업을 하고 시작해 봐야겠다.

 

 


더미 데이터 생성

 

[진행]

성능 테스트에 앞서 더미 데이터를 생성하기로 했다. 1차 수집, 2차 수집 등 여러 번으로 나눠서 하기로 했다. 1차 수집은 유저 10만 건과 아이디어 100만 건의 데이터였다. 데이터를 제공해 주는 사이트를 먼저 찾아봤으나 우리가 원하는 것은 없었다. 그래서 성능 테스트를 위한 데이터이기에 직접 만들기로 했다. Java Faker를 사용해서 이름과 아이디가 중복되지 않는 유저 10만 건의 데이터를 만들었다. 90만 건의 종료된 아이디어와 10만 건의 종료되지 않은 아이디어 데이터를 만들었다. 만든 데이터는 모두 DB에 넣었다.

 

[생각]

적절한 데이터를 구하는 것이 어렵다는 것을 느꼈다. 그러다 보니 연관이 없지만 성능 테스트를 위한 데이터를 만들게 되니 찝찝한 마음이 없지는 않았다. 데이터가 필요한 서비스를 만드는 것보다 데이터를 생성할 수 있는 서비스를 만드는 것이 좋겠다는 생각이 들었다. 이후 다른 프로젝트를 할 때는 이러한 것을 많이 고려해 봐야겠다. 그렇지 못하는 상황이 나온다면 적절한 데이터를 더미 데이터들을 만들 수 있는 방법을 더 많이 고민해 봐야겠다.

 

 


성능 테스트 툴 선정

 

[진행]

더미 데이터를 넣은 이후에 성능을 테스트하기 위해 툴을 선정했다. 성능 테스트 툴을 선정하기 위해 상황을 고려하여 몇 가지 기준을 선정했다. "HTTP, WebSocket 프로토콜을 지원하는가?" 등의 기준을 가지고 찾아보니 5~6가지의 후보군이 나왔다. 하나하나 따져보니 모든 기준을 부합하는 것은 Jmeter였다. 

 

[생각]

처음에는 무작정 툴을 선정해 보려고 팀원들과 찾아보았더니 너무 범위가 넓다는 생각을 했다. 그래서 내가 기준이 필요하다고 생각을 했고 팀원들에게 제안을 했다. 이를 통해 기준을 정했고 빠르게 툴을 선정해 볼 수 있었다. 방향성을 잘 정해준 것 같아서 기분이 조금 좋았다. 이런 좋은 장점을 보았으니 앞으로도 기술 결정은 먼저 팀의 상황과 프로젝트의 특징을 고려하여 기준을 정하고 시작해야겠다. 

'개발일지 > WIL' 카테고리의 다른 글

[ 230827 ] 37주차 회고  (0) 2023.08.27
[ 230820 ] 36주차 회고  (0) 2023.08.20
[ 230806 ] 34주차 회고  (0) 2023.08.06
[ 230730 ] 33주차 회고  (0) 2023.07.30
[ 230723 ] 32주차 회고  (0) 2023.07.23