์ค๋ ๊ณต๋ถํ ๋ด์ฉ
- ์์์ ๊ฑฐ๋ฆฌ์ ์ ๋ ฌ ๊ธฐ๋ฅ ๊ตฌํ - haversine ๊ณต์ ์ฌ์ฉ
- ํ๊ฒฝ๋ณ์ ์ค์ ์ธ๋ถ์์ ์ฃผ์ ํ๋ ๋ฐฉ๋ฒ ๊ณ ๋ฏผํ๊ธฐ
- DB ๋์์ฑ ๊ณต๋ถ์ค
๐ญ ๋๋ ์ & ๋ฐฐ์ด ์
์์์ ์ ์ง๋ ์ค์ฌ์์์ ๊ฑฐ๋ฆฌ ์์๋ก ์ ๋ ฌํด์ ๋ณด์ฌ์ฃผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ตฌ์ฌํญ์ด ๋์๊ณ , ์ค๋ ์ด๋ฅผ ๊ตฌํํ๋ค.
๊ตฌํํ๋ค๋ณด๋ haversine ๊ณต์์ ํตํด ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์์๊ณ , ๋ก์ด์ค๊ฐ ์ด์ ๋ํด ์ค๋ช ํด ์คฌ๋๋ฐ ์ฝ๊ฐ ๋จธ๋ฆฌ๊ฐ ํฐ์ง ๋ฏ ํ ๋๋..?
๋๋ฌด ์ด๋ ค์ ๋ค.
์ผ๋จ ๊ณต์์ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธด ํ๋๋ฐ ๋์ค์ ์กฐ๊ธ ์ ๋๋ก ๊ณต๋ถํด ๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ตฌํ ๊ณผ์ ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํตํด ๊ตฌํ ๋ค ๊ฐ์ ธ์ฌ ๊ฒ์ธ์ง, ์ฐ์ ๊ฐ์ ธ์ค๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋๋ฆฌ๋ฉฐ ์ ๋ ฌํ ๊ฒ์ธ์ง๋ฅผ ๊ณ ๋ฏผํ๋๋ฐ, ์ฐ์ ๋น์ฅ ๊ตฌํํ๊ธฐ ์ฌ์ด ์ ์๋ฅผ ์ ํํ๋ค.
์ฑ๋ฅ ์์ผ๋ก๋ ๋์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ๊ณผ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ก์ง์ด ๋น์ฆ๋์ค์ ์ธ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ์๋๋ผ, ์ ๋ง ๊ทธ๋ฅ ์กฐํ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ด๋ฏ๋ก ๊ด์ฐฎ๋ค๊ณ ์๊ฐํ๋ค.
์ํ๋์ ๊ด๋ จ ๋ต๋ณ๊ธ๋ ์์๊ณ ..
๋๋ฒ์งธ๋ก๋ ๊ฑฐ๋ฆฌ ๊ธฐ๋ฅ ๋๋ด๊ณ ํ๊ฒฝ๋ณ์๋ฅผ ํ์ฌ ec2 ์๋ฒ์ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ์์ ๊ด๋ฆฌํ๋๋ฐ, ์ด๋ฅผ ์ธ๋ถ์์ ๊ด๋ฆฌํ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผ์ค์ด์๋ค.
์ฐ์ ์๊ฐ๋ ๋ฐฉ์์ด github์ secret์ ํตํด ๋ฏธ๋ฆฌ ๊ฐ์ ์ค์ ํด๋ ํ, workflow๋ฅผ ํตํด backend-env ํ์ผ์ ํ๋ํ๋ ์์ฑ์ ํ ๋ค, ๋ฐฐํฌ์คํฌ๋ฆฝํธ์์ ํ์ค์ฉ ์ฝ์ด exportํ์ฌ ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๊ฑฐ์ ๋ค ์ฑ๊ณตํ ๊ฒ ๊ฐ์๋๋ฐ 6์๊ฐ ๋์ด์ ์ผ๋จ ์ค๊ฐ์ ๋ฉ์ถ๊ณ ์ง์ ๊ฐ๋ค!
์ ๊ทธ๋ฆฌ๊ณ ์ด์ Lock์ ๋ํด์ ๊ณต๋ถ์ค์ธ๋ฐ, Named Lock์ ๊ณต๋ถํ๋ค ์กฐ๊ธ ์ ๋งคํ ๋ถ๋ถ์ด ์์ด์ ๋ด์ผ ํ์ธํ๋ ค ํ๋ค.
์๋ก ๋ค๋ฅธ ์ด๋ฆ์ named lock์ด ๊ฐ์ table์ row์ ๋ํด lock์ ๊ฑธ์๋ค๋ฉด ๋ฐ๋๋ฝ์ด ๋ฐ์ํ๋๊ฐ..? ์ ๋ํด์๊ฐ ๊ถ๊ธํ๋ค!
๋ด์ผ ํด๋ด์ผ์ง.
์ ๊ทธ๋ฆฌ๊ณ ์ด๊ฑธ ๋ณผ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋๋ ์์ ์ถํํด ๐๐๐๐๐๐๐๐๐
๐ฅ ๋ด์ผ ๊ณต๋ถํ ๋ด์ฉ
- ๋ฐฑ์ค
- DB ๋์์ฑ ๊ณต๋ถ
์ค๋ ๊ณต๋ถํ ๋ด์ฉ ํฌ์คํ
'๐ณ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 2023-07-30 (0) | 2023.07.31 |
---|---|
[TIL] 2023-07-29 (0) | 2023.07.29 |
[TIL] 2023-07-27 (4) | 2023.07.27 |
[TIL] 2023-07-26 (0) | 2023.07.27 |
[TIL] 2023-07-25 (0) | 2023.07.26 |