서버는 한대고 일단 프로그램이나 성능 문제는 없음.
문제는 포트….
개발하고 테스트 할 때는 로컬 네트워크라서 그냥 클라이언트 5개에 2만개씩 해서 붙임
근데 실제 서버는 라우터 밑에 있고 외부에서 접속이 오자너?
이러면 소켓이 라우터IP:라우터포트:서버IP:서버포트로 열리는디
라우터 포트 빼고는 다 고정이란말임. 연결이 6만개 이상 안열림 ㅠㅠ
고민하다가 마침 서버에 nic이 하나 더 달려 있어서 그걸 쓰기로 함
그러면 12만개 까지는 붙을거 같아서
근데 라우터에서 두 nic으로 어떻게 forward 하는지를 몰겠음
HAProxy 같은거 중간에 껴서 로드밸런싱 해도 결국 라우터랑 로드밸런서는 1:1이라 안될거 같은데…
혹시 해결 방법 있으면 알려주삼 ㅠㅠ
라우터가 직접 연결 맺는게 아닌데 왜 65k 문제가 있지
직접적으로 라우터 문제는 아닐 거임. 하나의 컴퓨터를 클라이언트로 삼아 다른 서버에 접속하면, 서버쪽은 리소스가 충분하면 수십만개도 받을 수 있겠지만, 클라이언트는 65k이상의 포트를 쓸 수 없으니까
라우터랑 서버랑은 1:1이잖음
서버에 NIC를 2개 달면, 서버 IP가 두 개인 셈. IP로 바로 접속한다면, 클라이언트에서 2개의 IP를 목적지로 번갈아 쓰면 되고, DNS로 쓴다면 DNS 레코드에 2개의 IP를 올려두면 됨. 라우터에서 만질 설정이 아님
bond 쓰면됨
설명해준건 공인 아이피가 두개인 상황 아님? 서버 IP는 두개지만 이건 NAT 밑에 ip고 DNS가 가리키는 ip는 하나인 상황임.
시스코랑 쥬니퍼는 Dyn NAT 쓰면 될거 같은데 장비가 없어서…
LB에서 preserve source ip 기능이 있다면 써보셈. 그러면 일단 생각하는 문제는 해결될듯?
이게 제일 방법이 나올듯 키워드 감사
혹시 LB가 시스코 같은 하드웨어 NLB임? Haproxy나 envoy같은거임?
NLB 생각하고 적은거긴 한데 istio 정도면 비슷하게 기능 있을듯
우리 서버 대당 TCP 세션 30만개씩 붙음
서버 라우터로 묶으면 안됨 스위치를 써야지