실시간 신호 처리
1) 목적 및 사업 가치
"여기와 지금" 에 응답하려면 실시간 스트림이 필요합니다
사기 방지/AML: 예금 구조, "멀링" 속도 공격.
책임있는 게임 (RG): 한계를 초과하고 행동의 위험 패턴을 초과합니다.
위험/준수: 온라인 등록/거래 제재 심사.
개인화: 보너스/미션 트리거, 반응성 캠페인.
운영/SRE: SLA 열화, 오류의 혼란, 측정 항목의 이상.
주요 목표: 낮은 대기 시간 (p95 0. 5-5 초), 높은 완성도 ( 5%), 서지 저항.
2) 신호 분류법
거래: '결제. 예금/철회/청구 회수 '.
게임: '게임. 내기/지불 ',' 게임. 세션 _ 시작/중지 '.
인증: '소. 로그인/실패', 장치 변경/지리.
행동: 베팅 속도, 금액의 기하 급수적 인 성장, 야간 활동.
수술실: 'api. 대기 시간 ',' 오류. 난로의 "폭풍" 인 속도 '가 다시 시작됩니다.
각 유형에는 스키마, 도메인 소유자, 중요 성, SLO 및 최신 데이터 규칙이 있습니다.
3) 실시간 루프 참조 아키텍처
1. 섭취 및 버스: TP/gRPC → Edge → Kafka/Redpanda ('user _ id/tentent' 로 분할).
2. 스트리밍-우수: Flink/Spark 구조화 스트리밍/빔; 고마운 진술, CEP.
3. 온라인 강화: 조회 테이블 (Redis/Scylla/Clickhouse Read-Only), 공급자 캐시 (제재/CUS).
- 경고 주제/큐 (사례 관리, SOAR).
- Fichestor 온라인 (점수 모델).
- 골드 스트림 쇼케이스 (운영 대시 보드).
- 빠른 분석을위한 "따뜻한" 스토리지 (ClickHouse/Pinot/Druid).
- 5. 보관/법의학: 호수에서 불변의 접기 (Parquet, Time-travel).
- 6. 관찰 가능성: 추적/메트릭/로그 + 계보.
4) Windows, 워터 마크 및 "늦은 데이터"
창 보기:- 텀블링: 고정 창 (예: 1 분) -간단한 집계.
- 호핑: 겹치는 (예: 단계 30 초, 창 2 분) - "부드러운" 지표.
- 세션: 비 활동 격차-행동 분석.
- 워터 마크: 이벤트 타임에 대한 "시간 지식" 경계; 지체를 허용하십시오 (예: 2 분).
- 뒤늦은 전략: 추가 조정 문제, 포스트 스크립트 "lat = 참", DLQ.
5) 고마운 진술과 중복 제거
키: 'user _ id', '결제. 계정 _ id ',' 장치 _ id '.
상태: 가산기, 슬라이딩 카운터, demempotency를위한 블룸 필터.
Dedup: 상태/kv에 '(이벤트 _ id, 참조)' 저장; TTL = 24-72 시간.
정확히 한 번: 거래 싱크대 및 (2 상), 엄청난 상향 조정 작업.
6) 스트림 농축
예약 기쁨: RG 제한, 사용자 위험률, KYC 수준, 지리/ASN.
비동기 통화: 제재 레지스트리/사기 방지 제공 업체 (async I/O, 타임 아웃 및 대체).
통화 정규화/시간대: UTC 및 기본 통화 통일; 'fx _ source' 를 수정합니다.
7) CEP: 복잡한 패턴 감지
규칙의 예:- 구조: 각 <보고 임계 값, 총> X.
- 장치 전환: 15 분 동안 3 개의 다른 장치 + IP/ASN 변경.
- RG 피로: 1 시간 동안의 총 베팅> 제한 + 손실
- Ops-storm: p95 대기 시간> 2 × 베이스, 5 분 창에서 5xx> 3%.
CEP는 Flink CEP/SQL 또는 이벤트 템플릿 라이브러리로 편리하게 표현됩니다.
8) 온라인 기능 및 모델
기능 파이프 라인: 카운터, 속도 측정, "마지막 이벤트 이후의 시간", 지갑 공유.
온라인/오프라인 일관성: 하나의 변환 코드베이스; 일시적 테스트.
채점: 동기식으로 가벼운 모델 (logit/GBDT); 대기열을 통해 무겁습니다.
드리프트 제어: PSI/KS 및 경고; 새로운 모델을위한 "어두운 발사".
9) 배송 보증 및 절차
수신시 타이어 + demempotency에서 적어도 한 번.
키 파티셔닝은 로컬 주문을 제공합니다.
재시도 및 역압: 지터, 자동 압력 제어를 통한 지수 리트레이.
10) SLO/SLI (권장)
11) 실시간 윤곽의 관찰 가능성
파이프 라인 메트릭: 처리량, 파티션 당 지연, 바쁜 시간, 체크 포인트 지속 시간.
신호 품질: 완전성, 중복 률, 늦은 비율.
대시 보드: 주제별 지연의 히트 맵, 경고 깔때기 (sobytiye → pravilo → key), 핫 키 맵.
추적: 경고를 이벤트 시작과 연관시킵니다 (trace _ id).
12) 보안 및 개인 정보 보호
PII 최소화: 식별자의 토큰 화, 민감한 필드의 마스킹.
지리적 거주: 지역 컨베이어 (EEA/UK/BR).
감사: 변경 불가능한 결정 기록 (누가, 무엇, 왜), 사건에 대한 법적 보류.
액세스: 규칙/모델에 대한 RBAC, 킥아웃에 대한 이중 제어.
13) 비용과 성능
핫 키: 재분배 (키 소금), 복합 키.
조건: 합리적인 TTL, 증분 구체화, RocksDB 튜닝.
Windows: 최적의 크기이며 지연 시간이 허용됩니다. "잡음" 스트림에 대한 사전 집계 계층.
샘플링: 중요하지 않은 흐름 및 미터법 수준 (트랜잭션/규정 준수 아님).
14) 예 (단순화)
Flink SQL - 구조화 된 예금 (10 분 창, 1 단계):sql
CREATE VIEW deposits AS
SELECT user_id, amount, ts
FROM kafka_deposits
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY ts
MEASURES
FIRST(A. ts) AS start_ts,
SUM(A. amount) AS total_amt,
COUNT() AS cnt
ONE ROW PER MATCH
AFTER MATCH SKIP PAST LAST ROW
PATTERN (A{3,})
WITHIN INTERVAL '10' MINUTE
) MR
WHERE total_amt > 500 AND cnt >= 3;
입찰에 의한 속도 방지 의사 코드:
python key = event. user_id window = sliding(minutes=5, step=30) # hopping window count = state. counter(key, window)
sum_amt = state. sum(key, window)
if count > 30 or sum_amt > THRESH:
emit_alert("RG_VELOCITY", key, snapshot(state))
Kafka Streams 이벤트 _ id:
java if (!kvStore.putIfAbsent(event. getId(), now())) {
forward(event); // unseen -> process
}
15) 프로세스 및 RACI
R (책임): 스트리밍 플랫폼 (정보, 상태, 릴리스), 도메인 분석 (규칙/기능).
A (책임): 해당 도메인의 데이터/위험/준수 책임자.
C (컨설팅): DPO/Legal (PII/보존), SRE (SLO/Incidents), 아키텍처.
I (정보): 제품/지원/마케팅.
16) 구현 로드맵
MVP (2-4 주):1. 2-3 중요 신호 (예: '지불. 예금 ',' 로그인 ',' 게임. 내기 ').
2. Kafka + Flink, 기본 디드 업 및 워터 마크; 사기 방지에 대한 하나의 CEP 규칙과 RG에 대한 하나의 규칙.
3. 운영 상점을위한 ClickHouse/Pinot; 대시 보드 지연/완료.
4. 인시던트 채널 (웹 후크/지라) 및 수동 심사.
2 단계 (4-8 주):- 온라인 가상, 점수 조명 모델; 비동기 조회 (제재/CCL).
- 코드로서의 규칙 관리, 카나리아 롤, A/B 규칙.
- 지역화 및 PII 통제, 사건에 대한 법적 보류.
- 신호 카탈로그, 자동 생성 문서, 재생 및 What-if 시뮬레이터.
- 임계 값 (Bayesian/quantile) 의 자동 보정, 온라인 정밀/리콜 메트릭.
- 명령에 의하여 DR 연습, 다중 지역 활성, 차지 백 모델.
17) 판매 전 품질 점검표
- 계획 및 계약, 섭취 검증.
- 창 구성, 워터 마크, 지연 시간 + DLQ 허용.
- Dedup and demempotent singk 'i.
- 라그/처리량/상태 크기 지표, SLO 경고.
- 보안: 규칙/모델에 대한 RBAC, PII 마스킹.
- 문서: 소유자, SLO, 예, 종속성 맵.
- 롤백 절차 및 프리즈 버튼.
18) 빈번한 실수와 피하는 방법
이벤트 시간 무시: 워터 마크를 사용하십시오. 그렇지 않으면 메트릭이 "슬라이드" 됩니다.
중복 제거 없음-복제는 잘못된 경고 → 유형 demempotency를 생성합니다.
핫 키: 파티의 왜곡 → 소금/리 샤딩.
창문이 너무 어렵다: 늦은 → 손실은 지연 시간 + 수정 방출을 허용했다.
PII 블렌딩: 별도의 토큰 화 및 분석 흐름.
시뮬레이터 없음: 롤아웃하기 전에 "재생" 에 대한 규칙을 테스트하십시오.
19) 용어집 (브리핑)
CEP-복잡한 이벤트 처리, 패턴 감지.
워터 마크-창 준비를위한 시간 임계 값.
허용 된 지연 - 늦은 이벤트 입학.
Stateful Operator는 지속적인 연산자입니다.
Feature Store-ML의 온라인/오프라인 특성 저장.
20) 결론
실시간 신호 처리는 명확한 회로, 창문 및 워터 마크, 고정 논리, 온라인 농축 및 엄격한 SLO를 갖춘 제어 파이프 라인입니다. 이러한 관행을 따르면 빠르고 안정적인 위험 탐지기, 지속 가능한 개인화 트리거 및 운영 대시 보드를 얻을 수 있습니다.