LoadBalancer
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:19
Extends
Section titled “Extends”EventEmitter
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new LoadBalancer(
config?):LoadBalancer
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:35
Parameters
Section titled “Parameters”config?
Section titled “config?”Partial<LoadBalancerConfig> = {}
Returns
Section titled “Returns”LoadBalancer
Overrides
Section titled “Overrides”EventEmitter.constructor
Methods
Section titled “Methods”addListener()
Section titled “addListener()”addListener(
eventName,listener):this
Defined in: packages/webhook/src/shared/event-emitter.ts:16
Parameters
Section titled “Parameters”eventName
Section titled “eventName”string
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”EventEmitter.addListener
emit()
Section titled “emit()”emit(
eventName, …args):boolean
Defined in: packages/webhook/src/shared/event-emitter.ts:44
Parameters
Section titled “Parameters”eventName
Section titled “eventName”string
…unknown[]
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”EventEmitter.emit
getAllEndpointHealth()
Section titled “getAllEndpointHealth()”getAllEndpointHealth():
EndpointHealth[]
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:213
모든 엔드포인트 건강 상태 조회
Returns
Section titled “Returns”EndpointHealth[]
getEndpointHealth()
Section titled “getEndpointHealth()”getEndpointHealth(
endpointId):EndpointHealth|null
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:206
엔드포인트 건강 상태 조회
Parameters
Section titled “Parameters”endpointId
Section titled “endpointId”string
Returns
Section titled “Returns”EndpointHealth | null
getStats()
Section titled “getStats()”getStats():
object
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:220
로드 밸런서 통계 조회
Returns
Section titled “Returns”object
activeConnections
Section titled “activeConnections”activeConnections:
number
averageResponseTime
Section titled “averageResponseTime”averageResponseTime:
number
circuitBreakersOpen
Section titled “circuitBreakersOpen”circuitBreakersOpen:
number
healthyEndpoints
Section titled “healthyEndpoints”healthyEndpoints:
number
totalEndpoints
Section titled “totalEndpoints”totalEndpoints:
number
off(
eventName,listener):this
Defined in: packages/webhook/src/shared/event-emitter.ts:20
Parameters
Section titled “Parameters”eventName
Section titled “eventName”string
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”EventEmitter.off
on(
eventName,listener):this
Defined in: packages/webhook/src/shared/event-emitter.ts:9
Parameters
Section titled “Parameters”eventName
Section titled “eventName”string
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”EventEmitter.on
once()
Section titled “once()”once(
eventName,listener):this
Defined in: packages/webhook/src/shared/event-emitter.ts:35
Parameters
Section titled “Parameters”eventName
Section titled “eventName”string
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”EventEmitter.once
onRequestComplete()
Section titled “onRequestComplete()”onRequestComplete(
endpointId,success,responseTime):Promise<void>
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:146
요청 완료 시 호출 (연결 수 감소 및 통계 업데이트)
Parameters
Section titled “Parameters”endpointId
Section titled “endpointId”string
success
Section titled “success”boolean
responseTime
Section titled “responseTime”number
Returns
Section titled “Returns”Promise<void>
registerEndpoint()
Section titled “registerEndpoint()”registerEndpoint(
endpoint):Promise<void>
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:45
엔드포인트 등록
Parameters
Section titled “Parameters”endpoint
Section titled “endpoint”active
Section titled “active”boolean = ...
createdAt
Section titled “createdAt”Date = ...
description?
Section titled “description?”string = ...
events
Section titled “events”WebhookEventType[] = ...
filters?
Section titled “filters?”{ channelId?: string[]; providerId?: string[]; templateId?: string[]; } = ...
filters.channelId?
Section titled “filters.channelId?”string[] = ...
filters.providerId?
Section titled “filters.providerId?”string[] = ...
filters.templateId?
Section titled “filters.templateId?”string[] = ...
headers?
Section titled “headers?”Record<string, string> = ...
string = ...
lastTriggeredAt?
Section titled “lastTriggeredAt?”Date = ...
string = ...
retryConfig?
Section titled “retryConfig?”{ backoffMultiplier: number; maxRetries: number; retryDelayMs: number; } = ...
retryConfig.backoffMultiplier
Section titled “retryConfig.backoffMultiplier”number = ...
retryConfig.maxRetries
Section titled “retryConfig.maxRetries”number = ...
retryConfig.retryDelayMs
Section titled “retryConfig.retryDelayMs”number = ...
secret?
Section titled “secret?”string = ...
status
Section titled “status”"error" | "active" | "inactive" | "suspended" = ...
updatedAt
Section titled “updatedAt”Date = ...
string = ...
Returns
Section titled “Returns”Promise<void>
removeAllListeners()
Section titled “removeAllListeners()”removeAllListeners(
eventName?):this
Defined in: packages/webhook/src/shared/event-emitter.ts:57
Parameters
Section titled “Parameters”eventName?
Section titled “eventName?”string
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”EventEmitter.removeAllListeners
removeListener()
Section titled “removeListener()”removeListener(
eventName,listener):this
Defined in: packages/webhook/src/shared/event-emitter.ts:31
Parameters
Section titled “Parameters”eventName
Section titled “eventName”string
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”EventEmitter.removeListener
selectEndpoint()
Section titled “selectEndpoint()”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
로드 밸런싱을 통한 엔드포인트 선택
Parameters
Section titled “Parameters”endpoints
Section titled “endpoints”object[]
Returns
Section titled “Returns”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()
Section titled “shutdown()”shutdown():
Promise<void>
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:442
로드 밸런서 종료
Returns
Section titled “Returns”Promise<void>
unregisterEndpoint()
Section titled “unregisterEndpoint()”unregisterEndpoint(
endpointId):Promise<void>
Defined in: packages/webhook/src/dispatcher/load-balancer.ts:71
엔드포인트 등록 해제
Parameters
Section titled “Parameters”endpointId
Section titled “endpointId”string
Returns
Section titled “Returns”Promise<void>