위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
Cregis Research:Web3.0时代的高并发交易
0xCregis
特邀专栏作者
2024-02-26 07:54
이 기사는 약 3240자로, 전체를 읽는 데 약 5분이 소요됩니다
高并发交易的能力直接影响着平台稳定性、用户体验以及业务的可扩展性。

I. 소개

블록체인 및 Web3.0 기술이 점차 성숙해짐에 따라 디지털 화폐 거래소, 체인 게임(GameFi), NFT 거래 플랫폼, 디지털 화폐를 지원하는 전자상거래 플랫폼 등의 응용 시나리오가 점차 늘어나고 복잡해지고 있습니다. 이렇게 다양하고 상호작용이 활발한 환경에서는 높은 동시 트랜잭션이 기본 요구 사항이 되었습니다. 높은 동시 트랜잭션 능력은 플랫폼 안정성, 사용자 경험 및 비즈니스 확장성에 직접적인 영향을 미칩니다.

이 글을 통해 독자들에게 동시성 트랜잭션의 어려움, 문제점, 중요성에 대한 포괄적이고 심층적인 이해와 이러한 문제를 해결하는 효과적인 방법을 제공하고자 합니다.

2. 높은 동시성 시스템 설계가 필요한 이유는 무엇입니까?

(1) 디지털 화폐 거래소

암호화폐 거래소는 종종 심각한 시장 변동에 직면합니다. 변동성이 매우 높은 이 기간 동안 다수의 트레이더, 스튜디오, 퀀트 트레이딩 팀이 동시에 다수의 트레이딩 작업을 수행할 수 있는데, 거래소는 어떻게 이러한 트레이딩 요청을 빠르고 정확하게 처리할 수 있을까요? 거래소가 적절하게 대응하지 않으면 거래가 지연되거나 최고의 거래 기회를 잃게 되거나 더 심하면 시스템 충돌이 발생할 수 있습니다.

(2) 게임파이

GameFi는 게임과 금융이 결합된 신흥 분야로, 플레이어는 게임을 통해 자신만의 디지털 자산을 획득하고 관리할 수 있으며, 게임 자산은 대부분 온체인 토큰과 NFT로 대표됩니다. 새로운 게임이나 활동이 시작될 때마다 많은 수의 플레이어가 모여들어 게임에서 디지털 자산을 발행하거나 받거나 거래하려고 할 수 있습니다. GameFi 게임 프로젝트 당사자로서 이러한 플레이어가 동시에 원활하게 로그인하고 성공적으로 활동에 참여할 수 있도록 하려면 어떻게 해야 합니까? 이는 서버 부하의 문제일 뿐만 아니라 데이터 처리, 네트워크 지연 및 기타 측면도 포함됩니다.

(3) NFT 거래 플랫폼

NFT 거래 플랫폼도 GameFi와 비슷한 문제에 직면해 있습니다. 유명 아티스트가 한정판 NFT를 출시하거나 인기 IP가 판매 시장과 협력하면 이러한 희소한 자원을 얻기 위해 수많은 수집가와 투자자가 몰려들게 됩니다. 이 경우 NFT 거래 플랫폼의 안정성을 어떻게 보장할 수 있나요?

(4) 디지털 화폐를 지원하는 전자상거래 플랫폼

Taobao Double Eleven에서 귀하와 수만 명의 사람들이 매우 비용 효율적인 의류를 구매하려고 몰려들고 있는데, 그 의류가 과판매되지 않도록 어떻게 보장할 수 있습니까? web3 산업의 지속적인 발전과 함께 점점 더 많은 전자상거래 플랫폼이 디지털 화폐 결제를 지원하기 시작했으며, 이러한 전자상거래 플랫폼은 또한 web2 전자상거래 플랫폼의 높은 동시성 문제에 직면하게 될 것입니다. 수만 건의 디지털 통화 주문 거래를 1초 안에 처리하여 각 거래가 빠르고 정확하게 처리되고, 시스템 충돌을 방지하고, 모든 고객에게 고품질 쇼핑 경험을 제공할 수 있도록 하려면 어떻게 해야 할까요?

3. 고동시성 시스템 설계의 특징

(1) 높은 동시성 실제 적용 시나리오

디지털 화폐 거래소를 예로 들면, 디지털 화폐 충전 및 출금은 거래소 및 지갑 애플리케이션의 핵심 기능이며, 이 두 가지 작업은 사용자의 자산과 직접적인 관련이 있습니다. 정상적인 운영에서 입금 및 출금 과정은 비교적 간단해 보일 수 있습니다.

재충전 과정

충전 주소 생성:사용자가 거래소나 지갑에 입금을 요청하면 시스템은 사용자를 위한 고유한 입금 주소를 생성합니다.

사용자 이전:사용자는 외부 지갑이나 기타 거래소에서 이전 단계에서 생성된 입금 주소로 디지털 화폐를 보냅니다.

거래소 모니터링 확인:거래소나 지갑 애플리케이션은 이 입금 주소와 관련된 거래를 듣고 확인합니다. 거래의 유효성을 보장하기 위해 네트워크에서 거래 확인 횟수를 모니터링합니다.

요구 사항이 충족되는지 확인합니다.대부분의 거래소에서는 거래가 유효한 것으로 간주되기 전에 블록체인에서 특정 수의 확인(예: 3 또는 6개 확인)을 받아야 합니다. 이렇게 하면 이중 지출의 위험이 줄어듭니다.

사용자 계정 충전:거래가 충분한 확인을 받으면 거래소는 사용자의 거래소 계정 잔액에 디지털 통화 금액을 추가합니다.

사용자에게 알립니다.사용자는 충전이 완료되었음을 알리는 알림을 받게 됩니다.

출금 과정

사용자가 출금 요청을 시작합니다:사용자는 출금할 디지털 통화 금액과 대상 주소를 거래소나 지갑 애플리케이션에 입력합니다.

안전 검증:출금 요청의 적법성을 보장하기 위해 사용자는 SMS 인증 코드, 이메일 확인 또는 Google OTP 등의 2차 인증을 수행해야 할 수 있습니다.

요청을 처리합니다.출금 요청을 받은 후 거래소 백엔드 시스템은 사용자의 잔액, 출금 한도 등을 확인하는 등의 사전 처리를 수행합니다.

직접 검토(가능한 단계):보안을 강화하기 위해 일부 거래소에는 수동 검토 단계가 있으며 실제 사람들은 대규모 출금 요청을 검토합니다.

서명하고 블록체인에 브로드캐스트합니다.거래소는 개인키로 출금 거래에 서명하고 이를 해당 퍼블릭 체인에 방송합니다.

거래소 모니터링 확인:예금과 마찬가지로 거래소는 블록체인에서 출금 거래의 확인 상태를 모니터링합니다.

완전한 철수:거래가 충분히 확인되고 출금 절차가 완료되면 사용자의 거래소 계좌 잔액은 해당 금액만큼 차감됩니다.

사용자에게 알립니다.사용자는 출금이 완료되었음을 알리는 알림을 받게 됩니다.

(거래과정)

이 프로세스는 매우 명확하고 구현하기 간단하지만, 시장 변동이 크거나 주요 뉴스 이벤트가 있는 경우 입출금 작업 호출 횟수가 초당 10,000회에 달할 수 있습니다. 초당 10,000건의 동시 자산 운영 요청으로 인해 자산 관리 시스템이 다운되나요? 모든 요청이 통과되면 동시에 10,000건의 거래 주문이 생성되는데, 데이터베이스가 이를 처리할 수 있을까요? 견딜 수 없다면 우리는 어떻게 해야 할까요? 이러한 문제가 발생하여 이전 솔루션을 더 이상 적용할 수 없게 될 수 있으므로 이때 새로운 솔루션을 설계해야 합니다.

또, 캐시의 활용에 대해서도 이야기하는데, 낮은 동시성에서는 기본적인 사용법만 이해하면 되지만, 높은 동시성 시나리오에서는 캐시 적중률, 캐시 침투에 대한 대처 방법, 캐시 침투에 대한 대처 방법 등에 주의를 기울여야 합니다. 눈사태를 방지하고 캐시 문제를 해결하는 방법 일관성 및 기타 문제로 인해 설계 계획이 복잡해지고 디자이너의 더 높은 역량이 필요합니다.

따라서 동시성이 높은 많은 환경에서 유지 관리 및 모니터링에는 일반적으로 전문 기술 팀이 필요하며, 시스템의 안정성을 유지하려면 회사에서 더 많은 인건비를 투자해야 합니다. 이로 인해 단기 비용이 증가할 뿐만 아니라 장기적인 운영 및 유지 관리 비용도 높아질 수 있습니다.

(2) 높은 동시성 시스템 설계 방법

동시성 높은 시스템의 설계에 관해 이야기할 때 실제로는 대규모 트래픽을 효과적으로 관리하고 조작하는 방법에 대해 논의하고 있습니다. 이 디자인의 핵심 매력은 교통의 영향을 교묘하게 저항하여 사용자에게 보다 원활한 경험을 제공하는 것입니다.

역사를 바탕으로 장강과 황하의 물 관리 전략에서 영감을 얻을 수 있습니다. 예를 들어, 다유(Dayu)는 물의 흐름을 더 원활하게 하기 위해 강을 넓혔고, 두장옌(Dujiangyan)은 방향 전환을 통해 민강의 물을 우회시켰으며, 산먼샤(Sanmenxia)와 거저우바(Gezhouba)의 저수지 전략을 사용했습니다. 이러한 전략은 초기의 높은 동시성 시스템 설계 방법으로 볼 수 있으며, 그 핵심은 대규모 트래픽을 분할하거나 저장하여 트래픽이 원활하게 흐르도록 하는 것입니다.

동시성이 높은 시스템의 경우 일반적으로 세 가지 주요 설계 전략이 있습니다.

규모 확장

이 전략은 물 관리의 분할 정복과 같습니다. 분산 배포를 통해 트래픽은 여러 서버로 전환되며 각 서버는 동시성 및 트래픽의 일부만 부담하면 됩니다. 특정 프로모션 이벤트를 예로 들면, 대규모 사용자 트래픽에 대처하기 위해 다중 노드 배포를 통해 각 서버에 사용자 쇼핑 요청을 균등하게 분배하여 웹사이트의 원활한 운영을 보장합니다.

은닉처

동시성이 높은 환경에서 캐시를 사용하는 것은 강을 넓히는 것과 같습니다. 캐싱은 디스크 의존도를 줄이고 데이터 액세스 속도를 높여주기 때문에 시스템 성능을 크게 향상시킬 수 있습니다. 디스크의 탐색 시간은 CPU와 메모리의 액세스 시간보다 훨씬 길기 때문에 메모리를 캐시로 사용하면 시스템의 병목 현상을 크게 줄일 수 있습니다. 특정 프로모션 이벤트를 예로 들면, 데이터베이스에 대한 쿼리 부담을 줄이기 위해 인기 제품의 정보를 미리 캐시해 사용자가 제품 정보를 요청할 때 시스템이 캐시에서 직접 읽을 수 있도록 합니다. , 이는 쿼리 속도를 크게 향상시킵니다.

비동기 처리

비동기 처리는 단위 시간당 더 많은 요청을 처리할 수 있습니다. 이를 통해 시스템은 사용자에게 신속하게 응답하고, 리소스를 확보하여 더 많은 요청을 처리하고, 적절한 경우 처리 결과를 사용자에게 알릴 수 있습니다. 비동기 처리 모드는 처리하는 데 오랜 시간이 걸리거나 여러 내부 시스템에 의존하는 요청에 특히 적합합니다. 예를 들어 휴일 동안 특정 티켓 예약 플랫폼은 주문 후 주문 결과를 즉시 반환하지 않고 대신 사용자에게 주문이 처리 중임을 알려줍니다. 그 뒤에 있는 시스템은 주문 요청을 메시지 대기열에 넣고 백그라운드 서비스를 통해 하나씩 처리하며, 주문 처리가 완료되면 푸시 서비스를 통해 사용자에게 알림을 보냅니다.

그러나 동시성이 높은 시스템을 설계한다고 해서 이러한 전략을 모두 동시에 사용해야 하는 것은 아닙니다. 시스템의 설계와 발전은 점진적이어야 하며 시스템의 실제 문제를 해결하는 것을 목표로 해야 합니다. 초기에는 단순한 시스템 설계와 친숙한 기술 시스템만으로도 기존 트래픽 및 비즈니스 요구 사항을 처리하기에 충분할 수 있습니다. 그러나 트래픽이 증가하고 비즈니스가 변화함에 따라 시스템의 고가용성과 성능을 보장하기 위해서는 더욱 발전된 기술과 전략을 고려해야 합니다.

4. Cregis의 높은 동시성 장점

Cregis는 성숙하고 안정적인 결제 인프라와 풍부한 재무 관리 협업 기능을 제공하는 포괄적인 Web3 자산 협업 관리 플랫폼입니다. 6년 동안 안전하게 운영되어 3,200개 이상의 Web3.0 프로젝트 및 기관에 서비스를 제공하고 최종 사용자에게 578만 개의 블록체인 지갑 주소를 제공하고 있습니다.

6년 동안 크레지스는 고동시거래 + 지갑 + 재무관리 기능을 개발하는 시간을 가졌다. Cregis는 고객의 요구에 따라 web2에서 web3까지 동시성 높은 청산 기술을 구현했습니다. 고객에게 상용 수준의 디지털 통화 동시 거래 결제 인프라를 제공할 수 있습니다. API를 통해 60만 건의 동시 거래 주문을 1분 만에 쉽게 처리할 수 있고, 미화 9억 달러 이상의 온체인 거래도 24시간 만에 처리할 수 있는데 이는 우리 제품 성능의 한계와는 거리가 멀습니다.

5. 요약

Web3.0 기술이 디지털 화폐 거래소, 온체인 게임(GameFi), NFT 거래 플랫폼 또는 기타 다양한 Web3.0 애플리케이션 등 점점 더 성숙해지고 널리 사용됨에 따라 점점 더 복잡한 거래 시나리오에 직면하게 될 것입니다. 대량의 거래를 빠르고 안전하게 처리할 수 있다는 것은 사용자 경험을 향상시킬 뿐만 아니라 기업 경쟁력의 중요한 부분이기도 합니다.

높은 트래픽에도 불구하고 플랫폼이 안정적이고 원활하게 유지될 수 있다면 사용자는 플랫폼을 계속 사용할 가능성이 더 높습니다. 동시에 많은 대기업과 프로젝트 당사자는 파트너를 선택할 때 높은 동시 처리 기능을 중요한 고려 사항으로 설정할 것입니다. 높은 동시성은 기술적인 문제일 뿐만 아니라 기술, 운영, 비즈니스 전략 및 기타 측면과 관련된 포괄적인 과제이기도 합니다. 포괄적인 고려와 최적화를 통해서만 치열한 시장 경쟁에서 두각을 나타낼 수 있습니다.

문의하기:공식 웹 사이트TwitterDiscord

Web3.0
Odaily 공식 커뮤니티에 가입하세요