Closed bconfiden2 closed 2 years ago
되는대로 최대한 빨리 Collect에서 Predict로 보낼 데이터 명세 알려줘!
predict 모듈에서 http 프로토콜로 API 서버 열어놓는거 어때
스케일러가 프로메테우스에 쿼리 날려서 해당 서비스의 트래픽 받아온 다음, predict가 열어놓은 서버에 포스트로 값 넘겨주고 레플리카 수 반환받아오는 방식으로!
API 명세만 합의해놓으면 독립적으로 진행할 수 있을 것 같은데?
/model/{id}/predict
{
"usage_data": <list>,
"curr_pods": <num>,
}
/model/{id}/result
{
"result": <num>,
}
소켓 통신하는거 그대로 냅두고, 모델이랑 스케일러를 파드로 나누지 말고 같은 파드 내에서 컨테이너로 나누자
컨테이너끼리 통신하는거는 그냥 localhost 로 가능한 걸로 확인해서 문제도 없을 것 같고, 스케일러랑 모델부분이랑 독립적으로 진행하기 더 편해서!
http 안쓰고 소켓통신이니까 클라이언트가 요청하는 방식만 알려주든지 아님 클라이언트 코드를 커밋해줘!
나중에 스케일러쪽도 api 호출이 아니라 Go에서 제공되는 라이브러리 사용하는 방식으로 다시 짤 예정이라,
소켓 통신 방식으로 짜더라도 클라이언트 쪽을 다시 짜야 해서 그냥 처음부터 다시 하고 있을게!
시간되면 서버쪽도 fastapi 로 구현해놓을게
내용
Collect, Predict, Update 컴포넌트 사이에 필요한 데이터 명세 맞추기