-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Giganto cluster에서 Publish (stream 방식) 통신 지원 #634
Comments
현재 crusher의 stream 요청에 대한 처리 수신부는 항상 시간순으로 들어온다는 가정하에 처리해서 시계열을 생성하고 있습니다. 위의 상황을 고려해서 crusher의 cluster publish를 지원하기 위한 구현 아이디어를 생각해 봤는데 의견 부탁 드립니다.
|
좋은 의견인 것 같아요. 인메모리로 들고 있을 수 있는 규모를 넘어설 경우를 대비해서 살짝 변형할 수도 있을것 같습니다.
|
Background
#327 (comment)
이 이슈에서 임시로 사용할 약어
고려할 상황들 - CORE
고려할 상황들 - EDGE
구현 방향 아이디어
<구현 방식 2가지>
현시점 2가지 방식 구현이 논의되었습니다. 장단점 및 현시점의 코드 상황에 기반한 논의이므로, 구현 시점에 재확인이 필요합니다.
<방식 1> Hog/Crusher가 가능한 모든 Giganto와의 Multiple connection을 형성하고 유지하는 방식
"마스터 giganto"는 hog/crusher와 최초 연결 시, giganto peer들의 socket addr 정보를 최초 전달하고, 그 이후 peer 변경이 생길 때마다 업데이트를 전달해주는 stream-endpoint-info-connection (이하 "스트리밍정보커넥션") 을 형성
hog/crusher는 "스트리밍정보커넥션"을 통해 전달받은 socket addr에 대해서 전부 동일한 stream_request를 전송.
방식1에 대한 작성자의 의견
<방식 2> Hog/Crusher가 가능한 최소한의 Giganto와의 Multiple connection을 형성하고 유지하는 방식
"마스터 giganto"는 hog와 최초 연결 시, giganto-source(piglet) 매핑 정보를 최초 전달하고, 그 이후 peer 변경 또는 source 변경이 생길 때마다 업데이트를 전달해주는 source-mapping-info-connection (이하 "매핑커넥션") 을 형성
hog/crusher의 stream 전송 요청 발생
방식2에 대한 작성자의 의견
EDGE-Case3 에 대한 고려
EDGE-Case3 을 커버하기 위해선 방식 1, 2 어떤 것을 택하든 과거 giganto와 연결되었던 source 히스토리를 확인할 수 있는 기능이 필요합니다. (구현방식이 인메모리 히스토리 테이블이든, db key 검색이든, 어떤 방법이든 간에)
The text was updated successfully, but these errors were encountered: