๐Ÿ’ป/์ธํ”„๋ผ

[์ฐธ๊ณ ] RabbitMQ ์กฐ์‚ฌ ์‹œ ์šฉ์–ด์ •๋ฆฌ

ruhz 2021. 7. 9. 15:10

์ธ์Šคํ„ด์Šค

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์—์„œ ์ธ์Šคํ„ด์Šค(instance)๋Š” ํ•ด๋‹น ํด๋ž˜์Šค์˜ ๊ตฌ์กฐ๋กœ ์ปดํ“จํ„ฐ ์ €์žฅ๊ณต๊ฐ„์—์„œ ํ• ๋‹น๋œ ์‹ค์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ํด๋ž˜์Šค๋Š” ์†์„ฑ๊ณผ ํ–‰์œ„๋กœ ๊ตฌ์„ฑ๋œ ์ผ์ข…์˜ ์„ค๊ณ„๋„์ด๋‹ค. OOP์—์„œ ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค๋ฅผ ํฌํ•จํ•œ ๊ฐœ๋…์ด๋‹ค.

 

 

ํ˜ธ์ŠคํŒ…

ํ˜ธ์ŠคํŒ…(hosting)์ด๋ž€ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์˜ ์ „์ฒด ๋˜๋Š” ์ผ์ • ๊ณต๊ฐ„์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž„๋Œ€ํ•ด ์ฃผ๋Š” ์„œ๋น„์Šค๋ฅผ ๋งํ•œ๋‹ค. PC ์„œ๋ฒ„๋กœ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์šด์˜ํ•˜๋ ค๋ฉด 24์‹œ๊ฐ„ 365์ผ ์ผœ์•ผ ํ•˜๋‚˜ ํ˜„์‹ค์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ํ˜ธ์ŠคํŒ… ์—…์ฒด๊ฐ€ ๋ฏธ๋ฆฌ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ์ด์šฉ์ž๋“ค์—๊ฒŒ ์ž„๋Œ€ํ•ด ์ฃผ๊ณ  ๊ทธ ๋Œ€๊ฐ€๋ฅผ ๋ฐ›๋Š” ์„œ๋น„์Šค๊ฐ€ ํ˜ธ์ŠคํŒ…์ด๋‹ค. 

 

 

์†”๋ฃจ์…˜

์‚ฌ์šฉ์ž ์š”๊ตฌ์— ์ ํ•ฉํ•˜๋ฉด์„œ ํŠน์ •ํ•œ ํ˜•ํƒœ์˜ ์ปดํ“จํ„ฐ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋‚˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๊ณ„๋œ ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•ด ์ฃผ๋Š” ํ•˜๋“œ์›จ์–ด ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

 

ํด๋Ÿฌ์Šคํ„ฐ

์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋‹จ์ผ ์ปดํ“จํ„ฐ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋„๋ก ์ œ์ž‘ํ•œ ์ปดํ“จํ„ฐ๋ฅผ ๋งํ•œ๋‹ค.

 

 

์ฟผ๋ฆฌ

 ์ฟผ๋ฆฌ๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฟผ๋ฆฌ๋Š” ์›น ์„œ๋ฒ„์— ํŠน์ •ํ•œ ์ •๋ณด๋ฅผ ๋ณด์—ฌ๋‹ฌ๋ผ๋Š” ์›น ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ(์ฃผ๋กœ ๋ฌธ์ž์—ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์š”์ฒญ์ด๋‹ค)์— ์˜ํ•œ ์ฒ˜๋ฆฌ์ด๋‹ค.

 

 

์ธํ„ฐํŽ˜์ด์Šค

์ปดํ“จํ„ฐ, ์‹œ์Šคํ…œ, ์‚ฌ๋žŒ ๋“ฑ ๊ฒฝ๊ณ„์— ์žˆ๋Š” ์ ‘์  ํ˜น์€ ๊ทธ ์ ‘์ ์—์„œ ๋„์›€์„ ์ฃผ๋Š” ์‹œ์Šคํ…œ(JAVA : ํด๋ž˜์Šค์˜ ๋ผˆ๋Œ€๋ฅผ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฒƒ )

 

 

API

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ์šด์˜ ์ฒด์ œ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋œปํ•œ๋‹ค.

 

 

REST API

https://www.inflearn.com/questions/126743

 

 

๊ณ ๊ฐ€์šฉ์„ฑ(High Availability, HA)

๊ณ ๊ฐ€์šฉ์„ฑ(้ซ˜ๅฏ็”จๆ€ง, HA, High Availability)์ด๋ž€ ์„œ๋ฒ„์™€ ๋„คํŠธ์›Œํฌํ”„๋กœ๊ทธ๋žจ ๋“ฑ์˜ ์ •๋ณด ์‹œ์Šคํ…œ์ด ์ƒ๋‹นํžˆ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ง€์†์ ์œผ๋กœ ์ •์ƒ ์šด์˜์ด ๊ฐ€๋Šฅํ•œ ์„ฑ์งˆ์„ ๋งํ•œ๋‹ค. ๊ณ (้ซ˜)๊ฐ€์šฉ์„ฑ์ด๋ž€ "๊ฐ€์šฉ์„ฑ์ด ๋†’๋‹ค"๋Š” ๋œป์œผ๋กœ์„œ, "์ ˆ๋Œ€ ๊ณ ์žฅ ๋‚˜์ง€ ์•Š์Œ"์„ ์˜๋ฏธํ•œ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ์€ ํ”ํžˆ ๊ฐ€์šฉํ•œ ์‹œ๊ฐ„์˜ ๋น„์œจ์„ 99%, 99.9% ๋“ฑ๊ณผ ๊ฐ™์€ ํผ์„ผํ‹ฐ์ง€๋กœ ํ‘œํ˜„ํ•˜๋Š”๋ฐ, 1๋…„์— ๊ณ„ํš๋œ ๊ฒƒ ์ œ์™ธ 5๋ถ„ 15์ดˆ ์ดํ•˜์˜ ์žฅ์• ์‹œ๊ฐ„์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ์˜ ํŒŒ์ด๋ธŒ ๋‚˜์ธ์Šค(5 nines), ์ฆ‰ 99.999%๋Š” ๋งค์šฐ ๋†’์€ ์ˆ˜์ค€์œผ๋กœ ๊ณ ํ’ˆ์งˆ์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์—์„œ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ์ •๋ณด ์‹œ์Šคํ…œ์— ๊ณ ๊ฐ€์šฉ์„ฑ์ด ์š”๊ตฌ๋œ๋‹ค๋ฉด, ๊ทธ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋ถ€ํ’ˆ๊ณผ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ ๋ฏธ๋ฆฌ ์ž˜ ์„ค๊ณ„๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ์ „์— ์™„์ „ํ•˜๊ฒŒ ์‹œํ—˜๋˜์–ด์•ผ ํ•œ๋‹ค.

๊ณ ๊ฐ€์šฉ์„ฑ ์†”๋ฃจ์…˜(HACMP)[1]์„ ์ด์šฉํ•˜๋ฉด, ๊ฐ ์‹œ์Šคํ…œ ๊ฐ„์— ๊ณต์œ  ๋””์Šคํฌ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ง‘๋‹จํ™”ํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์—ฎ์–ด์ง€๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋™์‹œ์— ๋‹ค์ˆ˜์˜ ์‹œ์Šคํ…œ์„ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ฃผ๋กœ 2๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ๋งŒ์•ฝ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฌถ์ธ 2๊ฐœ์˜ ์„œ๋ฒ„ ์ค‘ 1๋Œ€์˜ ์„œ๋ฒ„์—์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ์ฆ‰์‹œ ๊ทธ ์—…๋ฌด๋ฅผ ๋Œ€์‹  ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ, ์‹œ์Šคํ…œ ์žฅ์• ๋ฅผ ๋ถˆ๊ณผ ๋ช‡ ์ดˆ๋งŒ์— ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ ์ €์žฅ ์žฅ์น˜๋กœ ๋ ˆ์ด๋“œ(RAID) ๋ฐฉ์‹๊ณผ ์ƒŒ(SAN) ๋ฐฉ์‹์ด ๋งŽ์ด ์ด์šฉ๋˜๊ณ  ์žˆ๋‹ค.

 

 

๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€

ํ† ํด๋กœ์ง€(์˜์–ดtopology๋ฌธํ™”์–ด: ๋ง๊ตฌ์„ฑ๋ฐฉ์‹)๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์˜ ์š”์†Œ๋“ค(๋งํฌ๋…ธ๋“œ ๋“ฑ)์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด ๋†“์€ ๊ฒƒ, ๋˜๋Š” ๊ทธ ์—ฐ๊ฒฐ ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ๋กœ์ปฌ ์˜์—ญ ๋„คํŠธ์›Œํฌ(LAN)์€ ๋ฌผ๋ฆฌ์  ํ† ํด๋กœ์ง€์™€ ๋…ผ๋ฆฌ์  ํ† ํด๋กœ์ง€ ๋‘˜ ๋‹ค ๋ณด์—ฌ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ์˜ ํ•œ ์˜ˆ์ด๋‹ค. ๋žœ ์ƒ์˜ ์–ด๋– ํ•œ ๋…ธ๋“œ๋„ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ํ•˜๋‚˜ ์ด์ƒ์˜ ๋งํฌ๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ ๊ทธ๋ž˜ํ”„ ์ƒ์˜ ์ด๋Ÿฌํ•œ ๋งํฌ์™€ ๋…ธ๋“œ๋“ค์€ ๋„คํŠธ์›Œํฌ์˜ ๋ฌผ๋ฆฌ์  ํ† ํด๋กœ์ง€๋ฅผ ์ž˜ ์„ค๋ช…ํ•ด ์ฃผ๊ณ  ์žˆ๋‹ค. ์ด์™€ ๋น„์Šทํ•˜๊ฒŒ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋…ธ๋“œ๋ผ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์€ ๋„คํŠธ์›Œํฌ์˜ ๋…ผ๋ฆฌ์  ํ† ํด๋กœ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋ฌผ๋ฆฌ์  ํ† ํด๋กœ์ง€์™€ ๋…ผ๋ฆฌ์  ํ† ํด๋กœ์ง€๋Š” ํŠน์ • ๋„คํŠธ์›Œํฌ์—์„œ ์•„์ฃผ ๋™์ผํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

๋ถ€ํ•˜๋ถ„์‚ฐ(Load Balancing, LB)

๋ถ€ํ•˜๋ถ„์‚ฐ ๋˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(load balancing)[1]์€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ ์˜ ์ผ์ข…์œผ๋กœ ๋‘˜ ํ˜น์€ ์…‹์ด์ƒ์˜ ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ ํ˜น์€ ์ €์žฅ์žฅ์น˜์™€ ๊ฐ™์€ ์ปดํ“จํ„ฐ ์ž์›๋“ค์—๊ฒŒ ์ž‘์—…์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋กœ์จ ๊ฐ€์šฉ์„ฑ ๋ฐ ์‘๋‹ต์‹œ๊ฐ„์„ ์ตœ์ ํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฉ”์ธํ”„๋ ˆ์ž„ 1๋Œ€(๋‹จ์ผ ๊ตฌ์„ฑ์ฒด) ๋ณด๋‹ค IA-32์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์„œ๋ฒ„(๋ณตํ•ฉ ๊ตฌ์„ฑ์ฒด)๊ฐ€ ์•ˆ์ •์„ฑ ๋ฉด์—์„œ ์œ ๋ฆฌํ•œ ์œ„์น˜์— ์žˆ๋‹ค. ๋ถ€ํ•˜๋ถ„์‚ฐ ์„œ๋น„์Šค๋Š” ๊ทธ์— ์ ํ•ฉํ•œ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ์˜ํ•ด ์ œ๊ณต๋œ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๋ณดํ†ต ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•œ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ(ํŠนํžˆ, ๊ณ ๊ฐ€์šฉ์„ฑ์˜ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ)์— ์‚ฌ์šฉ๋œ๋‹ค.

๋ถ€ํ•˜๋ถ„์‚ฐ์„ ์œ„ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„(๋‹ค๋ฅธ ๋ง๋กœ, ์„œ๋ฒ„ ํŒœ)๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ธํ„ฐ๋„ท ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ณดํ†ต ๋ถ€ํ•˜ ๋ถ„์‚ฐ์€ ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์€ ์›น ์‚ฌ์ดํŠธ, IRC ๋„คํŠธ์›Œํฌ, FTP ์‚ฌ์ดํŠธ, NNTP ์„œ๋ฒ„ ๊ทธ๋ฆฌ๊ณ  DNS์„œ๋ฒ„์— ์ ์šฉ์ด ๋˜๊ณ  ์žˆ๋‹ค.

์ธํ„ฐ๋„ท ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ด์šฉํ•œ ๋ถ€ํ•˜๋ถ„์‚ฐ์ด ์ ์šฉ๋˜๋ฉฐ, ์ด ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ค‘๊ฐ„์— ์œ„์น˜์— ์‹ค์ œ ์„œ๋น„์Šคํ•˜๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ํฌํŠธ๋ฅผ ์ด์šฉํ•ด ์ค‘๊ฐœํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž๋Š” ์ด๋ฅผ ์•Œ์•„์ฐจ๋ฆฌ์ง€ ๋ชปํ•œ๋‹ค. ์ด๋ฅผ ํˆฌ๋ช…์„ฑ์ด๋ผํ•œ๋‹ค.

๋˜ํ•œ, ๋ณด์•ˆ์ด๋ผ๋Š” ์ธก๋ฉด์—์„œ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ์ˆจ๊น€์œผ๋กœ์„œ ํฌ๋ž˜ํ‚น์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

์ผ๋ถ€ ๋ถ€ํ•˜๋ถ„์‚ฐ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์‹ค์„œ๋น„์Šค ์„œ๋ฒ„๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ๋ฒ„ ๋‹ค์šด ํ˜น์€ ๋ฐฑ์—…์— ๊ด€๋ จ๋œ ์ž‘์—…๊ณผ ๊ฐ™์€)

๋ถ€ํ•˜๋ถ„์‚ฐ์˜ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ๋Š” Round Robin DNS ๋ผ๊ณ  ํ•˜๋Š” ํŠน๋ณ„ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ํ•„์š”๊ฐ€ ์—†๋Š” ๋ฐฉ์‹์ด ์žˆ๋‹ค. ์ด ๋ฐฉ์‹์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ IP์ฃผ์†Œ๋ฅผ ๋™์ผํ•œ ๋„๋ฉ”์ธ ๋„ค์ž„์— ์—ฐ๊ด€์ง€์–ด ๋†“๊ณ  ํด๋ผ์ด์–ธํŠธ๋“ค์ด ์–ด๋–ค ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋ถ€ํ•˜๋ถ„์‚ฐ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ "ํˆฌ๋ช…์„ฑ"์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๋ฏธ ๋‚ด๋ถ€์˜ ์„œ๋ฒ„๋“ค์˜ ์ฃผ์†Œ๊ฐ€ ์ด๋ฏธ ๋…ธ์ถœ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด ๋ฐฉ์‹์€ ์žฅ๋‹จ์ ์ด ํ˜ผ์žฌ๋˜์–ด ์žˆ๋‹ค. DNS์„œ๋ฒ„์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ๋†’๊ณ  ๋ถ€ํ•˜๋ถ„์‚ฐ์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ(Split-Brain)

์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ(Split Brain)์ด๋ž€ ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€๋ฅผ ๊ฐ–๋Š” Production ํ™˜๊ฒฝ์—์„œ, ๋„คํŠธ์›Œํฌ ํŒŒํ‹ฐ์…”๋‹ ์žฅ์• ๋กœ ์ธํ•ด ์‹œ์Šคํ…œ์ด Sub-Cluster๋กœ ์ชผ๊ฐœ์ง์— ๋”ฐ๋ผ ๊ฐ Sub-Cluster๊ฐ€ ์Šค์Šค๋กœ๋ฅผ Primary ๋˜๋Š” ์ •์ƒ์ ์ธ ์„œ๋น„์Šค๋ผ๊ณ  ์ธ์‹ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ด€์ œ ์‹œ์Šคํ…œ์— ์˜ํ•ด ํ•˜ํŠธ๋น„ํŠธ ๋“ฑ์œผ๋กœ Alive ์œ ๋ฌด๊ฐ€ ์ฒดํฌ๋˜๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ํ•˜ํŠธ๋น„ํŠธ ํ†ต์‹ ์ด ๋‹จ์ ˆ๋˜์–ด ์„œ๋น„์Šค ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์žฅ์•  ์ƒํƒœ๋ผ๊ณ  ์ธ์‹ํ•˜๊ณ  ์„œ๋น„์Šค๋ฅผ ๋™์‹œ์— ๊ตฌ๋™ํ•˜๋Š” ๊ฒฝ์šฐ, ๋˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‘ ๊ฐœ์˜ ์‹œ์Šคํ…œ์ด ๋น„์ •์ƒ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์„œ๋กœ๊ฐ€ Primary๋ผ๊ณ  ๋ฏฟ๊ฒŒ ๋˜๋Š” ํ˜„์ƒ ๋“ฑ์„ ๋ชจ๋‘ ํฌํ•จํ•œ๋‹ค.

์ผ๋ฐ˜์ ์ธ MSA ๊ตฌ์กฐ์ฒ˜๋Ÿผ LB๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ํŠน์ • ์„œ๋น„์Šค ๋…ธ๋“œ๊ฐ€ ์žฅ์• ๊ฐ€ ์ƒ๊ธธ ์‹œ HA๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ๊ตฌ์„ฑํ•œ ํ† ํด๋กœ์ง€๋ผ๋ฉด ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ์€ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ์€ ๋ชจ๋“  ์ƒํ™ฉ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ํ•˜ํŠธ๋น„ํŠธ ๋„คํŠธ์›Œํฌ์™€ ๊ด€๋ฆฌ ๋„คํŠธ์›Œํฌ, ๋˜๋Š” ์„œ๋น„์Šค ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณ„๋„๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋™์ž‘ํ•  ๋•Œ ๋„คํŠธ์›Œํฌ ๋‹จ์ ˆ๋กœ ์ธํ•œ ํ†ต์‹  ์žฅ์• ๋กœ ์ธํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋‹ค. ์ฆ‰, ์„œ๋น„์Šค ๋„คํŠธ์›Œํฌ ๋˜๋Š” ๊ฒฉ๋ฆฌ ๋„คํŠธ์›Œํฌ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ์–ด LB๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์—์„œ ์„œ๋น„์Šค๋กœ ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๋…ธ๋“œ ๋‚ด๋ถ€์˜ ์„œ๋น„์Šค์—์„œ ์™ธ๋ถ€๋กœ์˜ ํ†ต์‹  ์ž์ฒด๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ํ•˜ํŠธ๋น„ํŠธ์˜ ์ „๋‹ฌ์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์€ ๊ฒฝ์šฐ์ด๋‹ค. ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ์€ 2๊ฐœ ์ด์ƒ์˜ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€๋กœ ๊ตฌ์„ฑ๋œ ํ™˜๊ฒฝ, ์˜ˆ๋ฅผ ๋“ค์–ด MariaDB๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” vSphare ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ ๋“ฑ์—์„œ ์ข…์ข… ๋ฐœ์ƒํ•˜๊ณค ํ•œ๋‹ค. 

 

์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ์ด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ด์œ ๋Š” (1) ์‹œ์Šคํ…œ์€ ์„œ๋น„์Šค ์žฅ์• ๋ผ๊ณ  ์ธ์‹ํ•ด ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๊ฐ€ ์žฌ์‹œ์ž‘๋˜์ง€๋งŒ, ์Šค์Šค๋กœ๊ฐ€ ์ •์ƒ์ ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๋Š” ๋‹ค๋ฅธ ํ•œ ์ชฝ์˜ ๊ธฐ์กด ์„œ๋น„์Šค๋Š” ์—ฌ์ „ํžˆ ์‹คํ–‰๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ค‘๊ธฐ๋™ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋ฉฐ, (2) 2๊ฐœ ์ด์ƒ์˜ ์ค‘๋ณต๋˜๋Š” ๋™์ผํ•œ ์„œ๋น„์Šค๊ฐ€ ๋™์‹œ์— ์Šคํ† ๋ฆฌ์ง€์— ์ ‘๊ทผํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐ ๋ณต์ œ ๋“ฑ์— ์žˆ์–ด ๋น„์ •์ƒ์ ์ธ ํŠธ๋žœ์ ์…˜์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค๋Š” ์  ๋“ฑ์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  (1)๋กœ ๋ง๋ฏธ์•”์•„ ์ƒ๊ฒจ๋‚˜๋Š” ๋ฌธ์ œ๋Š” (2) ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ค‘๋ณต ์ฃผ์†Œ ํ• ๋‹น ๋ฌธ์ œ, ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ „์†ก, ์‹ฌ์ง€์–ด ์„œ๋น„์Šค ์ œ๊ณต ์ž์ฒด๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ ๋“ฑ ์—ฌ๋Ÿฌ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค์˜ ์‹ค์ œ Production ๋„์ž… ์‹œ ๋ฐ˜๋“œ์‹œ ๋ˆˆ ์—ฌ๊ฒจ๋ณผ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค. ์˜ˆ๋กœ๋ถ€ํ„ฐ ๊ฐ์ข… ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ์ ์šฉ๋˜์–ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ์ฟผ๋Ÿผ(Quorum)์„ ํ™€์ˆ˜๋กœ ๊ตฌ์„ฑํ•ด ์ •์กฑ์ˆ˜ ํˆฌํ‘œ๋ฅผ ์ง„ํ–‰ํ•˜๊ฑฐ๋‚˜, ํ•˜ํŠธ๋น„ํŠธ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฉ๋ฆฌ ๋„คํŠธ์›Œํฌ ๋˜๋Š” ์„œ๋น„์Šค ๋„คํŠธ์›Œํฌ์™€ ๋ถ„๋ฆฌ์‹œํ‚ค์ง€ ์•Š๊ณ  ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์„œ๋น„์Šค ์šด์˜ ์‹œ ์›Œ๋‚™ ๋งŽ์ด ํšŒ์ž๋˜๋Š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋‹ค ๋ณด๋‹ˆ, ๊ฐ ์‹œ์Šคํ…œ์— ๋งž๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ๋‚˜์™€์žˆ๋‹ค๋ฉด ๊ทธ ๋˜ํ•œ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋ฌผ๋ก  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€, ์ธํ”„๋ผ ๊ด€๋ฆฌ์ž ๋ฐ Operation ํ™˜๊ฒฝ ๊ด€๋ฆฌ์ž์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์—ญ๋Ÿ‰์ด ๋˜๊ฒ ์ง€๋งŒ ใ…‹ใ…‹..

 

 

์ฟผ๋Ÿผ(Quorum)

์ฟผ๋Ÿผ(quorum)์€ ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์—์„œ ํ•ฉ์˜๋ฅผ ์ด๋ฃจ๊ธฐ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ ํˆฌํ‘œ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์†Œ๊ทธ๋ฃน์„ ๋งํ•œ๋‹ค. ์ •์กฑ์ˆ˜(ๅฎš่ถณๆ•ธ)๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ ๋…ธ๋“œ๋“ค์€ ์ผ์ •ํ•œ ์ •์กฑ์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์†Œ๊ทธ๋ฃน์ธ ์ฟผ๋Ÿผ์„ ๊ตฌ์„ฑํ•˜๊ณ , ์ „์ฒด ๋…ธ๋“œ์˜ ํ•ฉ์˜๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ž์‹ ์ด ์‹ ๋ขฐํ•˜๋Š” ๋…ธ๋“œ๋“ค๋กœ ๊ตฌ์„ฑ๋œ ์†Œ๊ทธ๋ฃน์ธ ์ฟผ๋Ÿผ์˜ ๊ฒฐ์ •์„ ๋”ฐ๋ฆ„์œผ๋กœ์จ ๋ณด๋‹ค ๋น ๋ฅธ ์˜์‚ฌ๊ฒฐ์ •๊ณผ ํ•ฉ์˜๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ๋‹ค

 

 

RAFT

 

Raft Consensus Algorithm

What is Raft? Raft is a consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance. The difference is that it's decomposed into relatively independent subproblems, and it cleanly addresses all

raft.github.io

 

 

page out

Page out์€ ๊ธฐ์กด์— ์‚ฌ์šฉ์ค‘์ธ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์˜ ๋‚ด์šฉ์„ ์Šค์™‘ ์ŠคํŽ˜์ด์Šค์— ์ €์žฅํ•˜๊ณ  ๊ทธ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ํ˜„์žฌ ํ•„์š”๋กœ ํ•˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์— ์ฃผ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋ฐ˜๋Œ€๋กœ page in์€ ์Šค์™‘ ์ŠคํŽ˜์ด์Šค์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ๋Š” ๋‚ด์šฉ์„ ๋‹ค์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ถˆ๋Ÿฌ๋“ค์—ฌ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜ํ–‰๋  ๋•Œ๋งˆ๋‹ค ์žฌ๋น ๋ฅด๊ฒŒ ๋งคํ•‘ ์‹œ์ผœ์ฃผ๊ธฐ ์œ„ํ•ด์„  ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์žˆ๋Š” free page๊ฐ€ ํ•„์š”ํ•œ๋ฐ free page๊ฐ€ ๋ชจ์ž๋ผ๊ฒŒ ๋˜๋ฉด page out์ด ๋ฐœ์ƒํ•œ๋‹ค.

 

 

ํŽ˜์ด๋กœ๋“œ(payload)

ํŽ˜์ด๋กœ๋“œ๋ผ๋Š” ์šฉ์–ด๋Š” ํฐ ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ ์ค‘์— 'ํฅ๋ฏธ ์žˆ๋Š”' ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ์šฉ์–ด๋Š” ์šด์†ก์—…์—์„œ ๋น„๋กฏํ•˜์˜€๋Š”๋ฐ, ์ง€๊ธ‰(pay)ํ•ด์•ผ ํ•˜๋Š” ์ ํ™”๋ฌผ(load)์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ ์กฐ์„  ํŠธ๋Ÿญ์ด 20ํ†ค์˜ ๊ธฐ๋ฆ„์„ ์šด๋ฐ˜ํ•œ๋‹ค๋ฉด ํŠธ๋Ÿญ์˜ ์ด ๋ฌด๊ฒŒ๋Š” ์ฐจ์ฒด, ์šด์ „์ž ๋“ฑ์˜ ๋ฌด๊ฒŒ ๋•Œ๋ฌธ์— ๊ทธ๊ฒƒ๋ณด๋‹ค ๋” ๋  ๊ฒƒ์ด๋‹ค. ์ด ๋ชจ๋“  ๋ฌด๊ฒŒ๋ฅผ ์šด์†กํ•˜๋Š”๋ฐ ๋น„์šฉ์ด ๋“ค์ง€๋งŒ, ๊ณ ๊ฐ์€ ์˜ค์ง ๊ธฐ๋ฆ„์˜ ๋ฌด๊ฒŒ๋งŒ์„ ์ง€๊ธ‰(pay)ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ 'pay-load'๋ž€ ๋ง์ด ๋‚˜์˜จ ๊ฒƒ์ด๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ฃผ๋กœ ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ(message protocols) ์ค‘์— ํ”„๋กœํ† ์ฝœ ์˜ค๋ฒ„ํ—ค๋“œ(protocol overhead)์™€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์„œ๋น„์Šค ์‘๋‹ต(web service response)์ด ์•„๋ž˜์˜ JSON์ด๋ผ ํ•˜๋ฉด:

{ "status":"OK", "data": { "message":"Hello, world!" } }

์—ฌ๊ธฐ์„œ "Hello, world!"๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๋Š” ํŽ˜์ด๋กœ๋“œ์ด๋‹ค. ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€, ์ค‘์š”ํ•˜๊ธด ํ•˜์ง€๋งŒ, ํ”„๋กœํ† ์ฝœ ์˜ค๋ฒ„ํ—ค๋“œ์ด๋‹ค.

 

 

Thead Safe

์Šค๋ ˆ๋“œ ์•ˆ์ „(thread ๅฎ‰ๅ…จ, ์˜์–ด: thread safety)์€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด๋–ค ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜, ํ˜น์€ ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋กœ๋ถ€ํ„ฐ ๋™์‹œ์— ์ ‘๊ทผ์ด ์ด๋ฃจ์–ด์ ธ๋„ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์— ๋ฌธ์ œ๊ฐ€ ์—†์Œ์„ ๋œปํ•œ๋‹ค.

 

 

Footprint

์ •๋ณด๊ธฐ์ˆ ์—์„œ, footprint๋ž€ ํŠน์ • ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ๋‹จ์œ„๊ฐ€ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๋ฅผ ๋งํ•œ๋‹ค. ์ตœ๊ทผ์— ์ด ์šฉ์–ด๋Š”, ์ปดํ“จํ„ฐ์˜ ๋‚ด๋ถ€ ๊ณต๊ฐ„์„ ์ ๊ฒŒ ์ฐจ์ง€ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์ปดํฌ๋„ŒํŠธ๋“ค์ด๋‚˜, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒŒ ์ฐจ์ง€ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

  • Code size refers to the number of lines of a program. It’s also known as the code footprint of a program.

Code Footprint๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ๋ช‡ ์ค„์ด๋‚˜ ๋˜๋Š”์ง€๋ฅผ ์˜๋ฏธ.

 

 

Semantics

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ,์‹œ๋งจํ‹ฑ์€ ์ฝ”๋“œ ์กฐ๊ฐ์˜ ์˜๋ฏธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค — ์˜ˆ๋ฅผ ๋“ค์–ด ("์ด๊ฒŒ ์–ด๋–ป๊ฒŒ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์งˆ๊นŒ?" ๋ณด๋‹ค)"์ด Javascript ๋ผ์ธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ค ํšจ๊ณผ๊ฐ€ ์žˆ๋Š”๊ฐ€?", ํ˜น์€ "์ด HTML ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๊ฐ€์ง„ ๋ชฉ์ ์ด๋‚˜ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€?"

 

 

Persistence vs Durability

 

Persistence vs. Durability in Messaging. Do you know the difference? | Red Hat Developer

Messaging is a critical aspect of integrating systems, and while there are many different messaging platforms and infrastructures, a common request is for "zero loss of messages."  From there, the terms "Persistence" and "Durability" often get thrown arou

developers.redhat.com

 

 

SSL: ๋ณด์•ˆ ์†Œ์ผ“ ๊ณ„์ธต(Secure Sockets Layer, SSL)

SSL์€ ์›น์‚ฌ์ดํŠธ์™€ ๋ธŒ๋ผ์šฐ์ €(ํ˜น์€, ๋‘ ์„œ๋ฒ„) ์‚ฌ์ด์— ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋Š” ํ‘œ์ค€ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ•ด์ปค๊ฐ€ ๊ฐœ์ธ ์ •๋ณด ๋ฐ ๊ธˆ์œต ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ์ „์†ก๋˜๋Š” ๋ชจ๋“  ์ •๋ณด๋ฅผ ์—ด๋žŒํ•˜๊ฑฐ๋‚˜ ํ›”์น˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

 

 

TLS: ์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ(Transport Layer Security, TLS)

TLS๋Š” ๊ฐ€์žฅ ์ตœ์‹  ๊ธฐ์ˆ ๋กœ ๋” ๊ฐ•๋ ฅํ•œ ๋ฒ„์ „์˜ SSL์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ SSL์ด ๋” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด์ด๊ธฐ์—, ์—ฌ์ „ํžˆ ๋ณด์•ˆ ์ธ์ฆ์„œ๋Š” SSL์ด๋ผ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.

 

QoS

Quality of Service : ๋„คํŠธ์›Œํฌ ์ƒ์— ํ๋ฅด๋Š” ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ๋ถ„๋ฅ˜ํ•˜์—ฌ, ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์„ ์ˆ˜๋ก ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†ก์ด ๋ณด์žฅ๋œ๋‹ค.

 

 

Netsplit

์˜์–ด์—์„œ ๋ฒˆ์—ญ๋จ-์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น, ํŠนํžˆ ์ธํ„ฐ๋„ท ๋ฆด๋ ˆ์ด ์ฑ„ํŒ…์—์„œ netsplit์€ ๋‘ ์„œ๋ฒ„ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ์„œ๋ฒ„๊ฐ„์— ๋ถ„ํ• ํ•˜๋ฉด ์ „์ฒด ๋„คํŠธ์›Œํฌ๊ฐ€ ๋‘ ์กฐ๊ฐ์œผ๋กœ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค