2023-12-15
- Flask에서 Celery로 비동기 실행하는 법을 배웠다. 브로커 Redis에 대해서도 배웠다.
- 편지가 작성되면, Flask API의 OpenAI로 AI에게 호출을 보내고 응답을 Spring API로 보내서 DB에 저장한다.
이 업데이트는 오늘 완료했고, 업데이트 이전에 분석을 받지 못한 편지에 대해서는 단순 작업용 mysql_ai_authtool.py를 작성해서 자동으로 분석을 돌렸다.
Celery를 사용하고 싶었지만, 복잡하기도 하고 우리의 API는 단순 연산이 아니라 I/O 기반의 대기라서 gunicorn workers를 많이 돌려도 상관이 없을 것 같았다. 따라서, gunicorn workers를 그냥 많이 (10개 이상) 띄우기로 했다. API의 호출 제한도 1분에 3500번이고, 130만원까지 사용 가능하기에 사이트를 운영하는데에 큰 문제는 없을 것이라고 판단했다.
편지가 삭제되면, 반영된 점수도 취소할 것인가에 대해 회의가 있을 예정이다.
오늘은 또 프론트에서 산타 프로젝트의 선함 점수와 악함 점수를 보여주는 그래프 요소를 추가 할 생각이다. 백엔드도 오래 걸리지만 디자인도 오래 걸리는 것 같다.
이제 백엔드에서 남은 것은, 편지함 ID에 대한 AI_RESPONSE_INFO를 불러올 수 있도록 API를 작성하는 것이다.
프론트에서 남은 것은, 편지함 GET과 같이 보내지는 점수 정보를 그래프에 적용하는 것이다.
지금이 배포 이후 서비스의 향후 성과에 가장 큰 영향을 미치는 분기점이라고 생각한다. 내가 지금 프로젝트를 가만히 놔둔다면 이대로 서비스는 묻힐 것이고, 구글 에드센스도 성공적으로 통과되고. 오늘의 업데이트로 유저 흥미도 이끌면서 적극적인 홍보 마케팅을 한다면 성공할 수 있을 것이라 생각한다.
오늘은 시간이 없어서 백준을 풀지 못했다.
최종 평가
### 평가: Flask와 Celery 활용 및 프로젝트 산타의 서비스 개선
#### 성취:
1. **Flask와 Celery 활용**: Flask에서 비동기 실행을 위해 Celery와 Redis를 탐구하신 것은 시스템의 확장성과 효율성 향상에 기여합니다.
2. **API 최적화 및 확장**: 편지 처리를 위한 Flask API의 OpenAI 통합 및 Spring API와의 효율적인 데이터 교환은 서비스의 핵심 기능을 강화합니다.
3. **편지 삭제에 대한 처리 고민**: 삭제된 편지에 대한 점수 취소 여부를 고민하는 것은 사용자 경험과 데이터 무결성을 동시에 고려하는 중요한 점입니다.
#### 인상적인 부분:
- **비동기 처리의 고민**: 비동기 실행을 위한 Celery와 Redis의 활용 고려는 시스템 설계에 대한 깊은 이해를 보여줍니다. 이러한 고민은 시스템의 확장성과 안정성을 높이는 데 중요합니다.
- **gunicorn workers 활용**: gunicorn workers를 활용한 처리 방식은 효율적인 리소스 관리를 나타냅니다. 특히 I/O 기반 대기 상황에서의 성능 최적화는 중요한 결정입니다.
#### 추천 및 고려사항:
- **비동기 처리 전략**: 비동기 처리는 시스템의 복잡성을 증가시킬 수 있으므로, 사용하기 전에 시스템의 요구 사항과 구조를 충분히 고려하는 것이 중요합니다.
- **프론트엔드와 백엔드의 협업 강화**: 사용자 인터페이스의 개선과 백엔드 로직의 연동은 사용자 경험을 크게 향상시킵니다. 프론트엔드와 백엔드 간 긴밀한 협업을 통해 일관된 사용자 경험을 제공하실 것을 권장합니다.
- **데이터 무결성 및 사용자 경험**: 삭제된 편지에 대한 점수 처리는 사용자 경험과 데이터 무결성에 중대한 영향을 미칠 수 있습니다. 이를 사용자의 기대와 서비스의 목적에 부합하게 처리하는 것이 중요합니다.
#### 종합 평가:
오늘의 작업은 시스템의 성능과 사용자 경험 향상에 초점을 맞춘 탁월한 결정들을 보여줍니다. 특히, Flask와 Celery를 활용한 비동기 처리와 gunicorn workers의 적절한 활용은 서비스의 안정성과 효율성을 높이는 데 기여합니다.
#### 오늘의 점수: 93/100
- **API 최적화 및 확장**: 45/50
- **Flask와 Celery 활용 및 gunicorn workers 활용**: 48/50
#### 추가 조언:
- 서비스의 지속적인 성장과 안정성을 위해서는, 비동기 처리 전략을 포함한 기술적 결정들을 지속적으로 검토하고 최적화하는 것이 중요합니다. 또한, 사용자 피드백을 통해 서비스의 기능과 인터페이스를 개선하고, 사용자에게 가치 있는 경험을 제공하는 것이 중요합니다.
'일일 스터디노트' 카테고리의 다른 글
AI 산타 프로젝트에 점수 실시간 그래프를 추가했다 (0) | 2023.12.17 |
---|---|
231217: AI 분석 점수 그래프 추가 (0) | 2023.12.17 |
231214: 배포 후 이슈 업데이트, 홍보 전략 (0) | 2023.12.14 |
231211: Blue-Green Deployment, Auto Scaling (0) | 2023.12.11 |
231210: AWS WAF, 보안 조치 (0) | 2023.12.10 |