ADR-0001: CFFI 대신 Rust/PyO3 선택
aerospike-py에서 C FFI(CFFI) 대신 Rust/PyO3를 바인딩 기술로 선택한 아키텍처 결정 기록.
aerospike-py에서 C FFI(CFFI) 대신 Rust/PyO3를 바인딩 기술로 선택한 아키텍처 결정 기록.
aerospike-py에서 동시 요청 과부하 방지를 위한 Semaphore 기반 backpressure를 도입한 아키텍처 결정 기록.
aerospike-py의 batch 작업 retry에 Full Jitter 패턴을 도입하여 thundering herd 문제를 방지하고 서버 부하를 분산하는 아키텍처 결정.
Cluster Manager 레코드 브라우저에 TanStack Virtual 기반 가상 스크롤을 도입하여 대용량 레코드 렌더링 성능을 개선하는 아키텍처 결정.
aerospike-py의 Tokio runtime worker thread 수를 CPU 코어 기반 heuristic으로 자동 결정하고, RuntimeMetrics를 Prometheus 메트릭으로 노출하는 아키텍처 결정.
Cluster Manager의 K8s 클러스터 목록 API에 Kubernetes 네이티브 cursor 기반 pagination과 namespace 필터링을 도입하여 대규모 환경 확장성을 확보하는 아키텍처 결정.
Cluster Manager에서 개별 Aerospike info 호출을 세미콜론 구분자 기반 배치 호출로 통합하고 TTL 캐시를 도입하여 클러스터 Overview 응답 시간을 75% 단축하는 아키텍처 결정.
ACKO의 Pod readiness 확인을 10초 간격 polling에서 Kubernetes Informer watch로 전환하고, status enrichment의 Aerospike 노드 정보 수집을 병렬화하여 reconciliation 성능을 개선하는 아키텍처 결정.
Cluster Manager 프론트엔드에서 폴링 메모리 누수, AbortController 미사용, 상태 초기화 누락, 에러 정보 미노출 문제를 해결하는 표준 패턴 도입.
Cluster Manager 초기 로딩 시 순차 health check를 병렬화하고, 연결 실패 시 에러 유형을 UI에 표시하여 디버깅 편의성을 개선
Record 브라우저에서 대용량 데이터셋을 안정적으로 탐색하기 위해 가상 스크롤, cursor 기반 pagination, 3계층 timeout을 통합하는 상위 아키텍처 결정.
Sync Client + asyncio.to_thread 방식에서 네이티브 AsyncClient로 전환하여 2.2-2.4배 처리량 향상
New NumPy-based batch write API for high-performance bulk operations
Prevent OOM on large set browsing with server-side max_records limit and high-contrast color system
내부 API 정리, UTF-8 안전 truncation 추가, Aerospike 클라이언트 연결 통합, 미사용 코드 제거
Added Tokio Semaphore-based backpressure to limit concurrent operations and prevent server overload