- ํธ๋์ญ์ ์ด ๋ฌด์์ธ์ง ์ค๋ช ํด ์ฃผ์ธ์
-> ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์์ , ์์ ๋ ์ฌํญ์ ๋ฐ์ํ๋ ๋ฑ์ ์์ ์ด ์ด๋ฃจ์ด์ง๋ ํ๋์ ์์ ๋จ์๋ฅผ ๋งํฉ๋๋ค. ํธ๋์ญ์ ์ ์ฃผ ๋ชฉํ๋ ์์ ์งํ ์ค ์ฅ์ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์์คํ ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์์คํ ์ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๊ทธ๋ฆฌ๊ณ ๋ฌ์ฑ๋ ์ํ์ ํธ๋์ญ์ ์ ACID ํน์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ์น ์๋ฒ์ WAS์ ์ฐจ์ด๋?
-> ์น ์๋ฒ๋ ์ธํฐ๋ท์ ํตํด HTTP ํ๋กํ ์ฝ์ ๋ฐ๋ฅธ ํต์ ์ด ์ด๋ฃจ์ด์ง๋ ํ๋ก๊ทธ๋จ์ ๋งํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์น ์๋ฒ๋ก๋ Apache, Nginx, IIS ๋ฑ์ด ์์ต๋๋ค. WAS๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ณ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด ํ๋ซํผ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ, ๋ฉ์์ง ์๋ฒ ๋ฑ ์ถ๊ฐ ๊ตฌ์ฑ์์์ ์น ์๋ฒ๊ฐ ํฌํจ๋ฉ๋๋ค. WAS์ ๋ชฉ์ ์ผ๋ก ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ, ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ธํ๋ผ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
์น ์๋ฒ์ WAS ๋ชจ๋ HTTP๋ฅผ ์ฒ๋ฆฌํ ์ ์์ง๋ง, ์น ์๋ฒ๋ ์ผ๋ฐ์ ์ผ๋ก HTML, CSS ๊ฐ์ ์ ์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๋ ๋ฐ๋ฉด, WAS๋ JSP ํ์ด์ง, Java ์๋ธ๋ฆฟ ๋ฑ ๋์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ํ WAS๋ ํธ๋์ญ์ ๊ด๋ฆฌ, ๋ณด์ ๋ฐ ๋ฆฌ์์ค ํ๋ง ๋ฑ์ ์ถ๊ฐ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. WAS๊ฐ ๋ฒ์๊ฐ ๋ ๋๋ค๊ณ ํ ์ ์์ต๋๋ค.
๋์ปค ๊ฐ์ ์์!
@Transactional : ํ ์คํธ ์ผ์ด์ค์ ์ด ์ด๋ ธํ ์ด์ ์ด ์์ผ๋ฉด, ํ ์คํธ ์์ ์ ์ ํธ๋์ญ์ ์ ์์ํ๊ณ , ํ ์คํธ ์๋ฃ ํ์ ํญ์ ๋กค๋ฐฑํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด DB์ ๋ฐ์ดํฐ๊ฐ ๋จ์ง ์์ผ๋ฏ๋ก ๋ค์ ํ ์คํธ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค
๋ชจ์ ๋ฉด์ ์ง๋ฌธ ์ ๋ฆฌํด๋ณด๊ธฐ
-์คํ๋ง์ด ์ฑ๊ธํค ํจํด์ธ ์ด์ ?
-> ์คํ๋ง์์ ์ฑ๊ธํค ํจํด์ ๋น์ ์๋ช ๊ด๋ฆฌ ํจํด์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ํ๋ฒ ์์ฑ๋ ์ธ์คํด์ค๋ก ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ApplicationContext๋ผ๋ ์ปจํ ์ด๋์ ๋น์ด ๋ฑ๋ก๋๋๋ฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋๋ฉด ์ปจํ ์ด๋๋ ๊ตฌ์ฑ ํ์ผ์ ๋ฑ๋ก๋ ๋ชจ๋ ๋น์ ์์ฑํ๋ฉฐ ์ด๊ธฐํํฉ๋๋ค. ๊ทธ ํ ๋น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ํ ์คํ๋ง์์ ์ฑ๊ธํค ํจํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฑ ๋ฆฌ์์ค ๊ด๋ฆฌ์๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ณตํต ๋ชฉ์ ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด๊ณ ํ์ฅ์ฑ์ ํฅ์์ํค๋ ๊ฒ์ ๋๋ค.
-๋ฉํฐ ์ค๋ ๋์ ๋จ์ ?
-> ๋จ์ผ ์ค๋ ๋ ํ๋ก๊ทธ๋จ๋ณด๋ค ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ์ ์ง๊ด๋ฆฌ๊ฐ ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋์์ ์คํ๋ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฌธ์ ๊ฐ ๊ทธ ์์ ๋๋ค. ๋๋ฒ๊น ์์๋ ์์ธ์ด ๋ฐ์ํ ์์น๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
๋ฉํฐ ์ค๋ ๋ ๊ด๋ฆฌ ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์๋๊ฐ ๋๋ ค์ง ์ ์์ต๋๋ค. ์ค๋ ๋ ์์ฑ, ์ ํ, ๊ณต์ ์์์ ๋ํ ์์ธ์ค ๋๊ธฐํ ๋น์ฉ ๋ฑ์ด ์ค๋ฒํค๋์ ํฌํจ๋ฉ๋๋ค.
-๋ฉํฐ ์ค๋ ๋ ๊ณต์ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด
->
-๋์์ฑ๊ณผ ๋จ์ํ ์คํธ๋ฅผ ์ฐ๊ฒฐ์์ผ์ ์ค๋ช ํด๋ณด์ธ์
-> ๋์์ฑ์ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์์ ๋๋ ํ๋ก์ธ์ค๋ฅผ ๋์์ ์คํํ๋ ๊ธฐ๋ฅ์ ๋งํฉ๋๋ค. ๋์์ฑ ๊ธฐ๋ฅ์ด ์คํ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๊ทธ ์์ธ์ ์ฐพ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๊ทธ์ ๋๋นํด ๋จ์ ํ ์คํธ๋ฅผ ๋ช ํํ๊ฒ ์ค๊ณํ๊ณ ๊ตฌํํ ์ ์๋ค๋ฉด ๋ฒ๊ทธ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์์ด ๋์์ฑ์ ์คํํ๋ ๋ฐ ํ๋ก๊ทธ๋จ์ ๋ ์์ ์ ์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค.
-ํ๋ก์ ํธ์์ ๋คํธ์ํฌ ์ ๋ขฐ์ฑ์ ์ํด ํ ์ผ
->
-์คํ๋ง ๊ธฐ์ ์์ ์๊ฐ๋ณต์ก๋, ๊ณต๊ฐ๋ณต์ก๋๋ฅผ ๋ฎ์ถ๋ ค๊ณ ์ง์ํ๋ ๊ฒ
-> ์๊ฐ ๋ณต์ก์ฑ์ ์ค์ด๊ธฐ ์ํด ์คํ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ๋๋ ์น ์๋น์ค ํธ์ถ๊ณผ ๊ฐ์ด ๋ฆฌ์์ค ์๋น๊ฐ ํฐ ์์ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํ ์ ์๋ ์บ์ฑ ์ถ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. @Async ์ด๋ ธํ ์ด์ ์ ํ์ฉํฉ๋๋ค. ๊ณต๊ฐ ๋ณต์ก์ฑ์ ์ค์ด๊ธฐ ์ํด ์คํ๋ง์์๋ ์์กด์ฑ ์ฃผ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ถํ์ํ ๊ฐ์ฒด ์์ฑ์ ๋ง๊ณ ์ฝ๋์ ์ฌ์ฌ์ฉ์ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ ๊ฐํ ์ ์์ต๋๋ค.
-์คํฐํ ์์ ์ํ์ ์ฐจ
-> ์ค๊ฐ ์๋ฒ๋ฅผ ํตํด ํด๋ผ์ด์ธํธ ๊ฐ ๋น๋๊ธฐ์ ๋ฉ์ธ์ง ํต์ ํ๋กํ ์ฝ์ ๋๋ค. ์ฌ์ฉ์ 1์ด ๋ฉ์ธ์ง๋ฅผ ์์ฑํด ์ ์ก ์์ฒญ์ ๋ณด๋ด๋ฉด ์คํฐํ ํ ํ๋ฆฟ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํ์ฉํด ํ ์คํธ๊ฐ ํฌํจ๋ ๋ฉ์ธ์ง๊ฐ ์ ์ก๋ฉ๋๋ค. ์ดํ ์ ์ก๋ ๋ฉ์ธ์ง๋ @MessageMapping ์ด๋ ธํ ์ด์ ์ ๋ถ์ธ ๋ฉ์ธ์ง ํธ๋ค ๋ฉ์๋์์ ์์ ํ์ฌ ์ฌ์ฉ์ 2๊ฐ ๋ณผ ์ ์๋๋ก ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค.
-์ํ ๊ฒ์์ ํ๋ฉด ์ผ์ด๋๋ ์ผ
->
-์ธ๋ฑ์ค ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ด๋ค ๋ถ๋ด์ด ๊ฐ๊น?
->
-์ฒ๋ง๊ฐ์ ์ฟผ๋ฆฌ์ ์ฒ๋ง๊ฐ์ ์์ฒญ์ ๊ฐ์๊น? ๊ฐ๋ค๋ฉด ์ด์ ๋?
->
๊ฐ๋ ๊ณผ ์ค๋ฌด ๊ฒฝํ์ ์ฐ๊ด์ง๊ธฐ
์์ฃผ ์ผ์ด๋ ์ ์๋ ์ํฉ(๋ฉด์ ์์๋ ๋ฌผ์ด๋ณด๊ธฐ ์ฌ์ด)์ ์ง์คํ๊ธฐ
์ค๋ฌด ์ ๊ด์ ์ธ ๊ฐ์ง ์ ๋ ํ๊ธฐ : ์ ์ง๋ณด์์ฑ, ์ ๋ขฐ์ฑ, ํ์ฅ์ฑ
1) ์ ์ง๋ณด์์ฑ์ ์ฌ๋ก :
2) ์ ๋ขฐ์ฑ :
3) ํ์ฅ์ฑ :
์ฝ์ด๋ณด๊ธฐ
https://yozm.wishket.com/magazine/detail/1956/
์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ์์ฒญ ์ฌ์ด TCP/IP 4๊ณ์ธต ์ด์ผ๊ธฐ | ์์ฆIT
์ด๋ฒ ๊ธ์์๋ ์ด์ ๊ธ “ํ๋ฐฐ ๋ฐฐ์ก ๊ณผ์ ์ผ๋ก ์์๋ณด๋ ์์ฒญ ์ฌ์ด ์ปดํจํฐ ๋คํธ์ํฌ”๋ฅผ ์ปดํจํฐ์์ ์ผ์ด๋๋ ์ผ๋ก ๊ฐ์ ธ์ ์ค๋ช ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ด์ ๊ธ์์ ์ ๋ ๋ฐ์ดํฐ๊ฐ 4๋จ๊ณ์ ๊ฑธ์ณ
yozm.wishket.com
[CS ๊ธฐ์ด - ์ด์์ฒด์ ] ์ธ๋งํฌ์ด(Semaphore), ๋ฎคํ ์ค(Mutex), ์คํ๋ฝ(Spin lock)
์ธ๋งํฌ์ด, ๋ฎคํ ์ค, ์คํ๋ฝ์ ๊ฐ๋
velog.io
https://blog.outsider.ne.kr/1094
[Spring ๋ ํผ๋ฐ์ค] 28์ฅ ์บ์ ์ถ์ํ :: Outsider's Dev Story
์ด ๋ฌธ์๋ ๊ฐ์ธ์ ์ธ ๋ชฉ์ ์ด๋ ๋ฐฐํฌํ๊ธฐ ์ํด์ ๋ณต์ฌํ ์ ์๋ค. ์ถ๋ ฅ๋ฌผ์ด๋ ๋์งํธ ๋ฌธ์๋ ๊ฐ ๋ณต์ฌ๋ณธ์ ์ด๋ค ๋น์ฉ๋ ์ฒญ๊ตฌํ ์ ์๊ณ ๋ชจ๋ ๋ณต์ฌ๋ณธ์๋ ์ด ์นดํผ๋ผ์ดํธ ๋ฌธ๊ตฌ๊ฐ ์์ด์ผ ํ๋ค. ## 28.
blog.outsider.ne.kr
[Spring] @Async Annotation(๋น๋๊ธฐ ๋ฉ์๋ ์ฌ์ฉํ๊ธฐ)
java.util.concurrent.ExecutorService์ ํ์ฉํด์ ๋น๋๊ธฐ ๋ฐฉ์์ method๋ฅผ ์ ์ ํ ๋๋ง๋ค, ์์ ๊ฐ์ด Runnable์ run()์ ์ฌ๊ตฌํํด์ผ ํ๋ ๋ฑ ๋์ผํ ์์ ๋ค์ ๋ฐ๋ณต์ด ์ฆ์๋ค. With @Async @Async Annotati
velog.io
'TIL, WIL > TIL๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
04. 05 TIL (0) | 2023.04.05 |
---|---|
04. 04 TIL (0) | 2023.04.04 |
03. 31 TIL (0) | 2023.03.31 |
03. 30 TIL (0) | 2023.03.30 |
03. 29 TIL (0) | 2023.03.29 |