์ด๊ฒ์ graphql-redis-subscriptions๋ผ๋ ์ด๋ฆ์ Windows ์ฑ์ด๋ฉฐ ์ต์ ๋ฆด๋ฆฌ์ค๋ Updatetoioredis5.x,removeiterealldepedencyandpotentialperformanceincrease.zip์ผ๋ก ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ํฌ์คํ ์ด์ ์ฉ ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์ธ OnWorks์์ ์จ๋ผ์ธ์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
OnWorks์ ํจ๊ป graphql-redis-subscriptions๋ผ๋ ์ด ์ฑ์ ๋ฌด๋ฃ๋ก ๋ค์ด๋ก๋ํ์ฌ ์จ๋ผ์ธ์์ ์คํํ์ญ์์ค.
์ด ์ฑ์ ์คํํ๋ ค๋ฉด ๋ค์ ์ง์นจ์ ๋ฐ๋ฅด์ธ์.
- 1. ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ PC์ ๋ค์ด๋ก๋ํ์ต๋๋ค.
- 2. ํ์ผ ๊ด๋ฆฌ์ https://www.onworks.net/myfiles.php?username=XXXXX์ ์ํ๋ ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- 3. ์ด๋ฌํ ํ์ผ ๊ด๋ฆฌ์์์ ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ๋ก๋ํฉ๋๋ค.
- 4. ์ด ์น์ฌ์ดํธ์์ ๋ชจ๋ OS OnWorks ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํ์ง๋ง ๋ ๋์ Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํฉ๋๋ค.
- 5. ๋ฐฉ๊ธ ์์ํ OnWorks Windows OS์์ ์ํ๋ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ํ์ผ ๊ด๋ฆฌ์ https://www.onworks.net/myfiles.php?username=XXXXX๋ก ์ด๋ํฉ๋๋ค.
- 6. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํฉ๋๋ค.
- 7. Linux ๋ฐฐํฌ ์ํํธ์จ์ด ์ ์ฅ์์์ Wine์ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ค์น๊ฐ ์๋ฃ๋๋ฉด ์ฑ์ ๋ ๋ฒ ํด๋ฆญํ์ฌ Wine๊ณผ ํจ๊ป ์คํํ ์ ์์ต๋๋ค. ์ธ๊ธฐ ์๋ Windows ํ๋ก๊ทธ๋จ ๋ฐ ๊ฒ์์ ์ค์นํ๋ ๋ฐ ๋์์ด ๋๋ Wine์ ํตํ ๋ฉ์ง ์ธํฐํ์ด์ค์ธ PlayOnLinux๋ฅผ ์ฌ์ฉํด ๋ณผ ์๋ ์์ต๋๋ค.
Wine์ Linux์์ Windows ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ด์ง๋ง Windows๊ฐ ํ์ํ์ง ์์ต๋๋ค. Wine์ ๋ชจ๋ Linux ๋ฐ์คํฌํ์์ ์ง์ Windows ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ ์คํ ์์ค Windows ํธํ์ฑ ๊ณ์ธต์ ๋๋ค. ๋ณธ์ง์ ์ผ๋ก Wine์ Windows๊ฐ ํ์ํ์ง ์๊ณ ๋ชจ๋ Windows ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋๋ก Windows๋ฅผ ์ฒ์๋ถํฐ ์ถฉ๋ถํ ๋ค์ ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค.
์คํฌ๋ฆฐ ์ท
Ad
graphql-redis-๊ตฌ๋
๊ธฐ์
์ด ํจํค์ง๋ graphql-subscriptions ํจํค์ง์ PubSubEngine ์ธํฐํ์ด์ค์ ์๋ก์ด AsyncIterator ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ตฌ๋ ๊ด๋ฆฌ์๋ฅผ Redis Pub Sub ๋ฉ์ปค๋์ฆ์ ์ฐ๊ฒฐํ์ฌ ์ฌ๋ฌ ๊ตฌ๋ ๊ด๋ฆฌ์ ์ธ์คํด์ค๋ฅผ ์ง์ํ ์ ์์ต๋๋ค. graphql-subscriptions ํจํค์ง๊ฐ ํผ์ด ์ข ์์ฑ์ผ๋ก ์ ์ธ๋์์ผ๋ฏ๋ก ๋ค๋ฅธ ํจํค์ง ์ค ํ๋์์ ์ด๋ฏธ ์ค์นํ์ง ์์ ๊ฒฝ์ฐ ์ถฉ์กฑ๋์ง ์์ ํผ์ด ์ข ์์ฑ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค. RedisPubSub ์ธ์คํด์ค์ asyncIterator ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด ์ ๊ณต๋ ์ฃผ์ ์ ๋ํ redis SUBSCRIBE ๋ฉ์์ง๊ฐ ์ ์ก๋๊ณ RedisPubSub ์ธ์คํด์ค์ ๋ฐ์ธ๋ฉ๋ AsyncIterator๊ฐ ๋ฐํ๋๋ฉฐ ํด๋น ์ฃผ์ ์ ๊ฒ์๋ ๋ชจ๋ ์ด๋ฒคํธ๋ฅผ ์์ ๋๊ธฐํฉ๋๋ค. ์ด์ GraphQL ์์ง์ somethingChanged๊ฐ ๊ตฌ๋ ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ ์ด ์ฃผ์ ์ ๋ํด pubsub.publish๋ฅผ ์ฌ์ฉํ ๋๋ง๋ค RedisPubSub๋ redis๋ฅผ ํตํด ๋ค๋ฅธ ๋ชจ๋ ๊ตฌ๋ ์ธ์คํด์ค์ ์ด๋ฒคํธ๋ฅผ ๊ฒ์ํ๊ณ ์ฐจ๋ก๋๋ก ๋ค์์ ์ฌ์ฉํ์ฌ GraphQL์ ์ด๋ฒคํธ๋ฅผ ๋ด๋ณด๋ ๋๋ค. ๋ค์ ์ฝ๋ฐฑ.
๊ธฐ๋ฅ
- ๊ตฌ๋ ์ ํ์ผ๋ก GraphQL ์คํค๋ง ์ ์
- ํ์ํ ์ด๋ฒคํธ๋ฅผ ๋งคํํ๊ธฐ ์ํด pubsub.asyncIterator๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ๋ ์ ํ ํด์๊ธฐ๋ฅผ ๊ตฌํํฉ๋๋ค.
- ๊ตฌ๋ ์ ํจํด ์ฌ์ฉ
- ์ธ์์ ํ์ด๋ก๋๋ฅผ ๋ชจ๋ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ ํํฐ๋ง
- ์ฟผ๋ฆฌ์ ์ ๋ฌ๋ ๊ตฌ๋ ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ ์ผ๋ก ์ฃผ์ ์์ฑ
- RedisPubSub ๊ตฌ์ฑ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ ํ ์คํฌ๋ฆฝํธ
์นดํ ๊ณ ๋ฆฌ
์ด๊ฒ์ https://sourceforge.net/projects/graphql-redis-sub.mirror/์์๋ ๊ฐ์ ธ์ฌ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๋ฌด๋ฃ ์ด์ ์ฒด์ ์ค ํ๋์์ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ์จ๋ผ์ธ์ผ๋ก ์คํํ๊ธฐ ์ํด OnWorks์์ ํธ์คํ ๋์์ต๋๋ค.