WEB Socket
๐ SyncMon
WebSocket์ ์ ํ์ํ ๊น
์ค์๊ฐ ํต์ ์ด ํ์ํ ์ด์ ์ WebSocket์ ๋์ ๋ฐฉ์
์น ์๋น์ค๋ฅผ ๋ง๋ค๋ค ๋ณด๋ฉด ํ ๋ฒ์ฏค ์ด๋ฐ ์๊ตฌ์ฌํญ์ ๋ง๋๊ฒ ๋ฉ๋๋ค.
์ฑํ ๋ฉ์์ง๊ฐ ์ค๋ฉด ํ๋ฉด์ ๋ฐ๋ก ๋ณด์ฌ์ผ ํ๊ณ ,
์ฃผ๊ฐ๋ ์ฝ์ธ ์์ธ์ฒ๋ผ ๊ฐ์ด ๊ณ์ ๋ฐ๋๋ ๋ฐ์ดํฐ๋ ์๋ก๊ณ ์นจ ์์ด ๊ฐฑ์ ๋์ด์ผ ํ๋ฉฐ,
์๋ฆผ์ด๋ ๋ชจ๋ํฐ๋ง ๋์๋ณด๋๋ ์ฌ์ฉ์๊ฐ ๋ณด๊ณ ์๋ ๋์ ์ค์๊ฐ์ผ๋ก ์ํ๊ฐ ๋ฐ์๋์ด์ผ ํฉ๋๋ค.
์ด๋ฐ ์๊ตฌ์ฌํญ์ ๊ฒฐ๊ตญ ํ๋์ ์ง๋ฌธ์ผ๋ก ์ด์ด์ง๋๋ค.
โ์น์ ์๋ ์์ฒญ์ ๋ณด๋ด์ผ ์๋ต์ ๋ฐ๋ ๊ตฌ์กฐ์ธ๋ฐ, ์๋ฒ๊ฐ ๋จผ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?โ
์ด ์ง์ ์์ ๋ฑ์ฅํ๋ ๊ธฐ์ ์ด ๋ฐ๋ก WebSocket์ ๋๋ค.
์ด๋ฒ ๊ธ์์๋ WebSocket์ด ๋ฌด์์ธ์ง, ์ ํ์ํ์ง, ๊ทธ๋ฆฌ๊ณ HTTP์ ๋ฌด์์ด ๋ค๋ฅธ์ง๋ฅผ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
SyncMon์ WebSocket์ด ํ์ํ๋ ์ด์
์ค์๊ฐ ๋ชจ๋ํฐ๋ง์์ โ๋ฐ๋ก ์๋ ค์ฃผ๋ ๊ฒโ์ ์ค์์ฑ
WebSocket์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ์ ํ ๋ฒ ๋งบ์ ๋ค, ๊ทธ ์ฐ๊ฒฐ์ ์ ์งํ๋ฉด์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ์ ์ ๋๋ค.
๋ณดํต ์น์ HTTP ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค.
์ฆ, ์ฌ์ฉ์๊ฐ ์์ฒญ์ ๋ณด๋ด์ผ ์๋ฒ๊ฐ ์๋ตํฉ๋๋ค.
์ด ๊ตฌ์กฐ๋ ์กฐํ๋ ์ ์ฅ ๊ฐ์ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ฅ์๋ ์ ๋ง์ง๋ง, ์๋ฒ์์ ๋จผ์ ์๋ ค์ค์ผ ํ๋ ์ํฉ์๋ ๋ถํธํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ชจ๋ํฐ๋ง ์์คํ ์์๋ ์ฌ์ฉ์๊ฐ ์๋ก๊ณ ์นจ์ ํ์ง ์์๋, ์ด์ ์ํฉ์ด ๋ฐ์ํ๋ ์๊ฐ ๋ฐ๋ก ํ๋ฉด์ ๋ฐ์๋์ด์ผ ํฉ๋๋ค.
์ด๋ ๋งค์ด ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด์ ์ํ๋ฅผ ํ์ธํ๋ ๋ฐฉ์์ผ๋ก๋ ๊ตฌํ์ ๊ฐ๋ฅํ์ง๋ง, ์ด๋ฒคํธ๊ฐ ์์ ๋๋ ๊ณ์ ์์ฒญ์ด ๋ฐ์ํ๊ณ , ์ด์ ์ํฉ์ด ์๊ฒจ๋ ๋ค์ ์์ฒญ ์์ ๊น์ง๋ ์ง์ฐ์ด ์๊น๋๋ค.
๊ทธ๋์ ์ด๋ฐ ๊ฒฝ์ฐ์๋ HTTP๋ณด๋ค WebSocket์ฒ๋ผ ์ฐ๊ฒฐ์ ์ ์งํ๋ฉด์ ์๋ฒ๊ฐ ์ฆ์ pushํ ์ ์๋ ๊ตฌ์กฐ๊ฐ ๋ ์ ๋ง์ต๋๋ค.
SyncMon์์๋ ์ WebSocket์ด ํ์ํ์๊น
์ ํฌ SyncMon์ OGG ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋๋ค.
์ด ์์คํ ์์๋ ๋จ์ํ ํ๋ฉด์ ์ํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํ ์์ ์ด ์์์ต๋๋ค.
ํน์ ๋ชจ๋ํฐ๋ง ๋์์์ ์ด์์ด ๋ฐ์ํ๋ฉด,
์ด์์๊ฐ ํ๋ฉด์ ๊ณ์ ๋ณด๊ณ ์์ง ์๋๋ผ๋ ์ฆ์ ์ธ์งํ ์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํนํ ์๊ตฌ์ฌํญ ์ค ํ๋๊ฐ
์๋ฒ์์ ํน์ ๋ชจ๋ํฐ๋ง ์ด์์ ๊ฐ์งํ์ ๋, ํ๋ฉด์์ TTS ์์ฑ์ด ๋ฐ๋ก ์ฌ์๋์ด์ผ ํ๋ค๋ ๊ฒ์ด์์ต๋๋ค.
์ด ์๊ตฌ์ฌํญ์ HTTP ๊ธฐ๋ฐ์ผ๋ก ํ๋ ค๊ณ ํ๋ฉด ๊ตฌ์กฐ๊ฐ ์ ๋งคํด์ง๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์๋ฒ์
โ์ด์ ์ํฉ ์๊ฒผ๋์?โ
๋ฅผ ๊ณ์ ๋ฌผ์ด๋ด์ผ ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด ๋ฐฉ์์ ๋ ๊ฐ์ง๊ฐ ๋ถํธํฉ๋๋ค.
ํ๋๋ ๋ถํ์ํ ์์ฒญ์ด ๊ณ์ ์๊ธด๋ค๋ ์ ์ด๊ณ ,
๋ค๋ฅธ ํ๋๋ ์ด์์ด ๋ฐ์ํด๋ polling ์ฃผ๊ธฐ๋งํผ ๋ฆ๊ฒ ๋ฐ์ํ ์ ์๋ค๋ ์ ์ ๋๋ค.
๋ชจ๋ํฐ๋ง ์์คํ ์์ ์ด ์ง์ฐ์ ์๊ฐ๋ณด๋ค ์น๋ช ์ ์ ๋๋ค.
์ด์ ์ํฉ์ โ๋์ค์ ๋ณด์ฌ์ฃผ๋ ๊ฒโ๋ณด๋ค โ๋ฐ์ํ์๋ง์ ์๋ ค์ฃผ๋ ๊ฒโ ์ด ๋ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋์ SyncMon์์๋
์๋ฒ์ ํ๋ฉด ์ฌ์ด์ WebSocket ์ฐ๊ฒฐ์ ์ ์งํ๊ณ ,
์ด์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์๋ฒ๊ฐ ํด๋น ์ด๋ฒคํธ๋ฅผ ์ฆ์ ํด๋ผ์ด์ธํธ๋ก pushํ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์ด ์ด๋ฒคํธ๋ฅผ ๋ฐ์ผ๋ฉด
ํ๋ฉด ๊ฒฝ๊ณ ๋ฅผ ๋์ฐ๊ณ , ํ์ํ ๊ฒฝ์ฐ TTS๋ฅผ ํตํด ์์ฑ์ผ๋ก๋ ์๋ฆฌ๋๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ฆ, ์ฌ๊ธฐ์ WebSocket์ ์ด ์ด์ ๋
๋จ์ํ โ์ค์๊ฐ ๊ธฐ์ ์ ์จ๋ณด๊ณ ์ถ์ด์โ๊ฐ ์๋๋ผ,
๋ชจ๋ํฐ๋ง ์ด์์ ์ด์์๊ฐ ๋์น์ง ์๋๋ก ํ๊ธฐ ์ํด์์์ต๋๋ค.
์ ๋ฆฌ
WebSocket์ ๋ชจ๋ ์น ๊ธฐ๋ฅ์ ํ์ํ ๊ธฐ์ ์ ์๋๋๋ค.
ํ์ง๋ง ์๋ฒ์์ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ์ฆ์ ์ฌ์ฉ์ ํ๋ฉด์ ์ ๋ฌํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ๊ต์ฅํ ์ ์ฉํฉ๋๋ค.
SyncMon์์๋ WebSocket์ด ํ์ํ๋ ์ด์ ๋ ๋ช ํํ์ต๋๋ค.
- ์ด์ ์ํฉ์ ์๋ฒ๊ฐ ๋จผ์ ์๊ณ
- ๊ทธ ์ ๋ณด๋ฅผ ํ๋ฉด์ ์ฆ์ ์ ๋ฌํด์ผ ํ๋ฉฐ
- ์ด์์๋ ๊ทธ ์๊ฐ ๋ฐ๋ก ์ธ์งํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค
ํนํ TTS์ฒ๋ผ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์๋ง์ ์ฆ์ ๋ฐ์ํด์ผ ํ๋ ๊ธฐ๋ฅ์
์์ฒญ-์๋ต ๊ธฐ๋ฐ๋ณด๋ค ์๋ฒ push ๋ฐฉ์์ด ํจ์ฌ ์์ฐ์ค๋ฝ์ต๋๋ค.
๊ฒฐ๊ตญ SyncMon์์ WebSocket์
์ค์๊ฐ ํต์ ์์ฒด๊ฐ ๋ชฉ์ ์ด ์๋๋ผ,
์ฅ์ ์งํ๋ฅผ ๋ ๋น ๋ฅด๊ณ ๋ช ํํ๊ฒ ์ ๋ฌํ๊ธฐ ์ํ ์๋จ์ด์์ต๋๋ค.