오늘 한일
- 고객 피드백을 받았습니다. 일반 사용자들이 아니라 우선 개발자 지인분들에게 실전 프로젝트 사이트를 소개해주었고, 여러 가지 피드백을 받았습니다. 메인 페이지 구성부터, 대화방까지 상당히 많은 문제점에 대해 지적을 받았지만, 가장 큰 문제점은 회원가입이 정상적으로 동작하지 않는 문제점이었습니다. 회원가입의 직관성과 분기가 제대로 설정되어있지 않아 일반 사용자 입장에서는 회원 가입이 성공했는지, 실패했는지 확인하기 힘들었고, 회원가입 실패 메시지가 정상적으로 출력되지 않아 실패했음에도 성공했다는 메시지가 출력되어 계속 로그인을 한 상황도 발생하였습니다. 해당하는 피드백을 받은 아침에 프론트 엔드 분들에게 받은 피드백을 전달해 드렸고, 문제점을 수정하였습니다.
- AWS RDS로 데이터를 이관하였습니다. 기존에는 MySQL과 Redis, Node.js 서버를 하나의 EC2에서 사용하는 모노리스 서버를 구현하였습니다. 빠르게 구현할 수 있고, 이전에도 사용해봤던 방식이기 때문에 모노리스 서버를 사용하였지만, 부하 테스트를 시도하면서 MySQL 서버가 죽거나 Redis 서버가 죽는 상황이 발생하였습니다. 이런 상황에서 두 가지 서버 중 최소한 한 개는 별도의 서버로 데이터 이관을 해야 했고, 현재 가장 많은 연산을 하는 Redis를 별도의 마이크로 서버로 분리하는 것은 연산 속도에는 장점일 수 있지만, 사용자의 위치를 실시간으로 작성 및 조회하는 기능이 있으므로 별도의 서버로 분리하게 되면 통신 속도에서 큰 손해를 볼 수 있다고 판단하였습니다. 그렇다면 남은 것은 MySQL 서버인데, 사용하는 기능 중 실시간 통신이 없고 이전에 백업 및 복구를 구현해본 경험이 있어 데이터 이관을 쉽게 할 수 있을 것 같아 MySQL 서버를 Cloud로 구현하기로 결정하였습니다. 그렇다면 기존에 사용하던 방식처럼 단순히 EC2 서버를 생성해 새롭게 MySQL 서버를 설치 할 수도 있었지만, AWS에서 RDS라는 별도의 데이터베이스 서버를 제공해 주고 있었습니다. DB 서버가 죽거나, 부하가 걸려 오류가 발생해도 손쉽게 대응이 가능할 것 같았고, 퍼블릭 IP를 고정하거나, Linux 서버를 세팅하는 등 별도의 권한 관리가 필요 없어 빠른 구현이 가능할 것이라는 판단으로 RDS 서버를 사용하기로 결정하였습니다.
- 남아있는 업무들이 많아 코딩테스트 연습을 하지 못했습니다. 매일 최소 1개 이상의 문제를 푸는 것을 목표로 하고 있었는데, 처음으로 문제를 풀지 못하였습니다. 단순히 업무가 많아서 풀지 못했다는 생각은 자신의 행위를 정당화하려는 생각인 것 같아 많이 후회스러웠고, 다음날부터 어떻게든 할 수 있도록 마음가짐을 다잡아야 할 것 같습니다.
업무 리스트
- AWS RDS MySQL 5.7 서버 생성 및 파라미터 설정
- AWS RDS MySQL 데이터 이관 [16:39]
- AWS RDS MySQL 서버 Sequelize 연동 [16:39]
- AWS RDS MySQL 서버 EC2 Node.js 서버에 연동 [17:30]
- chat Socket 추방 이벤트 오류 수정 [19:54]
- location Socket 중복 로그인 오류 수정 [22:00]
오늘 배운 것
- 트러블 슈팅 문서 작성
- 고객 피드백 수집
- Socket.io
- AWS RDS
내일 할 것
- 코딩 테스트 연습
- 광고 기획 구상
- 고객 피드백 수집
- 마지막 주간 팀 회의
- Socket 모임 생성 및 삭제 기능 수정
- GeoRedis TTL 조회 및 Expire 구현
- MySQL RADIUS 조회 기능 구현
'항해99 > TIL' 카테고리의 다른 글
2021-08-28 항해99 TIL (0) | 2021.08.28 |
---|---|
2021-08-27 항해99 TIL (0) | 2021.08.28 |
2021-08-25 항해99 TIL (0) | 2021.08.26 |
2021-08-24 항해99 TIL (0) | 2021.08.25 |
2021-08-23 항해99 TIL (0) | 2021.08.24 |