From 2f0aa5d6a6af928389a3406c76015a4ddc58f4b0 Mon Sep 17 00:00:00 2001 From: daekuk Date: Thu, 11 Dec 2025 14:26:46 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9C=A0=EB=9F=89=EC=A0=9C=EC=96=B4=20?= =?UTF-8?q?=EB=8F=84=EC=9B=80=EB=A7=90=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fragments/inflowGroupDetailStyle.jsp | 191 +++++++++++ .../inflow/fragments/inflowGroupHelpModal.jsp | 89 ++++++ .../fragments/inflowGroupInterfaceModal.jsp | 41 +++ .../inflow/inflowGroupControlManDetail.jsp | 296 +----------------- 4 files changed, 327 insertions(+), 290 deletions(-) create mode 100644 WebContent/jsp/onl/admin/inflow/fragments/inflowGroupDetailStyle.jsp create mode 100644 WebContent/jsp/onl/admin/inflow/fragments/inflowGroupHelpModal.jsp create mode 100644 WebContent/jsp/onl/admin/inflow/fragments/inflowGroupInterfaceModal.jsp diff --git a/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupDetailStyle.jsp b/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupDetailStyle.jsp new file mode 100644 index 0000000..ef69886 --- /dev/null +++ b/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupDetailStyle.jsp @@ -0,0 +1,191 @@ +<%@ page language="java" contentType="text/html; charset=utf-8"%> + + diff --git a/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupHelpModal.jsp b/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupHelpModal.jsp new file mode 100644 index 0000000..e7415b3 --- /dev/null +++ b/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupHelpModal.jsp @@ -0,0 +1,89 @@ +<%@ page language="java" contentType="text/html; charset=utf-8"%> + +
+
+
+

유량제어 임계치 설명

+ +
+
+

개요

+

유량제어는 Token Bucket 알고리즘 기반으로 동작합니다. + 설정된 임계치만큼 토큰이 균등하게 리필되며, 요청 1건당 토큰 1개를 소비합니다. + 토큰이 부족하면 요청이 거부됩니다.

+ +

토큰 리필 방식 - Greedy (균등 리필)

+

토큰은 설정된 시간이 지난 후 한꺼번에 리필되는 것이 아니라, 매 순간 균등하게 리필됩니다.

+
+ 왜 균등 리필인가?
+ 한꺼번에 리필하면 리필 직후 트래픽이 몰려 백엔드에 부하가 집중됩니다. + 균등 리필은 트래픽을 시간축에 고르게 분산시켜 시스템 안정성을 높입니다. + AWS, Google Cloud, Nginx 등 대부분의 Rate Limiter가 이 방식을 채택합니다. +
+
+
예시: 분당 120건 설정 시 리필 속도
+
    +
  • 120건 ÷ 60초 = 초당 2건씩 균등 리필
  • +
  • 1초마다 2개의 토큰이 자동으로 채워짐
  • +
+
+
+
동작 예시: 분당 120건, 10건 요청 처리 후
+ + + + + + + + + +
시간상황토큰 수
10:00:00초기 상태 (만땅)120개
10:00:01요청 10건 처리110개
10:00:021초 경과 → 2개 리필112개
10:00:031초 경과 → 2개 리필114개
10:00:041초 경과 → 2개 리필116개
10:00:051초 경과 → 2개 리필118개
10:00:061초 경과 → 2개 리필 (복구 완료)120개
+

+ ※ 10건 소비 후 5초만에 복구됨 (10건 ÷ 초당2건 = 5초) +

+
+
+ 주의: "분당 120건"은 "1분 후에 120개가 한꺼번에 채워진다"는 의미가 아닙니다. + 매 초마다 2개씩 균등하게 리필되어, 결과적으로 1분 동안 최대 120건을 처리할 수 있다는 의미입니다. +
+ +

초당 임계치 (thresholdPerSecond)

+

1초 단위의 순간적인 트래픽 급증(spike)을 방어합니다.

+
+
예시: 초당 임계치 = 100
+
    +
  • 매 1초마다 토큰 100개 리필
  • +
  • 1초 내 100건까지 처리 가능
  • +
  • 101번째 요청부터 차단
  • +
+
+ +

추가 임계치 (threshold) + 시간단위

+

장시간 누적 트래픽을 제어합니다. 시간단위에 따라 리필 속도가 결정됩니다.

+ + + + + + +
시간단위설명리필 속도 예시 (120건 설정 시)
MIN초당 2건 (120÷60)
HOU초당 0.033건 (120÷3600)
DAY초당 0.00139건 (120÷86400)
MON초당 0.0000463건 (120÷2592000)
+ +

두 임계치 조합 (권장)

+

두 조건을 함께 설정하면 이중 보호가 적용됩니다.

+
+
예시: 초당 100건 + 시간당 50,000건
+
    +
  • 초당 임계치: 순간 폭주 방지 → 1초에 101건 이상 요청 시 차단
  • +
  • 추가 임계치: 장기 누적 제한 → 시간당 50,001건 이상 요청 시 차단
  • +
  • 두 조건 중 하나라도 초과 시 차단 (둘 다 충족해야 통과)
  • +
+
+ +
+ 참고: 그룹에 매핑된 인터페이스들은 개별 유량제어 대신 그룹 유량제어가 적용됩니다. + 그룹 내 모든 인터페이스의 호출이 합산되어 임계치와 비교됩니다. +
+
+
+
diff --git a/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupInterfaceModal.jsp b/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupInterfaceModal.jsp new file mode 100644 index 0000000..98aea33 --- /dev/null +++ b/WebContent/jsp/onl/admin/inflow/fragments/inflowGroupInterfaceModal.jsp @@ -0,0 +1,41 @@ +<%@ page language="java" contentType="text/html; charset=utf-8"%> + +
+
+
+

API 선택

+ +
+
+ +
+ + + + + + + + + + +
API ID설명
검색 결과가 없습니다
+
+
+ 0 +
+ +
+ +
+
+
+ +
+
diff --git a/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp b/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp index c58dc29..99f319d 100644 --- a/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp +++ b/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp @@ -16,195 +16,8 @@ - + +