[Spring] ์Šคํ”„๋ง๋ถ€ํŠธ์™€ HikariCP๋ฅผ ํ™œ์šฉํ•œ Connection Pool ์„ค์ • ๋ฐ ์ตœ์ ํ™”

[Spring] ์Šคํ”„๋ง๋ถ€ํŠธ์™€ HikariCP๋ฅผ ํ™œ์šฉํ•œ Connection Pool ์„ค์ • ๋ฐ ์ตœ์ ํ™”

๋ช‡ ๋…„ ์ „ ์šด์˜ ํ”„๋กœ์ ํŠธ ์„ค์ • ์‹œ ์ž์„ธํ•˜๊ฒŒ ๋ดค๋˜ ๋‚ด์šฉ์ด์ง€๋งŒ, ํŠธ๋ž˜ํ”ฝ์ด ๋Œ€ํญ ์ฆ๊ฐ€ํ•˜๊ณ , DBMS์— ์—ฐ๊ฒฐ๋œ ํ”„๋กœ์ ํŠธ์™€ ๋ชจ๋“ˆ์ด ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ์žฌ์„ค์ •์„ ์œ„ํ•ด ๊ฐœ๋…์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.1. ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ๊ณผ์ •DB Connection ์—ด๊ธฐ- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐTCP ์†Œ์ผ“ ์—ด๊ธฐ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์†ก์„ ์œ„ํ•ด TCP ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์™€ ํ†ต์‹ ์ฑ„๋„์„ ์„ค์ •๋ฐ์ดํ„ฐ ํ†ต์‹  ์ˆ˜ํ–‰ - ์ƒ์„ฑ๋œ ์†Œ์ผ“์„ ํ†ตํ•ด SQL ์ฟผ๋ฆฌ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ Read / WriteDB์—ฐ๊ฒฐ ๋‹ซ๊ธฐ - ๋ฐ์ดํ„ฐ ํ†ต์‹ ์ด ์™„๋ฃŒ๋˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒTCP ์†Œ์ผ“ ๋‹ซ๊ธฐ - ์‚ฌ์šฉํ•œ TCP ์†Œ์ผ“์„ ๋‹ซ์•„ ํ†ต์‹  ์ฑ„๋„ ํ•ด์ œ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํด๋ผ์ด์–ธํŠธ์˜ HTTP ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ฐ ์š”..

  • textsms
[AWS] Bastion ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์„œ๋ฒ„ ์ ‘์† ์ƒํƒœ ํ•œ๋ˆˆ์— ๊ตฌ๋ถ„ํ•˜๊ธฐ

[AWS] Bastion ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์„œ๋ฒ„ ์ ‘์† ์ƒํƒœ ํ•œ๋ˆˆ์— ๊ตฌ๋ถ„ํ•˜๊ธฐ

1. Bastion ์„œ๋ฒ„๋ž€?Bastion ์„œ๋ฒ„๋ž€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ, ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•˜๋Š” ์„œ๋ฒ„๋กœ, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ private ์„œ๋ฒ„๋กœ ์ ‘์†ํ•  ๋•Œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ด ์ฃผ๊ณ  ์ ‘๊ทผ์ œ์–ด๋ฅผ ๊ตฌํ˜„ํ•ด ์ค€๋‹ค. ์™ธ๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • IP์—์„œ๋งŒ Bastion ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, private ์„œ๋ฒ„๋“ค์€ Bastion ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด์„œ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ ์ €ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„  Bastion์„œ๋ฒ„์˜ ์„ค์ • ๋ฐฉ๋ฒ•๊ณผ, ๋‹ค์ค‘ ์„œ๋ฒ„๋ฅผ Bastion ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•  ์‹œ ์ ‘์†์ƒํƒœ๋ฅผ ํ•œ๋ˆˆ์— ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.2. Bastion ์„œ๋ฒ„ ์„ค์ • ๋ฐฉ๋ฒ•2-1.aws ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ t2 micro~t3 micro - ์†Œ๊ทœ๋ชจ ๊ฐœ๋ฐœํŒ€t3 small  - ์ค‘๊ฐ„ ๊ทœ๋ชจํŒ€T3.medium, M5.larg..

  • textsms
[LLM] Quota discoveryengine.googleapis.com/documents exceeded.

[LLM] Quota discoveryengine.googleapis.com/documents exceeded.

1. ๋ฌธ์ œ ๋ฐœ์ƒQuota discoveryengine.googleapis.com/documents exceeded.GCP์—์„œ MLOps๋ฅผ ๊ตฌ์ถ• ์ค‘, RAG๋ฅผ ์œ„ํ•œ Discovery engine์˜ ๋ฐ์ดํ„ฐ ์ตœ๋Œ€ ์ˆ˜๋Ÿ‰์ด ์ดˆ๊ณผ๋˜์—ˆ๋‹ค๋Š” ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค.๊ธฐ๋ณธ ๋ฆฌ๋ฐ‹์€ 100๋งŒ๊ฑด์ด์ง€๋งŒ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ• ๋‹น๋Ÿ‰ ์ˆ˜์ • ์š”์ฒญ์ด ํ•„์š”ํ•˜๋‹ค.2. ํ• ๋‹น๋Ÿ‰ ์ˆ˜์ • ์š”์ฒญ2-1. IAM & ๊ด€๋ฆฌ์ž -> ํ• ๋‹น๋Ÿ‰ ๋ฐ ์‹œ์Šคํ…œ ํ•œ๋„2-2. ์ดˆ๊ณผ๋œ ํ•ญ๋ชฉ ์„ ํƒํ• ๋‹น๋Ÿ‰ ์ˆ˜์ •์„ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ๋งจ ์˜ค๋ฅธ์ชฝ ๋ฉ”๋‰ด ํƒญ์—์„œ ํ• ๋‹น๋Ÿ‰ ๋ณ€๊ฒฝ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.2-3. ํ• ๋‹น๋Ÿ‰ ๋ณ€๊ฒฝ ์‹ ์ฒญํ• ๋‹น๋Ÿ‰ ๋ณ€๊ฒฝ ์‹ ์ฒญ์„ ์š”์ฒญํ•˜๋ฉด, 2~3์ผ ์ด๋‚ด์— ํšŒ์‹ ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. (๋‚ด ๊ฒฝ์šฐ 1์ผ ๋งŒ์— ํšŒ์‹ ์„ ๋ฐ›์•˜์œผ๋‚˜, GCP ๊ณ„์ •์„ ๋งŒ๋“  ์ง€ ์–ผ๋งˆ ๋˜์ง€ ์•Š์•„ ์Šน์ธ์ด ์–ด๋ ต๋‹ค๋Š” ..

  • textsms
[LLM] Google Cloud Discovery Engine ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ์—…๋กœ๋“œ ํฌ๋งท

[LLM] Google Cloud Discovery Engine ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ์—…๋กœ๋“œ ํฌ๋งท

1. Google Cloud Discovery Engine์ด๋ž€?Google Cloud Discovery Engine์€ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ ์„œ๋น„์Šค๋กœ, ์›น์‚ฌ์ดํŠธ๋‚˜ ์•ฑ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.๊ณ ๊ธ‰ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ : ๋‹จ์ˆœ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰์ด ์•„๋‹Œ, ์‚ฌ์šฉ์ž์˜ ์˜๋„์— ๋งž์ถฐ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๊ด€๋ จ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ์•ˆํ•˜๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์„ ์ง€์›๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ : ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์—”์ง„์„ ํ™œ์šฉ, ์ทจํ–ฅ๊ณผ ํ–‰๋™ ํŒจํ„ด์— ๋งž์ถ˜ ์ถ”์ฒœ ์ฝ˜ํ…์ธ  ์ œ๊ณตํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ : ๋‹ค์–‘ํ•œ ๊ทœ๋ชจ์™€ ๋ฒ”์œ„์˜ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ๋น ๋ฅธ ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ ์„ฑ๋Šฅ์œ ์ง€2. ๋ฌธ์ œ์ƒํ™ฉGoogle cloud discovery engine์„ ํ™œ์šฉํ•ด rag๋ฅผ ๊ณ ๋„ํ™” ์‹œ๋„ํ•˜๋˜ ์ค‘..

  • textsms
[Spring] ํ…Œ์ŠคํŠธ 4 - ์–ผ๋งˆ๋‚˜ ๊นŠ๊ฒŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

[Spring] ํ…Œ์ŠคํŠธ 4 - ์–ผ๋งˆ๋‚˜ ๊นŠ๊ฒŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

4. HOW DEEP - ์–ผ๋งˆ๋‚˜ ๊นŠ๊ฒŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š”๊ฐ€?4.1 ํ…Œ์ŠคํŠธ ๊นŠ์ด๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ์ค€ํ…Œ์ŠคํŠธ ๊นŠ์ด๋ฅผ ์„ค์ •ํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:ํ…Œ์ŠคํŠธ ํ”ผ๋ผ๋ฏธ๋“œ(Test Pyramid): ํ…Œ์ŠคํŠธ ํ”ผ๋ผ๋ฏธ๋“œ๋Š” ํ…Œ์ŠคํŠธ ์ข…๋ฅ˜์— ๋”ฐ๋ฅธ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ๋งŽ๊ณ , ๊ทธ๋‹ค์Œ์œผ๋กœ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ์‹œ์Šคํ…œ ๋˜๋Š” E2E(End-to-End) ํ…Œ์ŠคํŠธ๊ฐ€ ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Tests): ๊ฐ€์žฅ ๋งŽ์€ ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋ฉฐ, ์ž‘์€ ์ฝ”๋“œ ๋‹จ์œ„๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ(Integration Tests): ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.E2E ํ…Œ์ŠคํŠธ(End-to-End Tests): ์‹ค์ œ ์‚ฌ์šฉ์ž ๊ด€์ ์—์„œ ์ „์ฒด ์‹œ์Šคํ…œ์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.์œ„ํ—˜ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ..

  • textsms