03 · 2022
NFT Digital Collectibles Platform
A platform for digital collectibles and auctions
Overview
A platform for collecting and auctioning digital art: digital paintings, 3D works and NFTs, with uniqueness guaranteed on-chain.
Capabilities
Trading and auctions
Issuance, collecting and auctions run on one platform, with the trading path designed for short bursts of high concurrency.
Concurrency control
Mutexes, semaphores and thread pools control resource contention on the trading path.
Async messaging
Components communicate through RabbitMQ for peak shaving and decoupling.
Caching and scaling
Redis caches hot data; distributed deployment and load balancing allow scaling by node.
Architecture
Stack
Go microservices with Gin/gRPC; MySQL, Redis and Kafka; Nginx reverse proxy; deployment across multiple servers.
Concurrency model
The trading path is split around contention points, using mutexes, semaphores and goroutine pools; load tests locate bottlenecks before tuning.
Messaging and peak shaving
Kafka handles orders and trading events asynchronously, smoothing peaks and decoupling services.
Cache
Redis caches hot data and holds distributed locks to reduce database pressure.
Deployment and security
Multiple servers behind Nginx load balancing scale horizontally; servers follow a hardened security baseline.
Product value
Collectible launches and auctions draw concentrated traffic in a short window; if the trading path congests, launches and auctions stall. The platform uses concurrency control, message queues and caching to carry peak traffic, and scales by node so launches and auctions proceed as planned.