샤딩을 위한 스마트 컨트랙트 설계

초보 시스템 설계자가 자주 묻는 질문은 "마이크로서비스가 얼마나 커야 합니까?" 입니다. - 다시 말하자면, "마이크로서비스가 너무 단일체적 (monolithic) 이어서 두 개로 분할되어야 하는 경우는 언제입니까?"

이 질문에 대한 답은 없습니다. 예술입니다. 여기서 중요한 아이디어는 Kubernetes가 자기의 작업을 수행하도록 지원하는 것입니다. 마이크로서비스가 작을수록 Kubernetes가 새 인스턴스를 생성하고, 필요에 따라 이동하여 시스템을 최적화하기가 더 쉽습니다. 그러나 크기가 작을수록, 더 많은 작업이 비동기화 (asynchronous) 되므로 개발자가 복잡한 흐름을 구현하기가 더 어려워집니다.

동일한 추론이 TON 컨트랙트 샤딩에도 적용된다는 사실을 발견했습니다. 아이디어는 TON 자동 샤딩 (auto-sharding) 이 자기 일을 하도록 하는 것입니다. 상태 데이터를 여러 스마트 컨트랙트 인스턴스로 분할하여 로드가 증가할 때, 더 작은 조각으로 분해하고 다른 샤드체인으로 효율적으로 이동할 수 있도록 하는 것입니다. 다시말하지만, 너무 적극적으로 샤딩을 하면, 비동기성 증가로 인해 너무 많은 복잡성을 처리해야 합니다.

Last updated