Skip to content
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

TcpServer class에 모든 node server 저장하는 기능 추가 #56

Open
1 task done
soob-forest opened this issue Nov 18, 2019 · 2 comments
Open
1 task done
Assignees
Labels

Comments

@soob-forest
Copy link
Collaborator

soob-forest commented Nov 18, 2019

완료조건

  • TcpServer class에 모든 node server 저장하는 기능
@soob-forest soob-forest added the BE label Nov 18, 2019
@soob-forest soob-forest self-assigned this Nov 18, 2019
@soob-forest
Copy link
Collaborator Author

soob-forest commented Nov 18, 2019

  • 모든 프로세스들이 공통적인 nodeList를 가지고 있어야 하기 때문에 항상 동기화가 맞아야 한다. 즉, 공용 자원이라는 뜻이다. 이를 관리하기 위해서,
    첫 번째 방법으로 distributor가 가지고 있는것을 공통으로 가지고 있는 방법과
    두 번째로 redis와 같은 메모리 db를 쓰는 방법이 있는 것 으로 보인다.
    첫 번째 방법의 단점으로는, distributor 서비스가 죽어버리면, 그 이후로는 nodeList관리가 불가능해 진다는 점이 있으므로, 두 번째 방법이 더 올바른 방법이라 생각된다.
    아니면.. 동기화 되지 않을 가능성을 배제하고, 모든 프로세스들이 각자 nodeList를 관리하는 방법도 있다.

@saygenie
Copy link
Collaborator

distributor를 app list manager로, app list manager를 제외한 node들을 app이라고 부르겠습니다.

app list manager 프로세스가 예기치 않게 종료될 때 리스트도 같이 사라진다는 점은 확실히 단점이 맞는것 같습니다.
다만, redis 안에 단순히 app들의 정보를 담고 있을 것인지, 그렇다면 서로 요청을 보낼 때 tcpClient를 생성하고 보내야 하는데 이것이 오버헤드가 심하지 않을지 생각해 봐야할 것 같습니다.

@saygenie saygenie self-assigned this Nov 19, 2019
saygenie added a commit that referenced this issue Nov 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants