개요: RPC 요청은 애플리케이션이 Solana 클러스터에 접근하는 관문입니다. 이러한 요청은 합의에 참여하기보다는 주로 이 작업에 전념하는 RPC 노드에 의해 처리됩니다. 그럼에도 불구하고 애플리케이션 사용자의 관점에서 보면 낮은 RPC 성능은 낮은 클러스터 성능과 다를 바 없습니다. 사용자에게 훌륭한 경험을 제공하고 Solana의 속도와 낮은 지연시간을 보여주기 위해서는 작업에 적합한 RPC 인프라를 갖추는 것이 중요합니다.
개발: 개발자는 특히 초기 단계와 테스트 중에 로컬 클러스터를 사용하는 것이 권장됩니다. 로컬 클러스터는 공개 제공 서비스보다 유연하여 최적화되지 않은 초기 반복을 자유롭게 실행할 수 있습니다. 로컬 클러스터를 실행하는 가장 쉬운 방법은 Solana CLI Tools 제품군에 포함된 solana-test-validator 바이너리를 사용하는 것입니다. 애플리케이션이 안정적인 상태에 도달하면 공개 클러스터에 배포하는 것이 더 적합합니다.
모든 코드 최적화 작업과 마찬가지로 RPC 요청의 경우 적을수록 좋습니다. 동일한 데이터에 대해 빈번하고 반복적인 호출을 피하십시오. RPC 요청을 직접 수행하는 클라이언트를 구축하지 마십시오. "백엔드 없는 dApp"은 신화입니다. 당신은 단지 다른 사람의 인프라를 혹사시키고 있을 뿐입니다. 비용이 많이 드는 호출(특히 getProgramAccount, getSignaturesForAddress2, getConfirmedBlock)을 앱에 최적화된 방식으로 캐싱하고 캐시에서 사용자에게 제공하십시오. 라이브 전에 코드를 최적화하는 시간을 투자하면 열악한 사용자 경험 보고서로 인한 많은 골칫거리를 줄일 수 있으며 인프라 비용도 크게 절감할 수 있습니다.
여러 제공업체에서 공개 Solana 클러스터에 대한 무료 RPC 액세스를 제공합니다. 이러한 서비스는 실제 테스트, 초기 데모 및 소규모 비공개 베타 프로그램에 적합합니다. 무료 서비스는 대가를 치르지 않는 만큼의 것만 제공한다는 점을 명심하십시오. 무료 서비스는 일반적으로 자동 확장되지 않고, 속도 제한이 있으며, SLA를 제공하지 않고, 남용자를 차단하는 것을 주저하지 않습니다. 애플리케이션을 대중에게 공개할 준비가 되면 프라이빗 RPC 액세스에 투자할 때입니다.
일부 무료 RPC 제공업체:
Testnet
Devnet
Mainnet-beta
애플리케이션 간 RPC 요구 사항의 가변성으로 인해 일반화된 공개 RPC 인프라는 요구를 충족시키기 어렵습니다. 사용자가 좋은 경험을 얻을 수 있도록 하려면 공개 애플리케이션은 자체 프라이빗 RPC 액세스를 확보해야 합니다. 이를 통해 사용자 수요에 따라 자동 확장하고, 애플리케이션에 맞게 속도 제한을 완화하며, 다른 애플리케이션의 사용자가 귀하의 사용자를 밀어내지 않을 것이라는 안심을 가질 수 있습니다. 여러 조직에서 고가용성 온디맨드 RPC 서비스를 제공하고 있습니다. 아래를 참조하십시오. 제공업체 중 적합한 곳이 없고 자체 RPC 서비스를 실행할 준비가 되어 있다면 Solana Foundation에 지침을 요청하십시오.