콘텐츠로 건너뛰기
Home » Portfolio » 어려웠던 점

어려웠던 점

1. 실시간 위치에 따른 거리 계산

  • 유저 이동 시 수시로 바뀌는 위치에 따른 주변 좌표 계산을 어떻게 처리해야할지 고민했습니다.
  • 최단 거리를 수시로 계산하기에는 비용이 지수시간으로 증가했습니다.
  • 보다 효율적인 탐색을 하기 위해서는 단순 탐색 방식 보다 개선된 방식이 필요했습니다.
    • 실시간 유저 좌표 기반 부분 탐색 vs GeoHash vs Uber-H3

💡 이렇게 해결했습니다.

  • 실시간 근접성 계산 및 정확성, 편의성을 고려하여 Uber H3를 도입했습니다.
  • 다양한 스케일을 실험하여, 최종적으로 약 200미터 정도의 거리를 가정하고 최적화했습니다.
  • 가장 효율적인 방식을 채택함으로써 생산성을 높일 수 있었습니다.

2. 효율적인 로그 추적

  • 기존에는 Portainer를 통해서 컨테이너들의 로그를 추적해왔습니다.
  • 그러나, 컨테이너 수가 많아질수록, 효율적인 방식의 추적이 어려워졌습니다.
  • 추가적으로, Portainer의 고질적인 콘솔 스크롤 문제는 이전 로그 추적의 불편함을 주었습니다.
  • 다양한 툴을 모색했고, 그 중에서도 가장 간편하면서 강력한 도구를 도입하고자 했습니다.

💡 이렇게 해결했습니다.

  • Dozzle을 도입하여, 여러 컨테이너들의 로깅을 간편하게 진행할 수 있었습니다.
  • 트랜잭션 별로 로그의 가시성이 높아졌고, 이를 통해 생산성을 높일 수 있었습니다.
  • 이를 통해 팀원들에게 보다 직관적인 로그 추적 환경을 제공할 수 있었습니다.