์ ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ๊ณผ ์ธํ๋ผ ์ค๊ณ์ ๊ฐ์ ์ ๊ฐ์ง ๊ฐ๋ฐ์์ ๋๋ค. ๋จ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ ๋์ด, ์๋น์ค์ ์์ ์ฑยทํ์ฅ์ฑยท์ด์ ํจ์จ์ฑ๊น์ง ์ฑ ์์ง๋ ๊ฐ๋ฐ์๋ฅผ ๋ชฉํ๋ก ์ฑ์ฅํด ์์ต๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ํญ์ โ์ ์ด ๊ธฐ์ ์ด ํ์ํ๊ฐ?โ, โ์ด๋ค ๊ตฌ์กฐ๊ฐ ๊ฐ์ฅ ์์ ์ ์ธ๊ฐ?โ๋ฅผ ๋จผ์ ๊ณ ๋ฏผํ๊ณ , ๋ฌธ์ ํด๊ฒฐ ์ค์ฌ์ผ๋ก ๊ธฐ์ ์ ์ ํํฉ๋๋ค. ๊ทธ ๊ณผ์ ์์ Docker ๊ธฐ๋ฐ ํ๊ฒฝ ํ์คํ, Spring Cloud ๊ธฐ๋ฐ MSA ์ค๊ณ, Nginx + SSL ๋ณด์ ๊ฐํ, KafkaยทSpark ๊ธฐ๋ฐ ์ค์๊ฐ ๋ก๊ทธ ํ์ดํ๋ผ์ธ, PrometheusยทGrafana ๋ชจ๋ํฐ๋ง, Jenkins CI/CD, Swap Memory ๊ธฐ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ฑ ๋จ์ ๊ฐ๋ฐ์ ๋์ด ์ด์๊น์ง ์์ฐ๋ฅด๋ ๊ฒฝํ์ ์์์ต๋๋ค.
๋ณต์กํ JOIN ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์์น ๊ธฐ๋ฐ์ผ๋ก ๋ถ์ํด ํด๊ฒฐํ์ผ๋ฉฐ, ๋ฐ์ดํฐ ๊ท๋ชจ์ ๋ฐ๋ผ MySQL FULLTEXT์ Elasticsearch์ ์ฅ๋จ์ ์ ๋น๊ตํ๊ณ , ์ํฉ์ ๋ง๋ ๊ธฐ์ ์ ํ์ด ์ผ๋ง๋ ์ค์ํ์ง ์ฒด๊ฐํ์ต๋๋ค. ๋ํ Gateway ๊ธฐ๋ฐ ์ธ์ฆ ์ํคํ ์ฒ ๊ตฌ์ถ์ ํตํด ๋ณด์๊ณผ ์ด์ ํจ์จ์ฑ์ ๋์์ ๊ฐํํ๊ณ , ์ฅ์ ์ํฉ์ ๊ฒช์ผ๋ฉฐ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๊ด์ธก์ฑ์ ํ์์ฑ์ ๊น์ด ์ดํดํ๊ฒ ๋์์ต๋๋ค.
์๋ก์ด ๊ธฐ์ ๊ณผ ์ํคํ ์ฒ๋ฅผ ๋๋ ค์ํ์ง ์๊ณ ๋น ๋ฅด๊ฒ ํ์ตํ์ฌ ์ค์ ์๋น์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์ ์ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ ๋๋ค. ์์ผ๋ก๋ ํ์ฅ ๊ฐ๋ฅํ ์์คํ ์ ๊ณ ๋ฏผํ๊ณ , ์ด์๊น์ง ์ดํดํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๊ฒ ์ต๋๋ค.
์๊ธ ํ์ฅ ๋ํ๋ฅผ STT๋ก ์ค์๊ฐ ์ ์ฌยท๊ตฌ์กฐํํ๊ณ , ๊ตฌ๊ธ๋์์ ๊ธฐ๋ก ๋ถ๋ด์ ์ค์ฌ์ฃผ๋ ์๊ธ ๊ตฌ์กฐ ๋ณด์กฐ ํ๋ซํผ์
๋๋ค.
Vosk + VAD ๊ธฐ๋ฐ ์จ๋๋ฐ์ด์ค STT, Faster-Whisper ๊ธฐ๋ฐ STT ์๋ฒ๋ฅผ ์ง์ ๊ตฌ์ถํ๊ณ ํ๋ผ๋ฏธํฐยท๋ชจ๋ธ ํฌ๊ธฐยท์ง์ฐ ์๊ฐยท์ ํ๋๋ฅผ ๋น๊ตยทํ๋ํ์ต๋๋ค.
Spring Boot ๋ฐฑ์๋์ Docker ๊ธฐ๋ฐ STT ์ปจํ
์ด๋๋ฅผ ์ฐ๋ํด, ์ํฉ์ ๋ฐ๋ผ STT ์์ง์ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ์ต๋๋ค.
๊ณต๋ถ/์์
์ค WebRTC๋ก ์์งํ ์์ยท์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก, ์จ๋๋ฐ์ด์ค ๊ฒฝ๋ AI + ์๋ฒ ๊ณ ์ ๋ฐ ๋ถ์์ ๊ฒฐํฉํด ์ง์ค๋๋ฅผ ์ค์๊ฐ ์ ์ํํ๋ ์๋น์ค์
๋๋ค.
Kafka๋ก ๋ก๊ทธ๋ฅผ ์คํธ๋ฆฌ๋ฐํ๊ณ , Spark Streaming์ผ๋ก ์ค์๊ฐ ์ง๊ณยท๋ถ์ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ต๋๋ค.
Spring Cloud ๊ธฐ๋ฐ MSA, JWT Gateway ์ธ์ฆ, DockerยทPrometheusยทGrafana๋ก ๊ด์ธก ๊ฐ๋ฅํ ํ์ต ๋ถ์ ํ๋ซํผ ์ธํ๋ผ๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค.
์ฌํ ์ผ์ ยท๊ด๊ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ ์ ๊ด๋ฆฌํ๊ณ , ์ฅ์๋ฅผ ๊ฒ์ํ ์ ์๋ ์๋น์ค์
๋๋ค.
๋ณต์กํ ์กฐ๊ฑด ๊ฒ์์์ ๋ฐ์ํ 4์ค JOIN ๋ณ๋ชฉ์ MyBatis ํ๋ + ์ญ์ ๊ทํ + FULLTEXT + Elasticsearch ๋์
์ผ๋ก ๊ฐ์ ํด, ๊ฒ์ ์๋๋ฅผ 3.2์ด โ 280ms ์์ค์ผ๋ก ๋จ์ถํ์ต๋๋ค.
Spring Boot + MyBatis ๊ธฐ๋ฐ API, Docker ComposeยทNginxยทCI/CD๋ก ์ค์ ๋ฐฐํฌ๋ฅผ ๊ณ ๋ คํ ๋ฐฑ์๋ยท์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ์ต๋๋ค.
Big Five(OCEAN) ์ฑ๊ฒฉ ์ด๋ก ์ ๋ฐํ์ผ๋ก, ๊ฒ์ยท์ผ๊ธฐยทAI ๋ํ๋ฅผ ํตํด ์ฌ์ฉ์์ ์ฑ๊ฒฉ์ ํ๋ฅด์๋ ์ธํฌ๋ก ์๊ฐํํ๋ ์์ ํ์ ํ๋ซํผ์
๋๋ค.
๋ฐฑ์๋๋ Spring Boot, ํ๋ก ํธ๋ Next.js ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑํ๊ณ , ์ฌ์ฉ์ ํ๋ยท์ผ๊ธฐยทAI ๋ํ ์ด๋ฒคํธ๋ฅผ Kafka๋ก ์คํธ๋ฆฌ๋ฐ ํ Kafka Connect๋ฅผ ํตํด 4๋
ธ๋ MinIO ๋ถ์ฐ ์คํ ๋ฆฌ์ง์ ์ ์ฌํ๋ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ์ต๋๋ค.
๋ ๋์ EC2 ์๋ฒ๋ฅผ ๋๋์ด(์ฑ/AI ์๋ฒ, ๋ฐ์ดํฐ ์ธํ๋ผ ์๋ฒ) Docker Compose ์คํ์ ๊ตฌ์ฑํ๊ณ , Jenkins + Nginx ๊ธฐ๋ฐ Blue/Green ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ผ๋ก ๋ฌด์ค๋จ ๋ฐฐํฌยท๋กค๋ฐฑ์ด ๊ฐ๋ฅํ๋๋ก ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
๋์ฅ๊ณ ์ ์ฌ๋ฃ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ๋ ์ํผ๋ฅผ ์ถ์ฒํด ์ฃผ๋ ํ์คํ ์น ์๋น์ค์
๋๋ค.
๋ฐฑ์๋๋ Spring Boot, ํ๋ก ํธ์๋๋ React๋ก ๊ตฌํํ๊ณ , ์ฌ๋ฃ ์ ํ โ ๋ ์ํผ ์ถ์ฒ โ ์์ธ ๋ณด๊ธฐ๊น์ง์ ํ๋ฆ์ ์ ๋ถ ์ง์ ์ค๊ณยท๊ตฌํํ์ต๋๋ค.
๊ธฐ๋ณธ์ ์ธ ํ์ยท๋ ์ํผ ๊ด๋ฆฌ ๊ธฐ๋ฅ๋ถํฐ UI/UX๊น์ง ํ ๋ฒ์ ๊ฒฝํํ๋ฉฐ, ์๋น์ค ์ ์ฒด ํ๋ฆ์ ํผ์ ์ค๊ณยท๊ตฌํํ ํ๋ก์ ํธ์
๋๋ค.