Files
AIclinicalresearch/docs/08-项目管理/04-技术决策/2025-11-18-MSE与ARMS采购决策分析.md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
2026-01-14 19:15:01 +08:00

17 KiB
Raw Blame History

MSE荳拶RMS驥<EFBFBD>エュ蜀ウ遲門<EFBFBD><EFBFBD>

*<EFBFBD>梵譌・譛滂シ? 2025-11-18
*鬘ケ逶ョ髦カ谿オ<EFBFBD>? 蛻帑ク壼<EFBDB8>譛滂シ窟SL讓。蝮怜セ<E6809C>€蜿? *髣ョ鬚假シ? 譏ッ蜷ヲ髴€隕∬エュ荵ー髦ソ驥御コ閃SE<53>亥セョ譛榊苅蠑墓梼<E5A293>牙柱ARMS<4D>亥コ皮畑逶第而<E7ACAC>会シ? *扈楢ョコ<EFBFBD>? 蛻帑ク壼<EFBFBD>譛滉ク埼怙隕<EFBFBD>シ檎鴫譛牙渕遑€隶セ譁ス雜ウ螟<EFBFBD> 笨?


<EFBFBD>投 蜉溯<E89C89>蟇ケ豈泌<E8B188><EFBFBD>

1<EFBFBD>Ε 髦ソ驥御コ閃SE vs 謌台サャ逧<EFBDAC>渕遑€隶セ譁ス

MSE蜉溯<EFBFBD> 謌台サャ逧<EFBFBD>ョ樒<EFBFBD>? 譏ッ蜷ヲ髴€SE <EFBFBD>
豕ィ蜀碁<EFBFBD>鄂ョ荳ュ蠢<EFBFBD> (Nacos/ZooKeeper) config/env.ts 邇ッ蠅<EFBDAF>序驥<E5BA8F> 笶?*荳埼怙隕? 謌台サャ譏?蜊穂ス鉄erverless蠎皮畑*<2A>御ク肴弍蠕ョ譛榊苅譫カ譫<EFBDB6>シ御ク埼怙隕∵恪蜉。豕ィ蜀?
*蠕ョ譛榊苅豐サ逅? (Spring Cloud/Dubbo) 荳埼€ら畑 笶?*荳埼怙隕? 謌台サャ譏ッNode.js蜊穂ス灘コ皮畑<E79AAE>御ク堺スソ逕ィSpring Cloud謌縫ubbo
*莠大次逕溽ス大<EFBFBD>? (Ingress) SAE閾ェ蟶ヲ鄂大<EFBFBD> 笶?*荳埼怙隕? SAE蟾イ謠蝉セ姨TTP霍ッ逕ア蜥瑚エ溯スス蝮<EFBFBD>。?
*<EFBFBD><EFBFBD>シ丈ササ蜉。隹<EFBFBD>コ? (XXL-JOB) common/jobs/ (MemoryQueue/DatabaseQueue) <EFBFBD><EFBFBD><EFBFBD> *證ゆク埼怙隕? 蛻帑ク壼<EFBFBD>譛滓<EFBFBD>莉ャ逧<EFBFBD>obQueue螟溽畑<EFBFBD>悟錘扈ュ蜿ッ蜊<EFBFBD>コァ

*譬ク蠢<EFBFBD>キョ蠑ゑシ?

MSE騾ら畑蝨コ譎ッ<EFBFBD>?
笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?   笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?   笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏?譛榊苅A   笏や楳笏€笏€笏?譛榊苅B   笏や楳笏€笏€笏?譛榊苅C   笏? 竊?髴€隕∵ウィ蜀御クュ蠢?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏?   笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏?   笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏?

謌台サャ逧<EFBDAC>楔譫<E6A594><EFBFBD>
笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? 蜊穂ス鉄erverless蠎皮畑<E79AAE><E79591>astify<66>?        笏? 竊?荳埼怙隕∵ウィ蜀御クュ蠢?
笏? - legacy讓。蝮暦シ<E69AA6>IA/PKB/RVW<56>?         笏?
笏? - ASL讓。蝮暦シ亥セ<E4BAA5>€蜿托シ<E68998>                   笏?
笏? - 蟷ウ蜿ー蝓コ遑€隶セ譁ス<E8AD81>?荳ェ蜀<EFBDAA>Κ讓。蝮暦シ<E69AA6>         笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?

2<EFBFBD>Ε 髦ソ驥御コ羨RMS vs 謌台サャ逧<EFBDAC>尅謗ァ譁ケ譯?

ARMS蜉溯<EFBFBD> 謌台サャ逧<EFBFBD>ョ樒<EFBFBD>? 譏ッ蜷ヲ髴€隕、RMS <EFBFBD>
蠎皮畑逶第而 common/monitoring/metrics.ts <EFBFBD><EFBFBD><EFBFBD> *證ゆク埼怙隕? 謌台サャ譛牙渕遑€逶第而<EFBFBD><EFBFBD>荳壼<EFBFBD>譛溷、溽<EFBFBD>?
謗・蜿」隹<EFBFBD>畑逶第而 common/logging/logger.ts <EFBFBD><EFBFBD><EFBFBD> *證ゆク埼怙隕? Winston扈捺桷蛹匁律蠢怜庄霑ス雕ェ
諤ァ閭ス蛻<EFBFBD> /health + Metrics <EFBFBD><EFBFBD><EFBFBD> *證ゆク埼怙隕? €蜊募惻譎ッ螟溽<EFBFBD>?
髞呵ッッ隸頑妙 扈捺桷蛹匁律蠢?+ SLS <EFBFBD><EFBFBD><EFBFBD> *證ゆク埼怙隕? 譌・蠢礼ウサ扈溷庄霑ス雕ェ髞呵ッ?
*<EFBFBD>畑體セ霑ス雕? 譌? <EFBFBD><EFBFBD><EFBFBD> *蛻晄悄荳埼怙隕? 蜊穂ス灘コ皮畑隹<EFBFBD>畑體セ邂€蜊?

*譬ク蠢<EFBFBD>キョ蠑ゑシ?

ARMS騾ら畑蝨コ譎ッ<EFBFBD>?
- 螟肴揩逧<E68FA9>セョ譛榊苅隹<E88B85>畑體?
- 髴€隕∵キア蠎ヲ諤ァ閭ス蛻<EFBDBD>梵
- 螟ァ隗<EFBDA7>ィ。逕滉コァ邇ッ蠅<EFBDAF>シ域律豢サ>10荳<30><EFBFBD>

謌台サャ逧<EFBDAC>惻譎ッ<E8AD8E><EFBDAF>
- 蜊穂ス灘コ皮畑<E79AAE>瑚ー<E7919A>畑體セ貂<EFBDBE>匆
- 蛻帑ク壼<EFBDB8>譛滂シ梧オ<E6A2A7>㍼蟆<E38DBC>
- 蝓コ遑€逶第而 + 譌・蠢苓カウ螟<EFBDB3>

<EFBFBD>腸 謌先悽謨育寢蛻<E5AFA2>

MSE謌先悽<EFBFBD>井シー邂暦シ<EFBFBD>

鬘ケ逶ョ 驟咲スョ 莉キ譬シ/譛? 隸エ譏<EFBFBD>
豕ィ蜀碁<EFBFBD>鄂ョ荳ュ蠢<EFBFBD> €蟆剰ァ<EFBFBD><EFBFBD>? ~ツ・200 Nacos荳謎ク夂<EFBFBD>?
莠大次逕溽ス大<EFBFBD>? €蟆剰ァ<EFBFBD><EFBFBD>? ~ツ・300 荳埼怙隕<EFBFBD><EFBFBD>AE蟾イ謠蝉セ幢シ<EFBFBD>
諤サ隶。 - ~ツ・500 蛻帑ク壼<EFBFBD>譛滉ク榊ソ<EFBFBD>ヲ?

ARMS謌先悽<EFBFBD>井シー邂暦シ<EFBFBD>

鬘ケ逶ョ 驟咲スョ 莉キ譬シ/譛? 隸エ譏<EFBFBD>
蠎皮畑逶第而 謖芽ー<EFBFBD>畑驥<EFBFBD> ~ツ・300-1000 蜿門<EFBFBD>莠手ー<EFBFBD>畑驥<EFBFBD>
諤サ隶。 - ~ツ・300-1000 譛牙<EFBFBD>雍ケ鬚晏コヲ<EFBFBD>御ス<EFBFBD>怏髯?

謌台サャ逧<EFBFBD>尅謗ァ謌先<EFBFBD>?

鬘ケ逶ョ 驟咲スョ 莉キ譬シ/譛? 隸エ譏<EFBFBD>
扈捺桷蛹匁律蠢? Winston 竊?stdout ツ・0 蜈崎エケ
譌・蠢怜ュ伜お 髦ソ驥御コ全LS ツ・0-50 蟆乗オ<EFBFBD>㍼蜈崎エケ鬚晏コヲ蜀<EFBFBD>
蛛・蠎キ譽€譟? 閾ェ螳樒<EFBFBD>? ツ・0 蜈崎エケ
諤サ隶。 - ツ・0-50 蛻帑ク壼<EFBFBD>譛溷、溽畑

*謌先悽蟇ケ豈費シ?

雍ュ荵ーMSE + ARMS<4D>嘸ツ・800-1500/譛?
謌台サャ逧<EFBDAC>婿譯茨シ<E88CA8>    ~ツ・0-50/譛?

闃ら怐謌先悽<E58588>嘸ツ・800-1500/譛?= ~ツ・10,000-18,000/蟷?

笨?謌台サャ逧<EFBDAC>渕遑€隶セ譁ス vs MSE/ARMS

謌台サャ蟾イ扈乗怏逧<EFBFBD><EFBFBD><EFBFBD>

1. 驟咲スョ邂。逅<EFBDA1>シ域崛莉」MSE驟咲スョ荳ュ蠢<EFBDAD>シ?

謌台サャ逧<EFBFBD>婿譯茨シ<EFBFBD>

// config/env.ts - 扈滉ク€驟咲スョ邂。逅<EFBDA1>
export const config = {
  storageType: process.env.STORAGE_TYPE || 'local',
  cacheType: process.env.CACHE_TYPE || 'memory',
  queueType: process.env.QUEUE_TYPE || 'memory',
  // ... 40+荳ェ驟咲スョ鬘ケ
}

// SAE邇ッ蠅<EFBDAF>序驥擾シ井コ醍ォッ驟咲スョ<EFBDBD><EFBDAE>
STORAGE_TYPE=oss
CACHE_TYPE=redis
QUEUE_TYPE=database

*莨伜漢<EFBFBD>?

  • 笨?髮カ謌先<E8AC8C>?
  • 笨?邂€蜊慕峩謗?
  • 笨?騾ょ粋蜊穂ス灘コ皮畑
  • 笨?SAE蜴溽函謾ッ謖<EFBDAF>

*MSE驟咲スョ荳ュ蠢<EFBFBD>噪莨伜漢<EFBFBD><EFBFBD>莉ャ證ゆク埼怙隕<EFBFBD>シ会シ?

  • 蜉ィ諤<EFBFBD><EFBFBD>鄂ョ譖エ譁ー<EFBFBD><EFBFBD>莉ャ驥榊星蜊ウ蜿ッ<EFBFBD>?
  • 螟壼コ皮畑驟咲スョ蜈ア莠ォ<EFBFBD><EFBFBD>莉ャ蜿ェ譛<EFBFBD>1荳ェ蠎皮畑<EFBFBD><EFBFBD>
  • 迚域悽邂。逅<EFBFBD>シ域<EFBFBD>莉ャ逕ィGit + 邇ッ蠅<EFBDAF>序驥擾シ?

2. 莉サ蜉。隹<EFBDA1>コヲ<EFBDBA>域崛莉」MSE蛻<45><EFBFBD>シ丈ササ蜉。隹<EFBDA1>コヲ<EFBDBA><EFBDA6>

謌台サャ逧<EFBFBD>婿譯茨シ<EFBFBD>

// common/jobs/ - 邂€蜊穂ササ蜉。髦溷<E9ABA6>?
import { jobQueue } from '@/common/jobs'

const job = await jobQueue.push('asl:screening', data)
// 蠖灘燕螳樒鴫<E6A892>哺emoryQueue<75>域悽蝨ー<E89DA8><EFBDB0>
// 蜷守サュ蜊<EFBDAD>コァ<EFBDBA>咼atabaseQueue<75>井コ醍ォッ<EFBDAB><EFBDAF>

*莨伜漢<EFBFBD>?

  • 笨?髮カ謌先<E8AC8C>?
  • 笨?莉」遐∫ョ€蜊?
  • 笨?貊。雜ウ蝓コ譛ャ髴€豎?
  • 笨?蜿ッ蜷守サュ蜊<EFBDAD>コ?

*MSE莉サ蜉。隹<EFBFBD>コヲ逧<EFBFBD>シ伜漢<EFBFBD><EFBFBD>莉ャ證ゆク埼怙隕<EFBFBD>シ会シ?

  • 螟肴揩逧Гron陦ィ霎セ蠑擾シ域<EFBFBD>莉ャ逕ィ邂€蜊暮弌蛻暦シ<EFBFBD>
  • 莉サ蜉。蛻<EFBFBD><EFBFBD><EFBFBD>莉ャ豬<EFBFBD>㍼蟆擾シ御ク埼怙隕<EFBFBD><EFBFBD>
  • 蜿ッ隗<EFBFBD>喧邂。逅<EFBFBD>シ域<EFBFBD>莉ャ莉」遐∫ョ。逅<EFBFBD>叉蜿ッ<EFBFBD>?
  • 莉サ蜉。螟ア雍・驥崎ッ包シ域<EFBFBD>莉ャ蜿ッ莉・邂€蜊募ョ樒鴫<EFBFBD><EFBFBD>

*蟇ケ豈費シ?

MSE XXL-JOB<4F>?    ツ・200+/譛茨シ悟、肴揩驟咲スョ<EFBDBD>€ょ粋螟ァ隗<EFBDA7>ィ?
謌台サャ逧<EFBDAC>obQueue<75>? ツ・0<EFBDA5>檎ョ€蜊慕峩謗・<E8AC97><EFBFBD>荳夐亳谿オ螟溽畑

3. 蠎皮畑逶第而<E7ACAC>域崛莉」ARMS<4D>?

謌台サャ逧<EFBFBD>婿譯茨シ<EFBFBD>

// common/logging/logger.ts - 扈捺桷蛹匁律蠢?
import { logger } from '@/common/logging'
logger.info('API called', { 
  path, method, latencyMs, statusCode, userId 
})

// common/monitoring/metrics.ts - 蜈ウ髞ョ謖<EFBDAE><E8AC96><EFBFBD>
Metrics.recordDBConnectionCount()
Metrics.recordMemoryUsage()
Metrics.recordApiLatency(path, method, latency, statusCode)

// common/health/ - 蛛・蠎キ譽€譟?
GET /health/liveness   - SAE蟄俶エサ譽€譟?
GET /health/readiness  - 蟆ア扈ェ譽€譟・<EFBFBD>亥性謨ー謐ョ蠎<EFBFBD>/<EFBFBD><EFBFBD>/郛灘ュ假シ?

譌・蠢苓セ灘<EFBFBD>蛻ー髦ソ驥御コ全LS<EFBFBD><EFBFBD>雍ケ鬚晏コヲ蜀<EFBFBD>シ会シ<EFBFBD>

Winston<EFBFBD><EFBFBD>tdout<EFBFBD>繰SON譬シ蠑擾シ俄<EFBFBD> SAE驥<45>寔 竊?髦ソ驥御コ全LS蟄伜お
蟆乗オ<E4B997>㍼蝨コ譎ッ<E8AD8E><EFBFBD>雍ケ鬚晏コヲ螟溽畑<E6BABD>域ッ乗<EFBDAF>?00MB譌・蠢暦シ?

*莨伜漢<EFBFBD>?

  • 笨?蝓コ譛ャ逶第而閭ス蜉帛ョ梧紛
  • 笨?譌・蠢怜庄霑ス貅?
  • 笨?蛛・蠎キ譽€譟・螳悟<E89EB3>?
  • 笨?謌先悽譫∽ス趣シ<E8B6A3>LS蜈崎エケ鬚晏コヲ<EFBDBA>?

*ARMS逧<EFBFBD>シ伜漢<EFBFBD><EFBFBD>莉ャ證ゆク埼怙隕<EFBFBD>シ会シ?

  • 蜿ッ隗<EFBFBD>喧Dashboard<EFBFBD><EFBFBD>莉ャ蜿ッ莉・譟・譌・蠢暦シ?
  • <EFBFBD>畑體セ霑ス雕ェ<EFBFBD>亥黒菴灘コ皮畑荳埼怙隕<EFBFBD><EFBFBD>
  • 閾ェ蜉ィ蜻願ュヲ<EFBFBD><EFBFBD>莉ャ蜿ッ莉・邂€蜊募ョ樒鴫<EFBFBD><EFBFBD>
  • 豺ア蠎ヲ諤ァ閭ス蛻<EFBFBD><EFBFBD><EFBFBD>荳壼<EFBFBD>譛滉ク埼怙隕<EFBFBD><EFBFBD>

<EFBFBD>嶋 莉€荵域慮蛟咎怙隕SE蜥窟RMS<4D>?

<EFBFBD>コァ隗ヲ蜿第擅莉カ

<EFBFBD>剔雍ュ荵ーMSE逧<EFBFBD>慮譛コ<EFBFBD><EFBFBD>

  1. 譫カ譫<EFBFBD>シ碑ソ帑クコ蠕ョ譛榊苅

    • 蠖灘燕<EFBFBD>壼黒菴鉄erverless蠎皮畑
    • 譛ェ譚・<EFBFBD>壽究蛻<EFBFBD>クコ5+荳ェ迢ャ遶区恪蜉?
    • 隗ヲ蜿第擅莉カ<EFBFBD>壽ィ。蝮礼峡遶矩Κ鄂イ縲∝屬髦?10莠?
  2. *莉サ蜉。隹<EFBFBD>コヲ螟肴揩蛹?

    • 蠖灘燕<EFBFBD>夂ョ€蜊暮弌蛻暦シ<EFBFBD><1000荳ェ莉サ蜉?螟ゥ<E89E9F><EFBDA9>
    • 譛ェ譚・<EFBFBD>壼、肴揩螳壽慮莉サ蜉。縲∽ササ蜉。蛻<EFBFBD><EFBFBD>?
    • 隗ヲ蜿第擅莉カ<EFBFBD>壻ササ蜉。驥<EFBFBD>>10,000/螟?
  3. *驟咲スョ邂。逅<EFBFBD>、肴揩蛹?

    • 蠖灘燕<EFBFBD>夂識蠅<EFBFBD>序驥擾シ<EFBFBD><50荳ェ驟咲スョ鬘ケ<E9AC98>?
    • 譛ェ譚・<EFBFBD>壼勘諤<EFBFBD><EFBFBD>鄂ョ縲、/B豬玖ッ<E78E96>
    • 隗ヲ蜿第擅莉カ<EFBFBD><EFBFBD>鄂ョ鬘ケ>200荳ェ<E88DB3>碁怙隕∝勘諤∵峩譁?

*莨ー邂玲慮髣エ<EFBFBD>? 1-2蟷エ蜷趣シ亥ケエ謾カ蜈・>1000荳<30>シ檎畑謌キ>10荳<30><EFBFBD>


<EFBFBD>剔雍ュ荵ーARMS逧<EFBFBD>慮譛コ<EFBFBD><EFBFBD>

  1. <EFBFBD>㍼隗<EFBFBD>ィ。蜿伜、ァ

    • 蠖灘燕<EFBFBD>夐「<EFBFBD>シー譌・豢?1000<30>悟ケカ蜿?100
    • 譛ェ譚・<EFBFBD>壽律豢?10荳<30>シ悟ケカ蜿<EFBDB6>>1000
    • 隗ヲ蜿第擅莉カ<EFBFBD>€ァ閭ス逑カ鬚磯「醍ケ∝<EFBFBD>邇ー
  2. <EFBFBD>囿螳壻ス榊峅髫セ

    • 蠖灘燕<EFBFBD>壽律蠢怜庄霑ス雕ェ<EFBFBD>瑚ー<EFBFBD>畑體セ邂€蜊?
    • 譛ェ譚・<EFBFBD>壼、肴揩隹<EFBFBD>畑體セ<EFBFBD>碁埓莉・螳壻ス埼琉鬚?
    • 隗ヲ蜿第擅莉カ<EFBFBD>壽腐髫懈賜譟・閠玲慮>1蟆乗慮
  3. 髴€隕∵キア蠎ヲ諤ァ閭ス莨伜喧

    • 蠖灘燕<EFBFBD>壼渕遑€逶第而螟溽畑
    • 譛ェ譚・<EFBFBD>夐怙隕∫サ<EFBFBD>イ貞コヲ諤ァ閭ス蛻<EFBFBD>
    • 隗ヲ蜿第擅莉カ<EFBFBD>夂畑謌キ蜿埼ヲ域€ァ閭ス髣ョ鬚<EFBFBD>

*莨ー邂玲慮髣エ<EFBFBD>? 6荳ェ譛<EFBDAA>-1蟷エ蜷趣シ域オ<E59F9F>㍼蠢ォ騾溷「樣柄譛滂シ?


<EFBFBD>庁 蜀ウ遲門サコ隶ョ<E99AB6><EFBFBD>荳壼<E88DB3>譛滂シ<E6BB82>

笨?謗ィ闕先婿譯茨シ壻ク崎エュ荵ーMSE蜥窟RMS

*<EFBFBD><EFBFBD>?譚。<E8AD9A>会シ?

1. *譫カ譫<EFBFBD>ク榊源驟?

MSE騾ら畑<EFBFBD>壼セョ譛榊苅譫カ譫<EFBFBD>シ亥、壻クェ迢ャ遶区恪蜉。<EFBFBD><EFBFBD>
謌台サャ譫カ譫<EFBDB6>シ壼黒菴鉄erverless蠎皮畑<E79AAE>井ク€荳ェFastify蠎皮畑<E79AAE>?
扈楢ョコ<EFBDAE>壻ク埼怙隕SE

2. *謌台サャ逧<EFBFBD>渕遑€隶セ譁ス蟾イ雜ウ螟?

笨?驟咲スョ邂。逅<EFBDA1>シ啼nv.ts + SAE邇ッ蠅<EFBDAF>序驥<E5BA8F>
笨?莉サ蜉。隹<EFBDA1>コヲ<EFBDBA>嗚obQueue<75>育ョ€蜊暮弌蛻暦シ<E69AA6>
笨?譌・蠢礼尅謗ァ<E8AC97>啗inston + 髦ソ驥御コ全LS<4C><EFBFBD>雍ケ<E99B8D><EFBDB9>
笨?蛛・蠎キ譽€譟・<E8AD9F><EFBDA5>/health 遶ッ轤ケ
笨?諤ァ閭ス逶第而<E7ACAC>哺etrics邀?

3. 謌先悽闃ら怐譏セ闡<EFBFBD>

荳崎エュ荵ー<EFBFBD>堋・0-50/譛茨シ亥宵逕ィSLS蜈崎エケ鬚晏コヲ<EFBDBA>?
雍ュ荵ー<E88DB5>? ツ・800-1500/譛?

蟷エ闃ら怐<E38289>嘸ツ・10,000-18,000

4. *<EFBFBD>㍼隗<EFBFBD>ィ。蟆?

<EFBFBD>シー<EFBFBD>?
- 蛻晄悄譌・豢サ<E8B1A2>?1000莠?
- 蟷カ蜿題ッキ豎ゑシ?100
- 譌・蠢鈴㍼<E988B4><E38DBC><100MB/螟?

蜈崎エケ鬚晏コヲ雜ウ螟滂シ?
- SLS<4C>?00MB/譛亥<E8AD9B>雍?
- SAE<41><EFBFBD>蟶ヲ蝓コ遑€逶第而

5. *蜿ッ蜷守サュ蜊<EFBFBD>コ?

邇ー蝨ィ<EFBFBD>壻スソ逕ィ蜈崎エケ譁ケ譯?
6荳ェ譛亥錘<E4BAA5>壽オ<E5A3BD>㍼蠅樣柄<E6A8A3>瑚ッ<E7919A>シー譏ッ蜷ヲ髴€隕?
1蟷エ蜷趣シ壽<EFBDBC>ケ謐ョ螳樣刔諠<E58894><E8ABA0>蜀ウ螳?

<EFBFBD>識 蠖灘燕謗ィ闕先婿譯茨シ磯峺鬚晏、匁<EFBDA4>譛ャ<E8AD9B>?

譁ケ譯<EFBFBD>1<EFBFBD>壽律蠢礼尅謗ァ<EFBFBD>亥キイ螳樒鴫<EFBFBD><EFBFBD>?

// Winston扈捺桷蛹匁律蠢?竊?stdout 竊?SAE驥<45>寔 竊?髦ソ驥御コ全LS

// 1. 驟咲スョWinston霎灘<E99C8E>JSON<4F>亥キイ螳樒鴫<E6A892>?
logger.info('API called', {
  path: '/api/v1/asl/screening',
  method: 'POST',
  latencyMs: 120,
  statusCode: 200,
  userId: 123,
  projectId: 456
})

// 2. SAE閾ェ蜉ィ驥<EFBDA8>寔stdout譌・蠢<EFBDA5>

// 3. 髦ソ驥御コ全LS譟・隸「譌・蠢暦シ亥<EFBDBC>雍ケ鬚晏コヲ<EFBDBA><EFBDA6>
// 蜿ッ莉・謖疫serId縲ath縲《tatusCode遲牙ュ玲ョオ譟・隸?

*謌先悽<EFBFBD>? ツ・0<EFBDA5><30>LS蜈崎エケ鬚晏コヲ蜀<EFBDA6><EFBFBD>

*閭ス蜉幢シ?

  • 笨?謇€譛陰PI隹<49>畑隶ー蠖<EFBDB0>
  • 笨?諤ァ閭ス謖<EFBDBD><E8AC96><EFBFBD>シ亥桃蠎疲慮髣エ<E9ABA3><EFBDB4>
  • 笨?髞呵ッッ霑ス雕ェ<E99B95><EFBDAA>rror譌・蠢暦シ?
  • 笨?逕ィ謌キ陦御クコ霑ス雕ェ

譁ケ譯<EFBFBD>2<EFBFBD>壼▼蠎キ譽€譟・荳守尅謗ァ<EFBFBD>亥キイ螳樒鴫<EFBFBD>俄怛

// 1. SAE蛛・蠎キ譽€譟・遶ッ轤ケ<E8BDA4>亥キイ螳樒鴫<E6A892><E9B4AB>
GET /health/liveness   - 蟄俶エサ譽€譟・<EFBFBD><EFBFBD><10ms<EFBFBD>?
GET /health/readiness  - 蟆ア扈ェ譽€<EFBFBD>亥性DB/<EFBFBD><EFBFBD>/郛灘ュ假シ?

// 2. 蜈ウ髞ョ謖<EFBDAE><E8AC96><EFBFBD>尅謗ァ<E8AC97>亥キイ螳樒鴫<E6A892>?
Metrics.recordDBConnectionCount()      // 謨ー謐ョ蠎楢ソ樊磁謨ー
Metrics.recordMemoryUsage()            // 蜀<>ュ倅スソ逕ィ
Metrics.recordApiLatency(...)          // API蟒カ霑<EFBDB6>

// 3. SAE謗ァ蛻カ蜿ー譟・逵?
- CPU菴ソ逕ィ邇?
- <EFBFBD>ュ倅スソ逕ィ邇?
- 螳樔セ区焚驥<EFBFBD>
- HTTP隸キ豎らサ溯ョ

*謌先悽<EFBFBD>? ツ・0<EFBDA5><30>AE閾ェ蟶ヲ<E89FB6>?

*閭ス蜉幢シ?

  • 笨?螳樊慮逶第而CPU/蜀<><EFBFBD>
  • 笨?螳樔セ句▼蠎キ迥カ諤?
  • 笨?HTTP隸キ豎らサ溯ョ。
  • 笨?閾ェ蜉ィ驥榊星謨<E6989F>囿螳樔セ<E6A894>

譁ケ譯<EFBFBD>3<EFBFBD>壻ササ蜉。隹<EFBFBD>コヲ<EFBFBD>亥キイ螳樒鴫<EFBFBD>悟庄蜊<EFBFBD>コァ<EFBFBD><EFBFBD>?

蠖灘燕螳樒鴫<EFBFBD><EFBFBD>hase 1<>会シ<E4BC9A>

// MemoryQueue - 譛ャ蝨ー蠑€蜿?
QUEUE_TYPE=memory

// 蜉溯<E89C89><E6BAAF>?
- ?蛻帛サコ莉サ蜉。
- ?譟・隸「莉サ蜉。迥カ諤?
- ?霑帛コヲ霍溯クェ

蜷守サュ蜊<EFBFBD>コァ<EFBFBD><EFBFBD>hase 2<>会シ<E4BC9A>

// DatabaseQueue - 逕滉コァ邇ッ蠅<EFBDAF>
QUEUE_TYPE=database

// 蜊<>コァ蜀<EFBDA7>ョケ<EFBDAE>?
- ?莉サ蜉。謖∽ケ<EFBFBD><EFBFBD>亥ュ伜お蛻ーPostgreSQL<EFBFBD>?
- ?螟壼ョ樔セ句<EFBFBD>莠ォ<EFBFBD><EFBFBD>AE螟壼ョ樔セ狗識蠅<EFBFBD><EFBFBD>
- ?螟ア雍・驥崎ッ包シ?谺。驥崎ッ墓惻蛻カ<EFBFBD><EFBFBD>
- ?螳壽慮莉サ蜉。<EFBFBD>育ョ€蜊匹ron謾ッ謖<EFBFBD>?

*謌先悽<EFBFBD>? ツ・0<EFBDA5>井スソ逕ィ邇ー譛臼ostgreSQL<51>?

*€荵域慮蛟咎怙隕SE XXL-JOB<4F>?

  • 莉サ蜉。驥?> 10,000/螟?
  • €隕∝、肴揩逧<EFBFBD>ササ蜉。蛻<EFBFBD>
  • €隕∝庄隗<EFBFBD>喧邂。逅<EFBFBD>阜髱「
  • 髴€隕∬キィ譛榊苅莉サ蜉。郛匁賜

譁ケ譯<EFBFBD>4<EFBFBD>夐漠隸ッ蜻願ュヲ<EFBFBD>郁。・蜈<EFBFBD>ョ樒鴫<EFBFBD>?0蛻<30><EFBFBD>?

*€蜊募相隴ヲ譁ケ譯茨シ亥庄騾牙ョ樒鴫<EFBFBD>会シ?

// common/monitoring/alerting.ts<74>域眠蠅橸シ<E6A9B8>

import { logger } from '../logging/logger.js'

export class Alerting {
  /**
   * 蜿鷹€<E9B7B9>忠髓牙相隴ヲ<E99AB4><EFBFBD>荳壼<E88DB3>譛滓耳闕撰シ?
   */
  static async sendDingTalkAlert(message: string, level: 'info' | 'warn' | 'error') {
    if (process.env.NODE_ENV !== 'production') return
    
    const webhook = process.env.DINGTALK_WEBHOOK_URL
    if (!webhook) return
    
    // 蜿鷹€∝芦髓蛾忠鄒?
    await fetch(webhook, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        msgtype: 'text',
        text: { content: `[${level.toUpperCase()}] ${message}` }
      })
    })
  }
  
  /**
   * 謨ー謐ョ蠎楢ソ樊磁蜻願ュヲ<EFBDAD><EFBDA6>80%髦亥€<C280><EFBDBC>
   */
  static async checkAndAlertDBConnection() {
    const current = await getDatabaseConnectionCount()
    const max = config.dbMaxConnections
    const usage = (current / max) * 100
    
    if (usage > 80) {
      await this.sendDingTalkAlert(
        `笞<><E7AC9E><EFBFBD> 謨ー謐ョ蠎楢ソ樊磁謨ー蜻願ュヲ<EFBDAD>?{current}/${max} (${usage.toFixed(1)}%)`,
        'warn'
      )
    }
  }
}

*謌先悽<EFBFBD>? ツ・0<EFBDA5>磯忠髓牙<E9AB93>雍ケ<E99B8D><EFBDB9>


<EFBFBD>搭 蛻帑ク壼<EFBDB8>譛滓耳闕先婿譯茨シ域€サ扈難シ?

笨?菴ソ逕ィ<E98095>磯峺謌先悽<E58588>?

譛榊苅 螳樒鴫譁ケ蠑<EFBFBD> 謌先悽 迥カ諤?
譌・蠢礼尅謗ァ Winston + 髦ソ驥御コ全LS<4C><EFBFBD>雍ケ鬚晏コヲ<EFBDBA><EFBDA6> ツ・0 笨?蟾イ螳樒<E89EB3>?
*蛛・蠎キ譽€譟? /health 遶ッ轤ケ + SAE閾ェ蟶ヲ逶第而 ツ・0 笨?蟾イ螳樒<E89EB3>?
莉サ蜉。髦溷<EFBFBD> MemoryQueue<EFBFBD>域悽蝨ー<EFBFBD><EFBFBD>/DatabaseQueue<75>井コ醍ォッ<EFBDAB><EFBDAF> ツ・0 笨?蟾イ螳樒<E89EB3>?
驟咲スョ邂。逅<EFBFBD> env.ts + SAE邇ッ蠅<EFBDAF>序驥<E5BA8F> ツ・0 笨?蟾イ螳樒<E89EB3>?
髞呵ッッ蜻願ュヲ 髓蛾忠Webhook<EFBFBD>亥庄騾会シ<EFBFBD> ツ・0 <EFBFBD>搭 蜿ッ騾牙ョ樒<EFBDAE>?

諤サ謌先悽<EFBFBD><EFBFBD> ツ・0-50/譛?


笶?證ゆク崎エュ荵ー

譛榊苅 蜴溷屏 菴墓慮髴€隕?
髦ソ驥御コ閃SE 謌台サャ譏ッ蜊穂ス灘コ皮畑<EFBFBD>御ク肴弍蠕ョ譛榊<EFBFBD>? 1-2蟷エ蜷趣シ域楔譫<E6A594>合郤ァ荳コ蠕ョ譛榊苅<E6A68A><E88B85>
髦ソ驥御コ羨RMS 蝓コ遑€逶第而雜ウ螟滂シ梧オ<EFBFBD>㍼蟆<EFBFBD> 6荳ェ譛<EFBFBD>-1蟷エ蜷趣シ域オ<E59F9F><EFBDB5>?10荳?螟ゥ<E89E9F><EFBDA9>

<EFBFBD>売 蜊<>コァ霍ッ蠕<EFBDAF><EFBFBD><EFBDA7>

Phase 1<>壼ス灘燕髦カ谿オ<E8B0BF><EFBDB5>0-6荳ェ譛茨シ俄ュ<E4BF84> 邇ー蝨ィ

*<EFBFBD>㍼隗<EFBFBD>ィ。<EFBFBD>? 譌・豢サ<1000<30>悟ケカ蜿?100

*謗ィ闕先婿譯茨シ?

笨?Winston譌・蠢<EFBDA5> + 髦ソ驥御コ全LS<4C><EFBFBD>雍ケ鬚晏コヲ<EFBDBA><EFBDA6>
笨?/health蛛・蠎キ譽€譟?
笨?MemoryQueue莉サ蜉。髦溷<E9ABA6>
笨?邂€蜊慕噪Metrics逶第而
笨?髓蛾忠蜻願ュヲ<EFBDAD>亥庄騾会シ<E4BC9A>

*謌先悽<EFBFBD>? ツ・0-50/譛?


Phase 2<>壼ソォ騾溷「樣柄譛滂シ?荳ェ譛<EFBDAA>-1蟷エ<E89FB7><EFBDB4>

*<EFBFBD>㍼隗<EFBFBD>ィ。<EFBFBD>? 譌・豢サ1000-10000<30>悟ケカ蜿?00-500

*<EFBFBD>コァ蟒コ隶ョ<EFBFBD>?

笨?蜊<>コァ蛻ーDatabaseQueue<75>井ササ蜉。謖∽ケ<E288BD><EFBFBD>?
笞<><E7AC9E><EFBFBD><>剔ARMS蝓コ遑€迚茨シ域潔驥丈サ倩エケ<EFBDB4>?
笞<><E7AC9E><EFBFBD> 蠅槫刈Redis郛灘ュ假シ磯剄菴札B蜴句鴨<E58FA5>?
笞<><E7AC9E><EFBFBD> 蠅槫刈CDN<44>亥刈騾滄撕諤∬オ<E288AC>コ撰シ<E692B0>

*謌先悽<EFBFBD>? ツ・500-1000/譛?


Phase 3<><EFBFBD>辭滓悄<E6BB93>?蟷?<3F>?

*<EFBFBD>㍼隗<EFBFBD>ィ。<EFBFBD>? 譌・豢サ>10荳<30>シ悟ケカ蜿<EFBDB6>>1000

*<EFBFBD>コァ蟒コ隶ョ<EFBFBD>?

<EFBFBD><EFBFBD><EFBFBD><>剔MSE<53>亥ヲよ棡諡<E6A3A1><E8ABA1>荳コ蠕ョ譛榊苅<E6A68A><E88B85>
笨?雍ュ荵ーARMS荳謎ク夂沿<E5A482>域キア蠎ヲ諤ァ閭ス蛻<EFBDBD><EFBFBD>?
笨?蠅槫刈Redis髮<73>セ、<EFBDBE>磯ォ伜庄逕ィ<E98095>?
笨?蠅槫刈RDS蜿ェ隸サ螳樔セ具シ郁ッサ蜀吝<E89C80>遖サ<E98196><EFBDBB>

*謌先悽<EFBFBD>? ツ・2000-5000/譛?


<EFBFBD>識 譛€扈亥サコ隶?

笨?蛻帑ク壼<EFBDB8>譛滂シ育鴫蝨ィ<E89DA8><EFBDA8>

荳埼怙隕∬エュ荵ーMSE蜥窟RMS<EFBFBD>悟次蝗<EFBFBD><EFBFBD><EFBFBD>

  1. *譫カ譫<EFBFBD>ク榊源驟?

    • MSE髱「蜷大セョ譛榊苅<EFBFBD><EFBFBD>莉ャ譏ッ蜊穂ス灘コ皮<EFBFBD>?
    • ARMS髱「蜷大、ァ豬<EFBFBD><EFBFBD><EFBFBD>莉ャ豬<EFBFBD>㍼蟆?
  2. 謌先悽莨伜<EFBFBD>

    • 闃ら怐<EFBFBD>堋?00-1500/譛?
    • 邏ッ隶。<EFBFBD>堋?0,000-18,000/蟷?
  3. 邇ー譛画婿譯郁カウ螟<EFBFBD>

    • 謌台サャ逧?荳ェ蝓コ遑€隶セ譁ス讓。蝮<EFBDA1>
    • Winston譌・蠢<EFBFBD> + SLS
    • 蛛・蠎キ譽€譟?+ 邂€蜊慕尅謗?
  4. *蜿ッ蜷守サュ蜊<EFBFBD>コ?

    • 髫冗捩豬<EFBFBD>㍼蠅樣柄蜀崎ッ<EFBFBD>シ?
    • 譫カ譫<EFBFBD>合郤ァ譌カ蜀崎€<EFBFBD>

<EFBFBD>売 譖ソ莉」譁ケ譯茨シ域耳闕撰シ<E692B0>

遶句叉菴ソ逕ィ<EFBFBD><EFBFBD>雍ケ<EFBFBD>会シ?

  1. 髦ソ驥御コ全LS<EFBFBD>域律蠢玲恪蜉。<EFBFBD><EFBFBD> - 蜈崎エケ鬚晏コヲ蜀?

    • 謾カ髮<EFBFBD>inston譌・蠢<EFBFBD>
    • 譌・蠢玲衍隸「蜥悟<EFBFBD>譫?
    • €蜊慕噪蜻願ュヲ隗<EFBFBD><EFBFBD>
  2. SAE閾ェ蟶ヲ逶第而 - 蜈崎エケ

    • CPU/蜀<>ュ倡尅謗ァ
    • HTTP隸キ豎らサ溯ョ。
    • 螳樔セ句▼蠎キ迥カ諤?
  3. 髓蛾忠蜻願ュヲ<EFBFBD>亥庄騾会シ<EFBFBD> - 蜈崎エケ

    • 蜈ウ髞ョ髞呵ッッ騾夂衍
    • 謨ー謐ョ蠎楢ソ樊磁蜻願ュ?
    • 莉サ蜉。螟ア雍・騾夂衍

6荳ェ譛亥錘隸<EFBFBD>シー<EFBFBD><EFBFBD>

  1. *螯よ棡豬<EFBFBD>㍼>1荳?螟?

    • <EFBFBD>剔ARMS蝓コ遑€迚茨シ域潔驥丈サ倩エケ<EFBFBD>?
  2. 螯よ棡髴€隕∵究蛻<EFBFBD>セョ譛榊苅

    • <EFBFBD>剔MSE豕ィ蜀御クュ蠢<EFBFBD>

<EFBFBD>投 蟇ケ豈疲€サ扈楢。?

扈エ蠎ヲ 謌台サャ逧<EFBFBD>婿譯? MSE + ARMS 扈楢ョコ
*譫カ譫<EFBFBD>源驟榊コ? 笨?螳檎セ趣シ亥黒菴灘コ皮畑<E79AAE><E79591> 笶?荳榊源驟搾シ亥セョ譛榊苅<E6A68A><E88B85> 謌台サャ閭懷<EFBFBD>
*蜉溯<EFBFBD>螳梧紛諤? 笨?蝓コ遑€螳梧紛 笨?蜉溯<E89C89>蠑コ螟ァ 蝓コ遑€螟溽畑
謌先悽 笨?ツ・0-50/譛? 笶?ツ・800-1500/譛? 謌台サャ閭懷<EFBFBD>
螳樊命髫セ蠎ヲ 笨?邂€蜊? <EFBFBD><EFBFBD><EFBFBD> 髴€隕∝ュヲ荵? 謌台サャ閭懷<EFBFBD>
*蜿ッ謇ゥ螻墓€? 笨?蜿ッ蜊<EFBDAF>コ? 笨?蠑? 蟷ウ謇<EFBFBD>
蛻帑ク壼<EFBFBD>譛滄€ら畑 笨?螳檎セ<E6AA8E> 笶?荳埼€ょ粋 謌台サャ閭懷<EFBFBD>

<EFBFBD>汐 陦悟勘蟒コ隶ョ

笨?遶句叉謇ァ陦鯉シ亥<EFBDBC>雍ケ莨伜喧<E4BC9C><E596A7>

  1. 驟咲スョ髦ソ驥御コ全LS譌・蠢玲恪蜉。<EFBFBD>?0蛻<30><EFBFBD>?

    • SAE謗ァ蛻カ蜿ー蠑€蜷ッ譌・蠢鈴㊦髮?
    • 驟咲スョ譌・蠢玲衍隸「
    • 隶セ鄂ョ邂€蜊募相隴ヲ<EFBFBD>亥ヲる漠隸ッ謨ー>10/蛻<><EFBFBD>?
  2. *豺サ蜉<EFBFBD>髓蛾忠蜻願ュヲ<EFBFBD>亥庄騾会シ<EFBFBD>30蛻<EFBFBD><EFBFBD>?

    • 蛻帛サコ髓蛾忠鄒、譛コ蝎ィ莠コ
    • 豺サ蜉<EFBFBD> common/monitoring/alerting.ts
    • 蜈ウ髞ョ髞呵ッッ蜿鷹€∝芦髓蛾忠
  3. *莨伜喧逶第而謖<EFBFBD><EFBFBD><EFBFBD>シ?0蛻<30><EFBFBD>?

    • 螳悟埋 Metrics.recordApiLatency()
    • 螳壽悄隶ー蠖募<EFBFBD>髞ョ謖<EFBFBD><EFBFBD><EFBFBD>
    • 譌・蠢苓セ灘<EFBFBD>萓ソ莠惨LS蛻<EFBFBD>

笶?證ゆク肴鴬陦鯉シ郁鰍逵∵<E980B5>譛ャ<E8AD9B><EFBDAC>

  1. 笶?雍ュ荵ー髦ソ驥御コ閃SE<53>郁鰍逵<E9B08D>?00/譛茨シ<E88CA8>
  2. 笶?雍ュ荵ー髦ソ驥御コ羨RMS<4D>郁鰍逵<E9B08D>?00-1000/譛茨シ<E88CA8>

<EFBFBD>套 6荳ェ譛亥錘螟崎ッ?

  • <EFBFBD>シー豬<EFBFBD>㍼蠅樣柄諠<EFBFBD><EFBFBD>
  • <EFBFBD>シー逶第而髴€豎ょ序蛹?
  • 蜀ウ螳壽弍蜷ヲ雍ュ荵ーARMS
  • <EFBFBD>シー譏ッ蜷ヲ髴€隕∝セョ譛榊苅譫カ譫<EFBFBD><EFBFBD>SE<EFBFBD>?

<EFBFBD>直 扈吝<E68988>遲冶€<E586B6>噪荳€蜿・隸<EFBDA5>

*蛻帑ク壼<EFBFBD>譛滂シ御ク埼怙隕∬エュ荵ーMSE蜥窟RMS縲?

*<EFBFBD><EFBFBD>?

  1. 謌台サャ逧<EFBFBD>渕遑€隶セ譁ス蟾イ扈剰ヲ<EFBFBD>尠莠<EFBFBD><EFBFBD>ク蠢<EFBFBD>怙豎?
  2. 闃ら怐ツ・10,000-18,000/蟷エ逧<EFBDB4><E980A7>譛ャ
  3. <EFBFBD>㍼隗<EFBFBD>ィ。荳埼怙隕∽シ∽ク夂コァ逶第而
  4. 蜿ッ莉・蝨ィ謌宣柄蜷主<EFBFBD><EFBFBD>コ?

*鬟朱勦<EFBFBD>? 譫∽ス趣シ域<EFBDBC>莉ャ譛牙ョ梧紛逧<E7B49B>尅謗ァ蜥梧律蠢嶺ス鍋ウサ<EFBDB3>?

*蟒コ隶ョ<EFBFBD>? 謚願鰍逵∫噪雍ケ逕ィ謚募<E8AC9A>蛻ーLLM隹<4D>畑謌先悽蜥悟クょ惻謗ィ蟷?


*<EFBFBD>。」霍ッ蠕<EFBFBD>シ? docs/08-鬘ケ逶ョ邂。逅<EFBDA1>/04-謚€譛ッ蜀ウ遲?2025-11-18-MSE荳拶RMS驥<53>エュ蜀ウ遲門<E981B2><EFBFBD>.md
*蜀ウ遲也サ楢ョコ<EFBFBD>? 蛻帑ク壼<EFBDB8>譛滉ク崎エュ荵ーMSE蜥窟RMS<4D>御スソ逕ィ邇ー譛牙<E8AD9B>雍ケ譁ケ譯? *螟崎ッ<EFBFBD>慮髣エ<EFBFBD>? 6荳ェ譛亥錘<E4BAA5><E98C98>2025蟷?譛茨シ画<EFBDBC><EFBFBD>㍼遯∫<E981AF>?荳?螟ゥ譌カ
扈エ謚、閠<EFBFBD><EFBFBD> 謚€譛ッ蝗「髦?