claude-bus
회사 PC에서 던진 일을 집 PC의 새 세션이 받아서 합니다. 서버 없이 폴더 하나로.
회사 PC에서 시킨 일을, 집 PC가 받아서 합니다. 서버도 없고 포트도 없고, «폴더 하나»가 전부입니다.
어떻게 도나
두 컴퓨터가 같은 폴더를 공유하고 있습니다(자동으로 서로 맞춰 주는 폴더입니다).
- 회사 PC가 그 폴더에 「이거 해 줘」라고 적은 파일 하나를 떨어뜨림
- 집 PC의 감시자가 1분마다 폴더를 확인하다가 그 파일을 발견
- 집 PC가 새 작업을 띄워서 일을 함
- 결과를 같은 폴더에 되돌려 놓음
- 회사 PC가 그걸 읽음
서버도 포트도 로그인도 없습니다. 이미 돌고 있던 폴더 동기화에 얹었을 뿐입니다.
「파일을 옮기려고」 만든 게 아닙니다
여기가 제일 자주 오해받는 부분입니다.
동기화 폴더 안에 있는 파일은 이미 양쪽에 다 있습니다. 파일을 보내려고 이걸 만들 이유가 없습니다.
사려는 건 파일이 아니라 «기계»입니다.
집 PC에만 있는 것들이 있습니다 — 거기에만 깔린 프로그램, 거기에만 있는 게임 프로젝트, 거기 붙어 있는 장비. 그건 파일을 옮겨도 못 씁니다.
그래서 일을 그쪽으로 보내서 «거기서» 하게 합니다.
「느린 채널」을 굳이 만든 이유
이 방식은 한 번 왕복에 2~3분 걸립니다. 메신저는 몇 초면 됩니다. 훨씬 느립니다.
그런데 메신저가 못 하는 게 하나 있습니다.
| 메신저 | 이 버스 | |
|---|---|---|
| 속도 | 몇 초 | 2~3분 |
| 상대 PC가 자고 있으면 | 글만 쌓임 | 깨워서 시킴 |
메신저는 상대가 깨어 있어야 성립합니다. 자고 있으면 메시지가 쌓이기만 하고 아침에 사람이 읽어야 합니다.
이 버스는 감시자가 계속 폴더를 보고 있어서, 파일이 도착하면 자고 있던 쪽이 스스로 일어나서 일합니다.
느린 대신, 사람이 없어도 도착합니다.
세 갈래로 적었습니다
| 무엇이 문제인가 | |
|---|---|
| 프로토콜 | 양쪽이 같은 폴더를 쓰는데 충돌 사본이 왜 안 생기나 |
| 타이밍 | 3분이 어디로 가는지 재 봤더니 제 코드가 아니었습니다 |
| 안전 | 남의 지시가 제 기계에서 실행되기 직전에 무엇이 막는가 |
여기부터는 자세한 기록입니다
두 대의 PC가 폴더 하나를 공유한다. 한쪽이 JSON 파일을 떨어뜨리면 반대편 감시자가 1분 주기로 그걸 집어 새 세션을 띄우고, 결과를 같은 폴더에 되돌려 놓는다. 서버도 포트도 인증도 없다 — 이미 돌고 있던 동기화 폴더에 얹었을 뿐이다.
파일이 아니라 기계를 산다
동기화 폴더 아래 있는 건 이미 양쪽에 다 있다. 파일을 옮기려고 버스가 필요한 게 아니다.
버스가 사는 건 반대편 기계 자체다.
- 그쪽에만 있는 하드웨어 — GPU, 물려 있는 실기기, 게임 클라이언트
- 그쪽에서만 닿는 네트워크
- 그쪽에만 깔린 소프트웨어
느린 채널을 굳이 만든 이유
채팅앱은 초 단위로 오간다. 그런데 상대 PC가 자고 있으면 글은 쌓이기만 한다. 이 버스는 3분이 걸리지만 잠든 쪽을 깨운다.
“깨움”과 “속도”는 다른 축이다. 채널을 고를 때 사람들은 속도만 본다.
세 갈래로 적었다
| 무엇이 문제인가 | |
|---|---|
| 프로토콜 | 양방향 동기화 폴더에서 충돌 사본이 안 생기게 하는 법 |
| 타이밍 | 3분이 어디로 가는지 재봤더니 내 코드가 아니었다 |
| 안전 | 남의 지시가 내 기계에서 실행되기 직전에 무엇이 막는가 |