개발일기 - 2022-05-17

jude Kim·2022년 5월 17일
0

개발일기

목록 보기
14/28

몸상태 안좋은지 8일째 - 인후통, 복통

오전

  • DB 속도 지연에 대한 원인 확인 및 대응
  • Daily Scrum

오후

  • 정기 기획 미팅
  • Timezone 관련 코드 리뷰 및 Local 환경의 Default Timezone 설정
  • PR 머지
  • PR 리뷰
  • Object Builder 설계
  • Detail 조회 API 작성

Local 에서 Docker Desktop 환경하에서 K8s를 설치해서 Postgresql(Master, Slave)Redis Cluster, LocalStack, Pgpool, Nginx Ingress Controller 들을 띄우고 있다.
현재 머신이 Mac 14 Pro 10Core, 32GB, 1TB 인데.. 슬슬 팬이 돌아가고 뜨거워지기 시작했다.
로컬 환경이라 빠를것이라 생각했던 것들이 2sec 내외가 걸려 Webflux 서버의 종특인가(?) 싶었는데 느려도 너무 느려 불안해졌다.
빨리 AWS에 Dev 환경을 띄워야 하나? 라는 고민과 함께 Connection Pool 관련해서도 찾아보고 이것저것 시도해봤다.

빠르게 설정 및 테스트를 반복하다가, Driver 의 타입이 Pool이어서 이걸 postgresql 로 바꾸어봤더니, 500ms 정도로 응답속도가 꽤 빨라졌다.
우연히 지나가는 포스트에 Driver를 mysql 로 썼다가 Connection Pool이 정상적이지 않았어서 pool 로 꼭 써야 한다는 글을 봤었던 기억이 있어서 그대로 두었었는데..
DB를 바꾸니 시행착오가 더 많아졌다. 걱정은 되지만 심각한 수준은 아닌지라..
일단 버텨본다.

ObjectBuilder 설계를 진행하고 있다.
생각보다 고려해야할 것들이 많다.
Json String을 기반으로 할 것인가? PostgreSQL의 jsonb 타입을 기반으로 할 것인가 고심중인데, 현재로선 String으로 처리할 것 같다.

API 에서 가장 빈번한 것이 json serialize/deserialize 이다.
json 객체의 사이즈도 적지 않아서 로드가 꽤 되기도 한다.

객체 정보를 기반으로 실시간 필터링도 필요한 구조라, 객체화 되어 있는것은 필요해보인다.

다만, 실서비스용 Detail View에 대한 객체 정보가 아직 없는 상태에서 임의로 데이터를 만들어 진행하다보니 한계가 있다.

그래서 서비스용으로 생성될 객체 정보를 처리할수 있는 API를 먼저 개발하여 대응할 예정이다.

ObjectBuilder를 시작하니 과거의 상황이 떠올랐다.
어쩔수 없이 구성된 Data 구조들, 여러히스토리가 섞인채 복잡하게 얽혀있던 코드들, 다양한 구성원들의 다양한 코드 스타일이 범벅되어 있는 그 덩어리를 유지보수하던 그 시절이 다시 떠올라 머릿속이 복잡해졌다.

우선 최대한 Simple하게 진행하자.

너무 멀리가지 말자를 또 다짐해본다.


오늘의 쇼핑

  • 고양이 용품 - 모래, 츄르, 구강세척제, 건사료
profile
씨봉봉이

0개의 댓글