-
QuadCore Team Projectit's me/๐ฉ๐ป ํ๋ก์ ํธ ์ ๋ฆฌ 2020. 2. 1. 01:39
์ฐ๋ฆฌ์ ํ๋ก์ ํธ ๋ฐ ๊ทธ ์ค ๋ด๊ฐ ๋งก๊ฒ ๋ ๋ถ๋ถ๋ค ... ์ด์ ์์ผ ๋ธ๋ก๊ทธ์ ์ฌ๋ฆฐ๋ค.
ํญ์ ๋ ธ์ ์๋ง ์ ๋ฆฌํด๋๊ณ ๋ธ๋ก๊ทธ์ ํ๊บผ๋ฒ์ ์ฌ๋ฆฌ๋ ค๋ ์ฝ์ง ์๋ค
์ฐ๋ฆฌ ํ MSA ์ํคํ ์ฒ
์ด ์ค์์ ๋๋ ํธ๋ ๋ ๋ถ๋ถ์ ๋งก์์ ์งํํ๋ค.
โญ๏ธ ์ ๋ฆฌ ๋ชฉ์ฐจ
What ? ์ด๋ค ๊ฒ ํ๊ณ ์ถ์ด / ์ด๋ค ๊ฒ ๋ง๋ค๊บผ์ผ?
- ๋ชฉํ ์ ์
- ๊ธฐ๋ฅ ์ ์
Why ? ์ ํ๋ ค๊ณ ํ๋๋ฐ ?
- ํ๊ณ ์ถ์ ์ด์
- ๊ทธ๊ฒ์ ํตํด ๋ด๊ฐ ์ป๊ณ ์ ํ๋ ๊ฒ
How ? ์ด๋ป๊ฒ ํ ๊ป๋ฐ?
- ์ํคํ ์ฒ ์ค๊ณ
- ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ฅ ๋ช ์ธ
- ์ฌ์ฉ ํด / ์ธ์ด
Milestone 1.2.3
What
๋ชฉํ :
์ค์๊ฐ์ผ๋ก ๋ค์ด์ค๋ ๋ง์ ์์ Raw Data ์ค ์๋ฏธ์๋ Data ๋ค์ ์ ์ํ๊ณ ์ ํํ๊ฒ ์ ๋ฌํ๊ณ ์ถ๋ค !
๊ธฐ๋ฅ : ํ๋ง๋๋ก ์ ์ํ์๋ฉด ๋ฐ์ดํฐ ์์ง ๋ฐ ๊ฐ๊ณต + ํธ๋ํฝ ์ฒ๋ฆฌ
Twitter API ํ์ฉํ ์๊ฐ๋๋ณ ( ์ผ ๋จ์, ์๊ฐ ๋จ์, ๋ถ ๋จ์, ์ค..์๊ฐ..? ) ํธ์ ๋ถ์ → ์๊ฐํ
์บ ํ๋ฅผ ํตํด ๊น๊ฒ ๊ณ ๋ฏผ ํด๋ณด๊ณ ์ถ์ ๋ถ๋ถ : ์ฒ๋ฆฌํด์ผ ํ ๋ฐ์ดํฐ์ ์์ด ๋ง์์ ธ๋ ์๋์ ์ ํ์ฑ์ด ๋ณด์ฅ๋ ๊น?
Why
์ด์ :
์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง,, ๋ด ๊ด์ฌ์ด ์๊พธ ๊ทธ์ชฝ์ผ๋ก ๊ฐ๋ค..
๋์ด์ผ๋ณด๋ฉด ํญ์ ์์์์ ๋ด๊ฐ ํ๊ณ ์ถ์ ๊ฒ๋ค์ ์ผ์ ๋๋ ๊ทธ๋ ๊ณ ์์ผ๋ก์ ๋ด๊ฐ ํ๊ณ ์ ํ๋ ๊ฐ๋ฐ๋ ์ฌ์ฉ์์๊ฒ ํธ์๋ฅผ ์ค ์ ์๋ ๊ฐ๋ฐ์ด๋ค. ( ๋น์ฐํ ๊ฑด๊ฐ...? ์ด์จ๋ )
์ฌ๊ธฐ์ ๋งํ๋ ํธ์๋ ๊ธฐํ์ ์ผ๋ก ์ฐธ์ ํ ๊ฒ๋ค์ ๊ตฌํํด์ ํธ์๋ฅผ ์ค๋ค๊ธฐ ๋ณด๋ค๋ ๊ธฐ์ ์ ์ผ๋ก ์ ๊ทผํด์ low latency, consistency ๋ณด์ฅ ๋ฑ๋ฑ ์ ๋งํ๋ค. ( ํ์ฌ๋ก์ฌ ๊ทธ๋ ๋ค )
- raw data → ์๋ฏธ์๋ ๋ฐ์ดํฐ๋ก ๊ฐ๊ณต
- ๋น ๋ฅด๊ฒ ์ ์ ๋ฌ
์ด ์์ ์ฌ์ฉ์ ํธ์๋ฅผ ์ํ ๊ฐ๋ฐ ๋ชจ๋ ๊ฒ์ด ํจ์ถ์ ์ผ๋ก ๋ค์ด๊ฐ๋ค๊ณ ์๊ฐํ๋ค.
์ป๊ณ ์ ํ๋ ๊ฒ :
๋ฐ๋ผ์ ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด
- kafka ๋ฅผ ํตํ ์ค์๊ฐ ๋ฐ์ดํฐ ์์ง
- ๋น ๋ฐ์ดํฐ ๋ถ์ ์ฒ๋ฆฌ ํ๋ซํผ ํ์ฉ
- ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์๊ฐํ
- ํธ๋ํฝ ์ฒ๋ฆฌ๋ฅผ ์ํ ํจ์จ์ db ์ํคํ ์ฒ ์ค๊ณ ๋ฐ api ์ค๊ณ
์ด ๋ชจ๋ ๊ฑธ ํ๋ค๋ฉด ์์ฃผ ๋๋ฐ์ .
How
๋ฐ์ดํฐ ํ๋ฆ : ์ ์ํคํ ์ฒ์์ Trend API Server ๋ก ์ด์ด์ง๋ ๋ชจ๋ ๋ถ๋ถ
๋์ ๊ธฐ๋ฅ ํฌ๊ฒ ๋๊ฐ์ง.
- ๋ฐ์ดํฐ ๊ฐ๊ณต ๋ฐ ๋ถ์ ( Raw Data ์ค ์๋ฏธ์๋ Data ์ถ์ถํ๊ธฐ )
- ๋ถ์์ ๊น์ด ? ๋ฒ์ ? ์ ์กฐ์ ํ๊ธฐ !! ์์นซํ๋ฉด ๋จธ์ ๋ฌ๋์ผ๋ก ์ด์ด์ง๊ธฐ ๋๋ฌธ์
- ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ๋ถ์์ ์ด๋ป๊ฒ ํ ๊ป๋ฐ?
- ๊ทธ๋์ ๊ณ ๋ฏผํ ๋ถ๋ถ ↓
- ์ฐ๋ฆฌ์ data pool ์ธ 'BTS' ๋ผ๋ ํค์๋๋ฅผ ๊ฐ์ง๊ณ ํ ์ ์๋ ์ฌ๋ฏธ์๋ ๋ถ์ ?
- word count ๋ฅผ ํตํ ์๊ฐ๋๋ณ ์ ์ ํธ์ ํธ๋ ๋ ๋ถ์ / ํด์ํ๊ทธ ๋ถ์
- ๋ฉค๋ฒ๋ณ ํธ์ → ์ฐ๊ด ํค์๋ ์ถ์ถ
- ์๊ฐ๋๋ณ ํธ์ ๋ญํน → ์ข์์ / ๋ฆฌํธ์ ์ ( ์ธ๊ธฐ๊ธ ๋ณด์ฌ์ฃผ๊ธฐ )
- ์ฌ๊ธฐ์ ํต์ฌ ! ์๊ฐ๋๋ณ...์ ์ด๋ป๊ฒ ์ฒ๋ฆฌ ํ ๊ฒ์ธ๊ฐ ?
- ์ผ์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ๋ถ์
- ์ฌ์ฉ์ ์ง์ ๋ ์ง ๋จ์ or ์๊ฐ ๋จ์๋ก ๋ถ์
- ( ๋ฐ์ดํฐ๊ฐ ์ค์๊ฐ์ผ๋ก ๊ณ์ ๋ค์ด์ค๊ณ ์๊ธฐ ๋๋ฌธ์ ํน์ ๋ ์ง๋ ์๊ฐ์ ์์, ๋์ด ์ ํด์ง์ง ์๋ ์ด์ ์ต๋ํ ์์ฒญํ ๋์ ์๊ฐ๊ณผ ๊ฐ๊น๊ฒ ๋ค์ด์จ ๋ฐ์ดํฐ๊น์ง (๋์ง์ ) ๋ฅผ ํ์ฉํ์ฌ ๋ณด๋ด์ฃผ์ด์ผ ํ ๋ฏ.. )
- ๊ธฐํ
- ํธ๋ํฝ ์ฒ๋ฆฌ๋ฅผ ์ํ ํจ์จ์ db ์ํคํ
์ฒ ์ค๊ณ ๋ฐ api ์ค๊ณ ( ์ ์ํ๊ณ ์ ํํ๊ฒ ์ ๋ฌํ๊ธฐ )
- ๊ฐ๊ณตํ ๋ฐ์ดํฐ๋ฅผ db์ ๋ถ์ฐ ์ ์ฅ
- ๊ฐ๊ณต๋ ๋ฐ์ดํฐ์ ํ์์ ๋ง๋ db ์ ํ ๋ฐ ์ ์ฅ ๋ฐฉ๋ฒ ์ค๊ณ
- ๋ง์ ์์ฒญ์ด ๋ค์ด์๋ ๋ฐ๋ก๋ฐ๋ก ์ ์ ๋ฌํ ์ ์๋๋ก api ์ค๊ณ
Milestone
- word count ํ์ฉํ ์ค์๊ฐ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ ์ฅ / ์๊ฐ๋๋ณ ๋ฐ์ดํฐ ์ฒ๋ฆฌ / ๋ฐ์ดํฐ ๋๊ฒจ์ค api ์ค๊ณ
- ์ธ๊ธฐ ๋ญํน ๋ฑ ๋ ๋ค๋ฅธ ๋ถ์ ์งํํด๋ณด๊ธฐ / ์์ฒญ ์์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๊ฐ์
- kafka ๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ์์ง
๊ณ ๋ฏผํด ๋ด์ผ ํ ๋ฌธ์ ๋ค
- spark ๋ก ๋ถ์๋ ๊ฒฐ๊ณผ ๋ณด๋ด๋ ๋ฐฉ์ ( db ์ ์ฅ ํ ๋ณด๋ / ์์ฒญ ์ ๋ฐ๋ก ์ฒ๋ฆฌ )
- db ์ ์ฅ ํ ๊ฒฝ์ฐ ๋ง์ ์์ฒญ ๋ฐ ์ ์ฅ์ ๋ฐ๋ฅธ ๊ณผ๋ถํ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง?
- ๋ฐ์ดํฐ ๋ถ์ ๊ฐฑ์ ํ๋ ์ฃผ๊ธฐ ์ค์
- ์ผ์ ์๊ฐ ์ค์ ํ ๋งค ์๊ฐ๋ณ๋ก ๋ฐ์ดํฐ ๋๊ฒจ์ฃผ๊ธฐ ex) 1์๊ฐ๋ง๋ค
- ์์ฒญ ์ (ex) ์๋ก๊ณ ์นจ) ๋ฐ๋ก ์ฒ๋ฆฌ
- ์ฌ์ฉ์ ์ง์ ๋ ์ง ๋ณ ๋ณด์ฌ์ฃผ๊ธฐ
'it's me > ๐ฉโ๐ป ํ๋ก์ ํธ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Quadcore Team/Trend] ์ธ๊ธฐ ํธ์ ๋ญํน (0) 2020.03.02 [Quadcore Team/Trend]ํด์ํ๊ทธ ๋ถ์ (0) 2020.02.26 [4์ฃผ์ฐจ] - word count with Spark (0) 2020.02.01 Authorization System (0) 2020.01.15