We are Architect

AWSKRG사용자 모임: 을지로 소모임 후기! 본문

이곳저곳 탐방기

AWSKRG사용자 모임: 을지로 소모임 후기!

the best infra 2024. 10. 31. 15:05

살면서 처음으로 관심있는 분야의 모임을 들어가서 여러 이야기를 듣고 왔다.

 

AWS사용자모임은 안에서도 여러 모임이 존재한다. 그중에 오늘은 을지로 소모임이라는 곳에 참석하였다. 

 

서울역에 있는 KDB생명빌딩 건물안에 올리브영에서 모임이 개최 되었으며 들어가는 것만 해도 처음이라서 그런지 긴장 

 

하였지만 생각보다 편안한 분위기 였다. 

 

 

그리고 어리둥절한 상태에서 몆분이 지났으며 올리브영 소속분의 발표로 모임이 시작이 되었다. 

 

비록 아직 나의 수준에서는 이해할 수 없는 내용들의 대화가 오고갔으나 대단한 분들이 계신것은 확인했다.

 

발표는 올리브영의 백엔드 개발자 분들이 나오셔서 진행했으며 주제는 다음과 같았다. 

 

1. Kafka cdc를 이용한 점진적 db 마이그레이션

2. 99.8% 정확도를 가진 이미지 자동 검수 기능 구현하기

3. ECS을 활용한 대량 데이터 처리방법

 

그리고 가서 들은 것들을 메모해 보려고 한다. 

 

 

 

* Kafka cdc를 이용한 점진적 db 마이그레이션

 

# 문제점

  • 온라인 오프라인으로 분리된 시스템 상품관리
  • 연계시스템 의존성 / 동기화 지원
  • 상품데이터의 변경사항 히스토리 traking 필요

 

# 목표

  • 상품통합 프로젝트 > 기존 다양한 db 동기화, 대안은 kafka

 

# 생각나는 키워드 

  • cdc : 데이터 변경 감지, 기존 db에서 데이터가 변경되었을 때 해당 내용을 실시간으로 전달. kafka와 같이 사용하면 실시간으로 데이터를 여러 시스템에 빠르게 반영할 수 있다, 
  • kafka : 실시간 데이터 스트리밍 플랫폼, 데이터를 순차적으로 처리해야 하는 상황에서 사용. 시스템(프로듀서)와 컨슈머(컨슈머) 사이에서 필요할 때 원하는 시스템이 데이터를 받아 볼 수 있게 하는 시스템.
  • aws msk : kafka 완전 관리형 서비스, kafka를 클러스터에 설치 하지 않고 aws가 관리해 주는 완전 관리형 서비스.
  • msk connector : kafka 플러그인으로 데이터를 kafka와 다른 데이터 소스 또는 싱크 시스템(데이터베이스, 파일 스템 등) 간에 이동시키는 역할을 담당.
  • aws msk connector worker : aws 상에서 msk connect를 구현한 것. 
  • msk connector 모니터링: 데이터 독 : 모니터링을 하기 위한 툴이며 사용된 이유는 msk connector를 통해서 데이터기 예상대로 스트리밍 되고 있는지 파악하기 위함. 
  • 파티션 : 하나의 테이블을 논리적으로 여러 개의 작은 부분으로 나누는 방식. 
  • offset 값 : kafka와 같은 메시징 시스템에서 특정 메세지나 레코드의 위치를 가리키는 인덱스. 주로 데이터의 정확한 위치 추적 및 재처리 장애복구, 병렬 처리 최적화를 위해서 사용된다.  

 

 

* 99.8% 정확도를 가진 이미지 자동 검수 기능 구현하기

 

# 문제점

외부 플랫폼을 통한 상품 판매 도중 몆몆 파트너사가 이미지 가이드라인을 위반하는

경우가 다수 였음, 그래서 경고를 받은 상태.

기존 이미지 검수 프로세스를 점검

파트너가 올림 > md가 확인 > 외부플랫폼 전송 > 플랫폼> 담당자

md가 확인 > 사람이 문제…

 

# 문제점

요구 상황과 목표

  • 상품 이미지 품질 향샹 및 일관성 유지기능
  • 외부 플랫폼에서 구매하는사용자의 경험 개선 및 브랜드 이미지 강화

# 해결을 위한 프로젝트 진행 단계

  • 생성형 ai 모델 설정 및 이미지 자동 검수 시스템 생성
  • 검증 시스템 호출 api 개발
  • 온라인 몰 운영 시스템 검증
  • 피드백 및 모니터링 설정

# 키워드 

프롬프트 엔지니어링 : AI 모델이 의도한 대로 응답이나 질문이나 요청을 효과적으로 설계하는 기술.

  • claude 3.5 : Anthropic의 ai 언어 모델
  • Role : ai 모델이나 작업 과정에서 각 요소나 사용자의 역할을 정. ai 역할 = 검수자 
  • 목표 : 프롬프트를 위해서 구체적으로 달성할려는 결과.
  • definition : 역할과 목표를 이해하는 필요한 정의. 
  • checklist : 프롬프트 작성시 검토할 사항이난 기준을 정리한 목록. 
  • caution : 작업을 수행할 때 유의 할 점. 
  • process : 작업의 흐름을 설명하며, 프롬프트 응답부터 ai 응답 평가까지의 과정을 말하며 프롬프트 설계, 테스트 수정, 평가 등의 프로세스로 구성된다.
  • json script : ai와 상호작용에 필요한 데이터나 설정을 json 형식으로 표현한 코드.
  • examples : ai 모델이 응답할 수 있도록 제공하는 예시 프롬프트 답변을 의미. 예시를 통해 ai가 어떤 답변을 제공할지 에측할 수 있고, 원하는 방향으로 답변을 조정할 수 있다. 그로인해 일관성을 높일 수 있다. 

 

 

* ECS을 활용한 대량 데이터 처리방법

1400만 명 회원에게 일괄적으로 쿠폰을 발급한다면?

  • Job management 를 이용한 job 배분
    • Job management server SPOF 존재
      • 해결책:
        • ob management server 를 ECS task로 대체
          • 그러나 동시에 Task이 job을 수행하는데 문제가 생김
            • 해결책:
            • 아마존 MQ 와 ECS로 구성, 그러면 task 동시에 수행 가능.

# ECS를 사용한 이유

  • 비용절감을 위해서 사용.
  • 안정성을 위해서 사용.

# 키워드

  • ECS : aws가 제공하는 컨테이너 관리 서비스. 비용 절감과 안정성이중요한 경우 적합. 쿠폰을 대량 발급하거나 대규모 처리가 필요한 작업에는 자주 사용. 
  • Job management : 대량의 작업을 효율적으로 분배하고 관리하기 위한 시스템. 
  • Job management server SPOF : 시스템에서 하나의 구성 요소가 실패할 경우 Job management 서버가 단일 장애점이 되는 것. 
  • 아마존 MQ : 다중 ECS Task 간 작업 분배를 위해 Job Management 서버의 역할 분산하기 위해 사용하는 관리형 메세지 브로커 서비스. 큐에 작업을 쌓아두고, ECS Task가 큐에서 작업을 가져와 처리.