๐Ÿ›ผ study/๐ŸŒŽ cs

[cs] ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๊ฐœ๋…(feat. kafka, RabbitMQ)

jcowwk 2024. 7. 19. 14:47

๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๊ฐœ๋…
(feat. kafka, RabbitMQ)


1. ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ

2. ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

3. kafka, RabbitMQ


1. ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ทธ๋ฃน ์‚ฌ์ด์— ์œ„์น˜ํ•˜์—ฌ ์„œ๋ฒ„์— ๊ฐ€ํ•ด์ง€๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„์— ๊ณ ๋ฅด๊ฒŒ ๋ถ„๋ฐฐํ•˜์—ฌ

ํŠน์ • ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ๋œ์–ด์ค€๋‹ค.

 

- ์Šค์ผ€์ผ ์—…(scale up)

๊ธฐ์กด์˜ ์„œ๋ฒ„ ์„ฑ๋Šฅ ๋†’์ด๊ธฐ

CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ž‘์—…

 

๋‹จ์ ์œผ๋กœ๋Š” ์œ ์ง€๋น„๊ฐ€ ๋งŽ์ด ๋“ค๊ณ , ์„œ๋ฒ„์— ์žฅ์• ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋‹ค ๋‹ค์šด๋œ๋‹ค.

์žฅ์ ์œผ๋กœ๋Š” ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•˜๋‹ค.

 

- ์Šค์ผ€์ผ ์•„์›ƒ(scale out)

ํŠธ๋ž˜ํ”ฝ์ด๋‚˜ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋‚˜ ์„œ๋ฒ„์— ๋ถ„์‚ฐ์‹œํ‚ค๊ธฐ

์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

๋‹จ์ ์œผ๋กœ๋Š” ๊ด€๋ฆฌ๋น„๊ฐ€ ๋งŽ์ด ๋“ค๊ณ , ์—ฌ๋Ÿฌ ๋Œ€๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ๋ถˆํŽธํ•˜๋‹ค.

์žฅ์ ์œผ๋กœ๋Š” ํ•˜๋‚˜์˜ ์„œ๋ฒ„์— ์žฅ์• ๊ฐ€ ์ƒ๊ฒจ๋„ ๊ดœ์ฐฎ๋‹ค.

 

2. ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ์„ ํšจ์œจ์ ์œผ๋กœ ๋ถ„์‚ฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋‹ค.

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์˜ ์Šค์ผ€์ผ ์•„์›ƒ ๋ฐฉ๋ฒ•์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

 

์ด๋•Œ ์†ก์‹ ์ž๋ฅผ producer, ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ broker, ์ˆ˜์‹ ์ž๋ฅผ consumer๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

- producer

๋ฉ”์‹œ์ง€(์ด๋ฒคํŠธ)๋ฅผ ๋ฐœํ–‰ํ•˜์—ฌ ์ƒ์‚ฐํ•˜๋Š” ์ฃผ์ฒด

 

- broker

broker์˜ ์ข…๋ฅ˜๋Š” ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค, ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๊ฐ€ ์žˆ๋‹ค.

 

์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค๋Š” ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค์˜ ์—ญํ• ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ kafka๊ฐ€ ์žˆ๋‹ค.

 

๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” ๋ฉ”์‹œ์ง€ ํ์— ์ €์žฅํ•œ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ RabbitMQ๊ฐ€ ์žˆ๋‹ค.

 

- consumer

๋ฉ”์‹œ์ง€(์ด๋ฒคํŠธ)๋ฅผ ๊ตฌ๋…ํ•˜์—ฌ ์†Œ๋น„ํ•˜๋Š” ์ฃผ์ฒด

 

3. kafka, RabbitMQ

- kafka

Netflix, Uber ๋“ฑ์— ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ, ์‹ค์‹œ๊ฐ„, ๊ณ ์„ฑ๋Šฅ ๋“ฑ์„ ์œ„์ฃผ๋กœ ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

 

- RabbitMQ

Kakaotalk, Twitter ๋“ฑ์— ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

์•Œ๋ฆผ, ์•ˆ์ •์„ฑ, ์ •ํ™•์„ฑ, ๋ณต์žกํ•œ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ๋“ฑ์„ ์œ„์ฃผ๋กœ ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.


๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋‚˜์š” ~

 

์ฐธ๊ณ ํ•œ ์‚ฌ์ดํŠธ

https://ifuwanna.tistory.com/487

 

[Kafka] ์นดํ”„์นด๋ž€? ์ฃผ์š”๊ฐœ๋… ๋ฐ ์šฉ์–ด ์†Œ๊ฐœ

์นดํ”„์นด(Kafka)๋ž€? Apache Kafka๋Š” ๊ณ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ, ์ŠคํŠธ๋ฆฌ๋ฐ ๋ถ„์„, ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ๋ฐ ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด ์˜คํ”ˆ ์†Œ์Šค ๋ถ„์‚ฐ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ ํ”Œ๋žซํผ(distributed event streaming platform)

ifuwanna.tistory.com

https://jhyonhyon.tistory.com/74

 

[MQ] RabbitMQ ๋ž€?

RabbitMQ๋Š” ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๋ฉด์„œ AMQP๋ฅผ ๊ตฌํ˜„ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(Message Broker) ์ž…๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(Message Broker)๋ž€? ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” sender application์ด ๋ฐœ์†กํ•œ ๋ฉ”์‹œ์ง€๋ฅผ receiver application์—๊ฒŒ ์ „๋‹ฌ

jhyonhyon.tistory.com

https://jhyonhyon.tistory.com/55

 

[Kafka] ์นดํ”„์นด(Apache Kafka)๋ž€?

์•„ํŒŒ์น˜ ์นดํ”„์นด(Apache Kafka)๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์นดํ”„์นด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ํ˜„๋Œ€์˜ ์„œ๋น„์Šค์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋งˆ ํ•œ๋ฒˆ์ฏค ์ด๋ฆ„์€ ๋“ค์–ด๋ณด์…จ์„ ๊ฒƒ ๊ฐ™์•„์š”

jhyonhyon.tistory.com