본문으로 건너뛰기
0%

CryptoKitties 제작사 Dapper Labs, 인프라로 Alchemy를 선택하다

Dapper Labs 사례 연구 히어로

Dapper Labs는 크립토 업계에서 가장 성공적인 앱들을 만든 팀이다. 트레이딩 수집형 게임인 CryptoKitties는 2,800만 달러 이상의 매출을 올렸고 160만 마리 이상의 키티를 탄생시켰다. Dapper는 Cheeze Wizards와 세계 최초의 블록체인 기반 디지털 의류인 iridescence를 만들었다. 이어서 Dapper는 NBA Top Shot과 오픈 월드를 위한 블록체인인 Flow를 출시하고 있다. 현재 Dapper Labs는 블록체인에 대한 가장 신뢰할 수 있고 일관된 뷰를 제공받기 위해 Alchemy를 이용하고 있다.

2 Devs

Re-resourced

7 Million

Queries Per Day

1231 ETH

Transactions

다른 솔루션에서는 다운타임, 혼잡, 논스 관리 문제를 겪었던 Dapper

Alchemy와 협력하기 전, Dapper Lab 개발자들은 자체 노드 운영을 포함한 다른 인프라 솔루션을 시도했다. 다른 외부 제공업체를 이용할 때는 네트워크 전체에서 혼잡이 발생했다. 성능은 불안정했으며, 몇 시간씩 완전히 다운되거나 동기화가 안 되는 상태가 지속되었다. 논스 서비스는 품질이 너무 낮아서 Dapper는 결국 대기 중인 논스를 가져오는 것을 완전히 중단하고, 대신 논스를 직접 저장하게 되었다.

성능이 너무 나빠서 Dapper는 직접 문제를 해결하기로 했다. parity 노드를 실험해본 후, Dapper는 자체 geth 노드 클러스터를 운영하기로 결정했다. 초기 설정은 개발자 두 명이 2주간 풀타임으로 작업해 완료했으며, 로드 밸런싱 대신 바로 페일오버로 전환되는 노드 클러스터를 사용했다. Dapper의 노드가 동기화에서 벗어나면 다음 노드로 페일오버되었다. 또한 Dapper는 한 번에 하나의 노드만 가리키도록 해서 일관성 문제를 해결했다. 내부적으로 노드를 운영하는 것은 안정성 면에서 다소 나았고 Dapper에게 특정 서명 기능을 제공했다. 그러나 노드들은 여전히 동기화가 어긋나거나 피어 연결이 끊기곤 했다.

"CryptoKitties에서 생각할 수 있는 모든 상태 문제가 발생했다. 노드가 동기화되지 않으면 사용자 경험과 dApp 전체가 엉망이 됐다."

— ERIC LIN, DAPPER

이 문제들은 진단하기 어려웠다. 결국 원인은 자체 geth 노드의 안정성이었다. Dapper는 한 번에 한두 시간씩 다운타임을 겪었다. 이를 해결하기 위해 Dapper는 체인의 헤드를 Etherscan과 비교해 확인하는 헬스 체크를 추가했다. 그럼에도 피어 연결은 별다른 이유 없이 끊어지곤 했다. 어느 시점에는 팀이 자체 솔루션과 외부 솔루션을 혼합해서 사용했다. 결국 자체 노드가 더 나은 성능을 보였다. 게다가 Dapper는 자체 노드의 문제를 더 빠르게 해결할 수 있었다.

노드 문제는 CryptoKitties 사용자들에게 영향을 미쳤고, 사용자들은 이런 경험에 불만을 느꼈다. CryptoKitties에는 커뮤니티 매니저는 있었지만 개별 고객 문제를 처리할 지원팀은 없었다. 노드가 망가지면 CryptoKitties는 밀리기 시작했다. 체인이 데이터베이스보다 앞서가면서 키튼 출생이 일어나지 않았다. 트랜잭션은 체인에 기록되었지만 CryptoKitties 사용자들은 이를 볼 수 없었다. 예를 들어, 한 CryptoKitty가 두 사람 소유로 보이거나, 이미 판매된 고양이를 누군가 경매에 올리는 일이 발생했다.

엔지니어들이 새벽 2시에 깨어나야 했기 때문에 Dapper 팀은 교대 근무를 도입해야 했다. 노드가 동기화에서 벗어나면 스크립트가 다음 노드를 가리키도록 했다. 노드가 한밤중에도 수시로 실패했기 때문에 이 스크립트는 매우 중요했다. 포크와 업그레이드와 관련해서는, CryptoKitties 팀은 단 한 번만 업그레이드하면 됐고 하드포크를 처리할 필요가 없었다.

"노드 유지보수와 온콜 담당은 항상 한두 명뿐이어서, 상당히 힘든 일이었다."

— ERIC LIN, DAPPER

Alchemy에서는 문제를 겪은 적이 없으며, 다른 영역으로 자원을 재배치할 수 있었던 Dapper

자체 솔루션과 다른 제공업체에서 벗어나 Alchemy만 사용하게 된 이후, Dapper Labs는 이전의 모든 문제점을 완전히 해결했다. Alchemy에서는 개발자 경험이 훌륭했다. Dapper는 Alchemy로의 전환이 매우 안정적이었기 때문에 이를 계획 로드맵에 포함시켰다.

Dapper Labs 팀은 거의 모든 자원을 다른 영역으로 재배치할 수 있었다. 노드 작업을 하던 개발자 두 명은 이제 R&D 및 다른 게임과 경험을 만드는 작업을 하고 있다. Alchemy 팀은 Dapper가 세심하게 관리받고 있다고 느끼게 해준다. 또한 Dapper 팀은 블록체인 개발의 또 다른 측면, 특히 인프라 안정성에 대해 걱정할 필요가 없다는 안도감을 얻었다.

배경 그라데이션

블록체인 매직을 만드세요

Alchemy는 가장 강력한 web3 개발자용 제품 및 도구에 리소스, 커뮤니티, 전설적인 지원을 결합합니다.