๐ŸŒ Infra 6

[Spring Cloud] Spring Cloud

Spring Cloud1. Spring Cloud2. Spring Cloud ์ฃผ์š” ๊ธฐ๋Šฅ1. Spring Cloud๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค(MSA)์˜ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์šด์˜์— ํ•„์š”ํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” Spring Boot ๊ธฐ๋ฐ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.Spring boot๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹ , ๊ตฌ์„ฑ ๊ด€๋ฆฌ, ๋ถ€ํ•˜ ๋ถ„์‚ฐ, ์žฅ์•  ๋ณต๊ตฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. 2. Spring Cloud ์ฃผ์š” ๊ธฐ๋Šฅ- ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ(Service Discovery)MSA์—์„œ ๊ฐ ์„œ๋น„์Šค์˜ ์œ„์น˜๋ฅผ ๋™์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์ฐพ์•„์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.๊ฐ ์„œ๋น„์Šค๋Š” ๋“ฑ๋ก ์„œ๋ฒ„์— ์ž์‹ ์˜ ์œ„์น˜๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ๋‹ค๋ฅธ ์„œ๋น„์Šค๋Š” ์ด๋ฅผ ์กฐํšŒํ•˜์—ฌ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. - ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ์„œ๋น„์Šค ์š”์ฒญ..

๐ŸŒ Infra 2025.02.11

[CI/CD] Github Actions, Jenkins

Github Actions, Jenkins1. CI/CD2. Github Actions3. Jenkins1. CI/CDCI/CD๋Š” ์ง€์†์  ํ†ตํ•ฉ(Continuous Integration)๊ณผ ์ง€์†์  ๋ฐฐํฌ(Continuous Deployment)์ž…๋‹ˆ๋‹ค.์ฝ”๋“œ ์ˆ˜์ • ํ›„ ๋ฐ”๋กœ ๋ฐฐํฌ ํ™˜๊ฒฝ์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ์ž๋™ํ™”ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Github Actions, Jenkins์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.์ž๋™์œผ๋กœ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๊นŒ์ง€์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง„ํ–‰๋˜์–ด ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. - CI/CD ๋™์ž‘ ๋ฐฉ๋ฒ•1. ์ฝ”๋“œ ์ž‘์„ฑ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด Git ์ €์žฅ์†Œ์— ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. 2. ๋นŒ๋“œ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด CI/CD ํŒŒ์ดํ”„๋ผ์ธ์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. 3. ..

๐ŸŒ Infra 2025.01.15

[MQ] Pub/Sub ๊ตฌ์กฐ - RabbitMQ, Kafka, Redis

Pub/Sub ๊ตฌ์กฐ - RabbitMQ, Kafka, Redis1. Pub/Sub ๊ตฌ์กฐ2. RabbitMQ3. Kafka4. Redis1. Pub/Sub ๊ตฌ์กฐPub/Sub์€ ๋ฐœํ–‰/๊ตฌ๋… ๋ชจ๋ธ๋กœ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.๋ฐœํ–‰์ž(Publisher)์™€ ๊ตฌ๋…์ž(Subscriber) ๊ฐ„์˜ ์ง์ ‘์ ์ธ ์—ฐ๊ฒฐ์„ ์—†์• ๊ณ , ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(Message Broker)๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค. - ๋™์ž‘ ๋ฐฉ์‹1. ๋ฐœํ–‰๋ฐœํ–‰์ž๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํŠน์ • ์ฃผ์ œ(Topic)๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” ์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๋‹น ์ฃผ์ œ๋ฅผ ๊ตฌ๋…ํ•œ ๊ตฌ๋…์ž๋“ค์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. 2. ๊ตฌ๋…๊ตฌ๋…์ž๋Š” ๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ(Topic)๋ฅผ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค.๊ตฌ๋…ํ•œ ์ฃผ์ œ์—์„œ ๋ฐœํ–‰๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” RabbitMQ, Kafk..

๐ŸŒ Infra 2025.01.13

[Docker] Docker, Docker Compose, Kubernetes

Docker, Docker Compose, Kubernetes1. Docker2. Docker Compose3. Kubernetes1. DockerDocker๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฒฉ๋ฆฌ๋œ ๊ณต๊ฐ„์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ธฐ์ˆ ์œผ๋กœ, ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์‹คํ–‰ํ™˜๊ฒฝ์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ถ”์ƒํ™”ํ•˜๊ณ  ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์‰ฝ๊ณ  ๋น ๋ฅธ ์‹คํ–‰ ํ™˜๊ฒฝ ๊ตฌ์ถ•, ํ•˜๋“œ์›จ์–ด ์ž์› ์ ˆ๊ฐ, Docker Hub์™€ ๊ฐ™์€ ๊ณต์œ  ํ™˜๊ฒฝ ์ œ๊ณต ๋“ฑ์˜ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.๊ฐœ๋ฐœ ์ดˆ๊ธฐ์˜ ์˜ค๋ฒ„ํ—ค๋“œ, Linux ์นœํ™”์ ์ธ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.  - DockerfileDockerfile์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ •์˜ํ•˜๋Š” ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.๋ฒ ์ด์Šค ์ด๋ฏธ์ง€, ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ์• ..

๐ŸŒ Infra 2025.01.13

[MQ] Springboot STOMP ํ”„๋กœํ† ์ฝœ์œผ๋กœ Web Socket ํ†ต์‹ ํ•˜๊ธฐ

Springboot STOMP ํ”„๋กœํ† ์ฝœ์œผ๋กœ Web Socket ํ†ต์‹ ํ•˜๊ธฐ1. ๋ฉ”์‹œ์ง€ ํ(Message Queue)2. STOMP ํ”„๋กœํ† ์ฝœ3. Springboot STOMP ํ”„๋กœํ† ์ฝœ์œผ๋กœ Web Socket ํ†ต์‹ ํ•˜๊ธฐ1. ๋ฉ”์‹œ์ง€ ํ(Message Queue)๋ฉ”์‹œ์ง€ ํ(Message Queue)๋Š” ๋น„๋™๊ธฐ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ํ†ต์‹ ์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.๋ฉ”์‹œ์ง€๋ฅผ ํ(Queue)์— ์ž„์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜์—ฌ, FIFO(First-In-First-Out, ์„ ์ž…์„ ์ถœ)๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์‹œ์ง€ ํ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” RabbitMQ, Kafka์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(Message Broker)๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” RabbitMQ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 2. STOMP ํ”„๋กœํ† ์ฝœSTOMP(Simple Text Oriented..

๐ŸŒ Infra 2025.01.12

[Nginx] Nginx๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ํ•˜๊ธฐ

Nginx๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ํ•˜๊ธฐ1. Nginx2. ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ3. Nginx๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ํ•˜๊ธฐ1. NginxNginx๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์›น ์„œ๋ฒ„(web server) ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ •์  ํŒŒ์ผ๊ณผ ๋™์  ํŒŒ์ผ์„ ๋ชจ๋‘ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” WAS(Web Application Server)์˜ ๋ถ€๋‹ด์„ ์ค„์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์›น ์„œ๋ฒ„(web Server)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Nginx๋Š” ์›น ์„œ๋ฒ„(web server) ์™ธ์—๋„ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ(reverse proxy), ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ(load balancer) ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” Nginx์˜ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ(load balancer) ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 2. ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑํ•œ ์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ๊ฒฝ์šฐ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์Šค์ผ€์ผ ์—…(scale up)๊ณผ ์Šค์ผ€์ผ ์•„์›ƒ(scale..

๐ŸŒ Infra 2025.01.11