LAN, MAN 또는 WAN처럼 여러 컴퓨터에서 실행 중입니까?
LAN에서는 연결하려는 서버가 작동하는 한 분산 된 개체가 제대로 작동합니다. 그러나 당신이 만나는 대부분의 프로그래머들은 눈썹을 치고 아마 "왜 당신은 단지 LAN상의 웹 서버를 사용하지 않고 왜 Distributed Objects와 같은 느낌을주는 래퍼 클래스를 만들지 않았을까요?"라고 묻습니다. 제 말은 웹 서버 문제를 해결할 수있는 도구가 잘 갖추어져 있으며, 분산 된 객체 서버가 아닌 웹 서비스를 구축하는 사람을 고용하는 것이 더 쉽고 저렴하다는 것입니다.
그러나 MAN 또는 WAN에서는 대부분의 경우 느리고 아주 나쁜 생각입니다. 이러한 유형의 통신에서는 HTTPS/HTTP가있는 REST와 유사한 API를 사용하여 XML, JSON 또는 키/값 데이터를주고받는 것이 좋습니다. 그래서 여러분은 이것을 분산 객체와 같은 "느낌"을 갖게하는 클래스 래퍼를 만들 수 있습니다. 그리고 내 직감은 클라이언트에서 로컬 데이터 청크를 캐싱하거나 서버에서 페치를 유지할 필요가 없도록하거나 서버에 캐싱을 할 필요가 없도록하기 위해 속임수를 사용해야한다는 것을 알려줍니다 데이터베이스와 자주 상호 작용할 필요가 없다는 것입니다.
GCD, 분산 객체, 마하 포트, XPC, POSIX 메시지 대기열, 명명 된 파이프, 공유 메모리 및 기타 여러 IPC 메커니즘은 실제로 동일한 컴퓨터에서 로컬 응용 프로그램 통신에 가장 적합합니다. 그리고 당신이 그것을 활용하고 싶다면 특권 승격의 추가 이점을 갖습니다. (참고로 POSIX 메시지 대기열은 워크 스테이션에 따라 다르지만 LAN, MAN 또는 WAN에서도 '메시지 대기열 서비스'를 사용할 수 있습니다.) 많은 제품을 사용할 수 있습니다.
광범위하고 애매하게 대답합니다. 달성하고자하는 것이 무엇입니까? –
설명이 도움이 되었습니까? – dented42