콘텐츠로 이동

LoadBalancer

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:19

  • EventEmitter

new LoadBalancer(config?): LoadBalancer

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:35

Partial<LoadBalancerConfig> = {}

LoadBalancer

EventEmitter.constructor

addListener(eventName, listener): this

Defined in: packages/webhook/src/shared/event-emitter.ts:16

string

Listener

this

EventEmitter.addListener


emit(eventName, …args): boolean

Defined in: packages/webhook/src/shared/event-emitter.ts:44

string

unknown[]

boolean

EventEmitter.emit


getAllEndpointHealth(): EndpointHealth[]

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:213

모든 엔드포인트 건강 상태 조회

EndpointHealth[]


getEndpointHealth(endpointId): EndpointHealth | null

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:206

엔드포인트 건강 상태 조회

string

EndpointHealth | null


getStats(): object

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:220

로드 밸런서 통계 조회

object

activeConnections: number

averageResponseTime: number

circuitBreakersOpen: number

healthyEndpoints: number

totalEndpoints: number


off(eventName, listener): this

Defined in: packages/webhook/src/shared/event-emitter.ts:20

string

Listener

this

EventEmitter.off


on(eventName, listener): this

Defined in: packages/webhook/src/shared/event-emitter.ts:9

string

Listener

this

EventEmitter.on


once(eventName, listener): this

Defined in: packages/webhook/src/shared/event-emitter.ts:35

string

Listener

this

EventEmitter.once


onRequestComplete(endpointId, success, responseTime): Promise<void>

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:146

요청 완료 시 호출 (연결 수 감소 및 통계 업데이트)

string

boolean

number

Promise<void>


registerEndpoint(endpoint): Promise<void>

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:45

엔드포인트 등록

boolean = ...

Date = ...

string = ...

WebhookEventType[] = ...

{ channelId?: string[]; providerId?: string[]; templateId?: string[]; } = ...

string[] = ...

string[] = ...

string[] = ...

Record<string, string> = ...

string = ...

Date = ...

string = ...

{ backoffMultiplier: number; maxRetries: number; retryDelayMs: number; } = ...

number = ...

number = ...

number = ...

string = ...

"error" | "active" | "inactive" | "suspended" = ...

Date = ...

string = ...

Promise<void>


removeAllListeners(eventName?): this

Defined in: packages/webhook/src/shared/event-emitter.ts:57

string

this

EventEmitter.removeAllListeners


removeListener(eventName, listener): this

Defined in: packages/webhook/src/shared/event-emitter.ts:31

string

Listener

this

EventEmitter.removeListener


selectEndpoint(endpoints): Promise<{ active: boolean; createdAt: Date; description?: string; events: WebhookEventType[]; filters?: { channelId?: string[]; providerId?: string[]; templateId?: string[]; }; headers?: Record<string, string>; id: string; lastTriggeredAt?: Date; name?: string; retryConfig?: { backoffMultiplier: number; maxRetries: number; retryDelayMs: number; }; secret?: string; status: "error" | "active" | "inactive" | "suspended"; updatedAt: Date; url: string; } | null>

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:83

로드 밸런싱을 통한 엔드포인트 선택

object[]

Promise<{ active: boolean; createdAt: Date; description?: string; events: WebhookEventType[]; filters?: { channelId?: string[]; providerId?: string[]; templateId?: string[]; }; headers?: Record<string, string>; id: string; lastTriggeredAt?: Date; name?: string; retryConfig?: { backoffMultiplier: number; maxRetries: number; retryDelayMs: number; }; secret?: string; status: "error" | "active" | "inactive" | "suspended"; updatedAt: Date; url: string; } | null>


shutdown(): Promise<void>

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:442

로드 밸런서 종료

Promise<void>


unregisterEndpoint(endpointId): Promise<void>

Defined in: packages/webhook/src/dispatcher/load-balancer.ts:71

엔드포인트 등록 해제

string

Promise<void>