소프트웨어 및 프로그래밍/네트워크 프로그래밍
-
gRPC 클라이언트 서비스를 생성할 때 채널 상태를 우선 파악해야 할까?소프트웨어 및 프로그래밍/네트워크 프로그래밍 2024. 12. 6. 19:23
gRPC로 클라 프로그램을 작성할 때 든 생각이다. gRPC는 채널을 생성하고 stub에 서비스를 실행하니, 채널이 정상인지 아닌지 먼저 확인해야 되지 않을까? 채널 상태를 파악하고 서비스를 호출해야 조금 더 최적화 된 코드가 아닐까? 위와 같은 생각이 들어 구글링을 하던 중 좋은 글을 발견하였다 >> 글의링크 결론적으로 말하면 채널의 상태를 우선 파악할 필요가 없다.우리가 사용하는 gRPC의 Channel은 어플리케이션 레벨에서 추상화한 무엇이다. 실질적인 tcp 커넥션을 의미하지 않는다. 그러므로 아무리 Channel이 Ready 상태여도 서비스 호출에 무조건 100% 전달된다는 보장이 없다. 그러므로 우선 RPC 호출을 해봐야 서버의 상태로 실패를 하든지 네트워크로 실패를 하든지 RPC를 호출을 해..
-
epoll server chatting app소프트웨어 및 프로그래밍/네트워크 프로그래밍 2020. 3. 26. 11:07
https://jacking75.github.io/choiheungbae/%EB%AC%B8%EC%84%9C/epoll%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%9C%20%EB%B9%84%EB%8F%99%EA%B8%B0%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D.pdf select fd_set : 고정 비트 테이블 사용, 크기가 고정 이벤트가 발생 감재를 위해서는 순차검색, O(n) 데이터가 오면 기존 fd_set을 모두 변경 epoll fd의 수가 무제한 fd를 커널에서 관리, 상태가 바뀐 것만을 직접 통지 --> O(1) fd_set 복사 불필요 epoll 함수 epoll_create epoll_ctl epoll_wait epoll_cr..