IoT Cron

킥보드의 지역 판단 로직 구현, 추후 캐시 적용으로 DB CPU 98%18%
지역 Polygon 데이터로컬 메모리캐싱하고 변경이 발생한 경우에만 다시 가져오도록 개선해 DB 부하 개선
Point가 들어있는 Polygon을 찾는 로직을 DB가 아니라 애플리케이션 단에서 처리하도록 해 DB 부하 개선
하드웨어가 바뀐 경우에만 지역 판단을 하도록 개선해 DB 부하 개선지역 판단 로직 속도 개선
킥보드 자동 펌웨어 업데이트 구현
기존에 수동으로 이루어지던 펌웨어 업데이트를 지역마다 펌웨어별로 자동으로 업데이트하는 크론 구현
지역, 펌웨어 종류, 펌웨어 버전, 펌웨어 우선순위, 업데이트 시간, 최대 동시 업데이트 대수 설정 지원
최신 펌웨어 업데이트 비율을 2%96%로 개선
사용자의 안전을 위해 속도한번에 조정하지 않고 단계적으로 조정하도록 개선
사용자가 킥보드를 돈을 내지 않고 타는 경우를 감지하고, 막고, 예방하는 로직 구현(어뷰징 방지)
기존에 남던 로그에 Job, 킥보드에 따라서 별도 Id를 추가적으로 남기도록 해 킥보드별로 로그조회할 수 있도록 개선
node --inspect 명령어를 통해 잘못된 Logger 사용으로 인해 메모리 누수가 발생하는 것을 발견하고 해소
prom-client를 이용해 핵심 서비스 지표Grafana에서 확인할 수 있도록 구현