<aside>
현재 진행중인 프로젝트의 서비스는 기본적인 API 서버와 LLM 응답을 생성해주는 LLM 서버가 존재한다.
LLM 기능을 제외한 모든 서비스를 가지고 있다.
LLM과 통신하는 서버, 따라서 보안이 굉장히 중요 - 금액적인 부분이 관련되어 있기 때문
이처럼 회원 관련 로직이 API 서버에 있지만 LLM 서버는 특히 금액이 나가는 부분이기 때문에 인가 과정이 필수다. 하지만 API 서버와 LLM 서버가 서로 다른 인가 프로세스를 가지는 것은 서비스 운영 시 복잡해질 가능성이 있다.
사용자가 LLM 서버요청을 보내면 LLM 서버는 요청을 판별하기 위해 API 서버로 요청을 보낸다. 이를 통해 인가 과정이 거쳐지고 사용자는 LLM 서버에서 응답을 받을 수 있을지 결정한다.
</aside>
<aside>
LLM은 비회원도 사용해야한다. 물론 횟수 제한이 있지만 비회원도 어느정도 사용은 가능하다.
즉 해당 회원에 대한 정확한 변별이 필요하다.
이에 비회원에게도 엑세스 토큰을 발급하여 해당 토큰을 통해 LLM 호출 수를 제한한다.
서비스 요구사항은 해당 사용자에 대한 명확한 식별이 중요하다.
하지만 IP는 장소가 바뀔때마다 바뀔 수 있고, 여러 사람이 동일하게 겹칠 수 있다. 또한 USER AGENT는 임의로 값을 변경할 수 있기에 문제가 될 수 있음
물론 회원가입을 하면 토큰이 발급된다. 즉, 비회원에게는 비회원 엑세스 토큰을 제공하고 비회원으로 접근 가능한 서비스의 영역을 제한한다.
</aside>
<aside>
해당 아키텍처 과정을 하나하나 살펴보자
</aside>
<aside>
<aside>