Community

๐Ÿ“ˆ Meta ๋Š” ์ˆ˜์‹ญ์–ต ๊ฑด์˜ ๋น„๋™๊ธฐ ์š”์ฒญ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ?

Meta ์—์„œ๋Š” ์—ฌ๋Ÿฌ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฒคํŠธ ์ค‘์‹ฌ ๋น„๋™๊ธฐ ์ปดํ“จํŒ… ํ”Œ๋žซํผ(aka. Async)์„ ์ž์ฒด์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜์—ฌ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด๋ฒคํŠธ ์ค‘์‹ฌ ๋น„๋™๊ธฐ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์ด๋ผ๋Š” ๊ฑฐ์ฐฝํ•œ ๋‹จ์–ด๋ฅผ ์ผ์ง€๋งŒ, AWS ์˜ Lamda ๋‚˜ ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์˜ Cloud Functions ์™€ ๊ฐ™์€ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…๊ณผ ๋น„์Šทํ•˜๋‹ค๋Š” ๋А๋‚Œ์ด ๋“œ๋„ค์š”. ์ดˆ๊ธฐ ๋ฒ„์ „์˜ Async ๋Š” ๋น„๋™๊ธฐ ์š”์ฒญ์„ ์ค‘์•™ ์ง‘์ค‘์‹ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ  Dispatcher ๋ผ๋Š” ๋ชจ๋“ˆ์—์„œ ๊ฐ„๋‹จํ•œ ์šฐ์„ ์ˆœ์œ„ ์ „๋žต์œผ๋กœ ์š”์ฒญ์„ ์ •๋ ฌํ•˜๊ณ  ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๋Š” ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์˜€๋Š”๋ฐ, ์„œ๋น„์Šค๊ฐ€ ์ปค์ง€๋ฉด์„œ ๋‹ค์–‘ํ•œ ์œ ์ฆˆ์ผ€์ด์Šค์™€ ํŠธ๋ž˜ํ”ฝ์˜ ์ฆ๊ฐ€๋ฅผ ์‹œ์Šคํ…œ์ด ๋”ฐ๋ผ์žก์„ ์ˆ˜ ์—†์—ˆ๊ณ  ๊ฐœ์„ ์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Async ๋Š” ์ด 2๋ฒˆ์˜ ๊ฐœ์„ ์ด ์ง„ํ–‰๋˜์—ˆ๋Š”๋ฐ์š”, ์ฒซ๋ฒˆ์งธ๋Š” ์ˆ˜๋งŽ์€ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์ด ์š”์ฒญํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ™•์žฅ์„ฑ ์žˆ๊ณ  ์‹ ๋ขฐ๋„ ๋†’์€ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ์„ ์ด ์žˆ์—ˆ๊ณ , ๋‘๋ฒˆ์งธ๋Š” ๋‹ค์–‘ํ•œ ์›Œํฌ๋กœ๋“œ๋กœ ์ธํ•ด ์ฆ๊ฐ€ํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๊ฐœ์„ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ํฅ๋ฏธ๋กœ์› ๋˜ ์ ์€ ์ฒซ๋ฒˆ์งธ ๊ฐœ์„ ์—์„œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์—ฐ ํ—ˆ์šฉ ์‹œ๊ฐ„์ด๋ผ๋Š” ๊ธฐ์ค€์„ ๋‘์–ด ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์— ์„ธ๋ถ„ํ™”๋œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ํŠธ๋ž˜ํ”ฝ ์ƒํ™ฉ์—์„œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋Ÿ‰ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•๊ณผ ๋‘๋ฒˆ์งธ ๊ฐœ์„ ์—์„œ ๋‹ค์–‘ํ•œ ์›Œํฌ๋กœ๋“œ๋ฅผ ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด Tailer(Data ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•œ Agent)๋ฅผ ๋„์ž…ํ•˜๊ณ  pull ๋ฐฉ์‹์—์„œ push ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™”ํ–ˆ์„ ๋•Œ ์–ป์€ ์žฅ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Meta ์˜ ๋น„๋™๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ๊ด€์‹ฌ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ๊ณต์œ ๋“œ๋ฆฐ ์›๋ฌธ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. ๐Ÿ“š ์›๋ฌธ - ์ดˆ๊ธฐ Async ์˜ ๋ฌธ์ œ์ ๊ณผ ๊ฐœ์„  ๋‚ด์šฉ: https://engineering.fb.com/2020/08/17/production-engineering/async/ - ๋‘๋ฒˆ์งธ Async ๊ฐœ์„ : https://engineering.fb.com/2023/01/31/production-engineering/meta-asynchronous-computing/

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค