블로그>Blazar 소개: Quicknode 의 전용 Solana 웹소켓 솔루션

Blazar 소개: Quicknode 의 전용 Solana 웹소켓 솔루션

Solana'의 기본 WebSocket PubSub은 부하가 걸리면 메시지를 누락시키고, 세 가지 구독 메서드의 안정성을 저해합니다. Blazar는 인프라 수준에서 이 문제를 해결하며, 오버헤드는 1밀리초 미만이고 모든 메서드를 완벽하게 지원하며, SDK 변경이 필요하지 않습니다.

Quicknode

Quicknode

2026년 4월 14일 — 읽는 데 6분 소요

Blazar 소개: Quicknode 의 전용 Solana 웹소켓 솔루션

WebSockets는 실시간 온체인 데이터가 필요한 Solana 개발자들에게 기본 선택지이며, 프론트엔드 및 모바일 애플리케이션 전반에 걸쳐 폭넓은 호환성을 제공하며, 이벤트 기반 백엔드의 경우 gRPC 보다 더 간편한 구현 방식을 제공합니다.

하지만 Solana 의 기본 WebSocket 구현은 대규모 데이터 처리를 위해 설계된 적이 없습니다. API의 3분의 1은 공식적으로 ‘불안정’으로 표시되어 있으며, PubSub은 부하가 걸리면 메시지를 누락하고, 대부분의 애플리케이션은 본래 필요하지 않아야 할 우회 방식을 통해 이를 은밀히 보완하고 있습니다.

우리는 그 문제를 근본적으로 해결하기 위해 Blazar를 개발했습니다.

블라자르란 무엇인가요?

Blazar는 Quicknode 에서 자체 개발한 Solana 웹소켓 엔진으로, Solana 개발자들이 프로덕션 환경에서 실행하는 워크로드를 위해 처음부터 새로 구축되고 특별히 최적화되었습니다. 이는 어떤 오픈소스 솔루션의 포크도 아니며, Agave의 네이티브 PubSub을 감싼 래퍼도 아닙니다. 이 엔진은 기존 Quicknode Solana endpoint 에 대해 Solana 웹소켓 구독 메서드 전체를 구현하며, SDK 변경이나 마이그레이션이 필요하지 않습니다.

Blazar는 Agave의 기본 PubSub를 기반으로 구축된 그 어떤 솔루션보다 빠르고, 안정적이며, 기능이 더 완비되어 있습니다. Blazar는 성능 저하 없이 대규모 동시 구독자 수를 처리할 수 있으며, Agave의 기본 PubSub가 메시지 누락을 일으키기 시작하는 상황에서도 일관된 메시지 전달을 유지합니다.

기본적인 성능 측면을 넘어, 대부분의 제공업체가 안정적으로 제공하지 못하는 구독 방식에 대해서도 안정적인 지원을 제공합니다.

이전에는 불안정했던 방법들이 이제는 실제 운영 환경에 적용할 수 있게 되었습니다

Solana의 WebSocket API는 9가지 구독 방법을 제공합니다. 그중 voteSubscribe, slotsUpdatesSubscribe, blockSubscribe 세 가지는 최신 Agave 3.x 검증기 클라이언트에서 공식적으로 ‘불안정’으로 표시되어 있으며, 표준 Solana WebSocket 연결에서는 사실상 사용할 수 없습니다.

블록 데이터, 투표 정보 또는 상세한 슬롯 상태 업데이트가 필요한 개발자들에게 있어, 이러한 메서드들은 예외적인 경우가 아니라 필수적인 요소입니다.

🌠Blazar에서는 불안정한 모든 WebSocket 메서드가 안정적으로 작동합니다. SDK 을 수정할 필요가 없습니다.

투표하기 구독하기

투표하기 구독하기 슬롯이 확정되기 전이고 최종성 보장이 이루어지기 전인, 처리된 커밋 단계에서 투표 트랜잭션이 실행되는 즉시 이를 전달합니다. 이러한 불안정성으로 인해 대부분의 애플리케이션 개발자들은 이를 거의 활용할 수 없었습니다. Blazar에서는 이 기능이 안정적으로 제공되므로, 낙관적 확인 추정, 투표 참여 대시보드, 또는 지분 가중치 기반 블록 최종성 추적과 같은 도구들을 활용할 수 있게 되었습니다.

슬롯 업데이트 구독하기

슬롯 업데이트 구독하기 슬롯의 전체 수명 주기를, ~부터 ~까지 firstShredReceived ~을 통해 완료됨, 낙관적 확인, 그리고 결국 뿌리내린. 종단 간 지연 시간을 벤치마킹할 때, 네트워크가 슬롯을 처음 감지한 시점과 애플리케이션이 이를 감지한 시점을 정확히 파악해야 한다면 이러한 세부 수준이 중요합니다. 또한 이를 통해 낙관적 확인, 폴링이나 완전한 최종성(finality)을 기다리지 않고도 슬롯에 대해 실질적으로 안전하게 조치를 취할 수 있는 가장 이른 시점입니다. 이전에는 이러한 슬롯 수준의 신호를 안정적으로 수신하려면 자체 검증자 인프라를 운영해야 했습니다. Blazar에서는 표준 WebSocket 연결을 통해 이 신호가 전달됩니다.

blockSubscribe

blockSubscribe 네이티브 Solana 웹소켓 연결에서는 사실상 사용할 수 없습니다. 사용이 가능한 경우에도 트랜잭션량이 많으면 과도한 메시지 크기로 인한 오류, 연결 끊김, 또는 데이터가 무통보로 누락되는 현상이 빈번하게 발생합니다. 반면 Blazar에서는 이 기능이 완벽하게 지원되고 안정적으로 작동하므로, 블록 단위 구독 데이터가 이전과는 달리 실질적인 대안으로 활용될 수 있습니다.

확장된 메서드 지원

Blazar는 또한 다음을 지원합니다. transactionSubscribe, 이 메서드는 원래 Triton이 자사의 Whirligig WebSocket 프록시의 일부로 도입한 것입니다. 이는 표준 Solana WebSocket API의 일부는 아니지만, 보다 세분화된 트랜잭션 데이터가 필요한 개발자들 사이에서 널리 채택된 확장 기능으로 자리 잡았습니다. 로그 구독 또는 계정 구독하기 제공합니다. 이 방법을 사용하면 계정, 거래 결과, 약정 수준별로 필터링할 수 있어, 프로그램 활동을 실시간으로 추적하거나, 실패한 거래에 대해 알림을 보내거나, 폴링 없이 실시간 스왑 피드를 구축하는 데 유용합니다.

성능상의 장점

저희는 실제 mainnet 환경에서 Blazar를 가장 널리 사용되는 오픈소스 웹소켓 프록시인 Solana 와 비교 벤치마킹을 진행했습니다. 그 결과는 다음과 같습니다.

신뢰할 수 있는 배송

Agave의 기본 PubSub 메커니즘은 기본적으로 단일 워커 스레드에서 실행되므로, 사용 가능한 코어 수와 관계없이 모든 구독 처리에 병목 현상을 일으킵니다. 네트워크 부하가 심한 상황, 즉 실시간 데이터가 가장 중요한 순간에 기본 PubSub 시스템은 메시지를 누락시키고 예측할 수 없는 지연 시간 급증을 초래합니다.

Blazar는 이러한 오류 유형을 제거하기 위해 특별히 설계되었습니다. 동일한 고부하 조건에서 Blazar는 안정적이고 일관된 결과를 보여주었습니다:

블라자르가 연결을 끊지 않음

소스에서 더 빠르게 데이터를 가져오기

표준 RPC 인프라는 더 광범위한 Turbine 네트워크를 통해 데이터를 수신하므로, 이벤트가 전파 경로의 더 하류 단계에서 도착하게 됩니다. Blazar의 업스트림 데이터 소스는 ShredStream을 기반으로 하며, Turbine 상위 100개 리더로부터 ‘shred’를 수신합니다. ShredStream이 활성화된 소스는 일반 공개 Turbine 소스보다 약 200~250ms 더 빠르게 데이터를 전달합니다. 이러한 선행 시간은 Blazar가 처리를 시작하기 전에 모든 이벤트에 반영됩니다.

Blazar는 온체인 이벤트가 발생하고 애플리케이션이 이를 수신하기까지의 지연 시간을, 부하가 심한 상황에서도 1ms 미만으로 유지합니다. 이는 계정 업데이트, 전체 블록 및 기타 모든 구독 유형에 적용됩니다.

블라자르-더-빠른-연결
Blazar는 테스트된 모든 시나리오에서 가장 널리 사용되는 WebSocket 서버보다 훨씬 더 빠르게 고객에게 데이터를 제공합니다. 200회의 연결 테스트는 SysvarClock 계정을 사용하여 해당 계정이 지속적으로 업데이트되고 있는지 확인합니다.

Blazar는 테스트된 모든 시나리오에서 가장 널리 사용되는 WebSocket 서버보다 훨씬 더 빠르게 고객에게 데이터를 제공합니다. 200회의 연결 테스트는 SysvarClock 계정을 사용하여 해당 계정이 지속적으로 업데이트되고 있는지 확인합니다.

화질 저하 없이 스케일링

각 Agave 노드는 모든 구독자의 성능이 저하되기 전에 한정된 수의 WebSocket 구독자를 처리할 수 있을 뿐이며, 이로 인해 추가적인 하드웨어와 더 복잡한 운영이 필요해집니다. 반면 Blazar는 구독자당 성능 저하 없이 대량의 동시 구독을 처리합니다. 총 구독자 수와 관계없이 모든 구독자는 일관되고 지연 시간이 짧은 전송 서비스를 받을 수 있습니다.

메모리 사용률
모든 경우에서 Blazar의 메모리 사용량이 상당히 감소했습니다.

모든 경우에서 Blazar의 메모리 사용량이 상당히 감소했습니다.

블라자르 CPU 사용량
Blazar는 대부분의 경우 CPU 사용량을 상당히 줄여줍니다.

Blazar는 대부분의 경우 CPU 사용량을 상당히 줄여줍니다.

벤치마크는 제어되고 격리된 환경에서 수행되었으며, 클라이언트는 별도의 컴퓨터에서 서버에 직접 연결되었고, 그 사이에 로드 밸런서나 에지 계층은 없었습니다.

개발자들에게 이것이 의미하는 바

Quicknode 를 기반으로 개발하는 개발자의 경우, Blazar로 인해 WebSocket 연결에 대해 가정할 수 있는 사항이 달라집니다:

  • 우회 처리가 줄어듭니다. 전송의 신뢰성 부족을 보완하기 위해 재시도 로직, 간격 감지, 중복 연결 등의 기능이 존재합니다. Blazar가 인프라 수준에서 신뢰성을 처리하므로, 이러한 보완 코드는 더 이상 필요하지 않게 됩니다.

  • 전체 데이터 streams. 애플리케이션이 알림을 수신하면 , 그 알림에 선행하는 이벤트들도 함께 도착합니다. 스트림이 연속적으로 흐른다는 가정 하에 로직을 구성하십시오.

  • 대규모 환경에서도 예측 가능한 성능. 연결 수가 증가해도 구독 성능이 저하되지 않습니다. 애플리케이션이 확장되더라도 성능이 급격히 떨어지는 일은 없습니다.

🌠Blazar는 무료 업그레이드이며, ‘ Quicknode ’ 고객이라면 이미 Blazar를 사용하고 계십니다.

Blazar는 별도의 제품도, 추가 기능도, 프리미엄 등급 기능도 아닙니다. 이는 모든 Quicknode Solana WebSocket endpoint 에 제공되는 무료 업그레이드이며, 이미 모든 요금제에 적용되었습니다. 별도로 활성화할 필요도, 마이그레이션할 필요도, 추가 비용을 지불할 필요도 없습니다.

시작하기

  1. Quicknode 대시보드에 로그인하세요.

  2. Solana endpoint 를 선택하세요.

  3. WSS( endpoint ) URL을 복사한 다음, 기존 WebSocket 클라이언트 코드를 사용하여 연결하세요.

Solana 웹소켓을 처음 접하시나요? ‘TypeScript를 사용하여 Solana 블록체인에 웹소켓 구독을 생성하는 방법 ’ 가이드에서 필요한 모든 내용을 확인할 수 있습니다.

결론

Blazar는 1밀리초 미만의 처리 오버헤드를 제공하며, Agave에서 불안정하다고 표시된 3가지를 포함해 총 9가지 구독 방식 모두에 대한 안정적인 지원을 보장하고, 대규모 환경에서도 일관된 벤치마크 성능을 유지함으로써, Solana 의 기본 WebSocket 구현이 부과하는 신뢰성 및 성능의 한계를 해소합니다.

WebSockets는 개발자가 실시간 온체인 데이터를 확보할 수 있는 가장 쉬운 방법 중 하나로 여전히 꼽힙니다. 이제 이를 뒷받침하는 인프라도 실제 요구 사항에 부응하게 되었습니다. Quicknode 대시보드에 로그인하여 시작해 보세요.


소개 Quicknode

2017년에 설립된 Quicknode 은 개발자와 기업을 위해 엔터프라이즈급 블록체인 인프라를 제공합니다. 99.99%의 가동률과 77개 이상의 체인을 지원함으로써, 팀들은 타협 없이 온체인 애플리케이션을 구축하고 확장할 수 있습니다.

오늘 바로 시작하세요

최신 소식을 받아보세요

최신 엔지니어링 인사이트, 제품 업데이트, 웹3 뉴스를 여러분의 이메일로 바로 받아보세요.