๐ MemCloud ์๊ฐ โ LAN์์ ์ฌ์ฉ๋์ง ์์ RAM์ ๋จธ์ ๊ฐ์ ํ๋ง (Rust, Zero-Config)
Source: Dev.to
์๊ฐ
์๋
ํ์ธ์ DEV ์ปค๋ฎค๋ํฐ! ๐
์ฌ์ด๋ ํ๋ก์ ํธ๋ก ์์ํ์ง๋ง, ์๊ฐ๋ณด๋ค ์ ์ฉํ๊ณ ์ฌ๋ฏธ์์ผ๋ฉฐ Rust์ค๋ฝ๊ฒ ๋ง๋ ๊ฒ์ด ์์ต๋๋ค.
MemCloud๋ LAN์ ์๋ ์ฌ๋ฌ ๋จธ์ ์ RAM์ ํ๋์ ์ผ์์ ์ธ โ๋ฉ๋ชจ๋ฆฌ ํด๋ผ์ฐ๋โ๋ก ํ๋งํด ์ฃผ๋ ๋ถ์ฐ ์ธโ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์คํ ์ด์ ๋๋ค.
์ฌ์ฉ ์ฌ๋ก: Mac, Linux ๋จธ์ , ๊ทธ๋ฆฌ๊ณ ์ฌ๋ถ์ ๋ฏธ๋โPC๊ฐ ์๋์? MemCloud๊ฐ ์๋์ผ๋ก ํ๋์ ํฐ RAM ์บ์๋ก ๋ง๋ค์ด ์ค๋๋ค.
์ ๋ ์ข ์ข ML ์คํ, ๊ฐ๋ฐ ์๋ฒ, ๋ก๊ทธ ํ๋ก์ธ์๋ฅผ ์คํํ๋ฉด์ ํ ๋จธ์ ์ RAM์ด ๋ถ์กฑํ๊ณ ์์ ์๋ ๋ค๋ฅธ ๋จธ์ ์ ํ๊ฐํ๊ฒ ๋๊ณ ์๋ ์ํฉ์ ๊ฒช์ต๋๋ค. ๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ ํ์ํ์ต๋๋ค:
- ์คํ๋ผ์ธ์์๋ ๋์
- ๋ก์ปฌ์์ ์คํ
- ์ค์ ์ด ์ ํ ํ์ ์์
- ํผ์ด๋ฅผ ์๋์ผ๋ก ๋ฐ๊ฒฌ
- ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ฅ์น ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ/๋ก๋ ๊ฐ๋ฅ
๊ทธ๋์ ์ ๋ MemCloud๋ฅผ ๋ง๋ค์์ต๋๋ค. ์์ Rust ๋ฐ๋ชฌ + CLI + SDK ๋ก ๊ตฌ์ฑ๋ ์ด ๋๊ตฌ๋ LAN ์์์ ํผ์ดโํฌโํผ์ด RAM ๋ฉ์ฌ๋ฅผ ํ์ฑํฉ๋๋ค. ๋ชจ๋ memnode๊ฐ ์์ ์ RAM์ ํด๋ฌ์คํฐ์ ๊ธฐ์ฌํฉ๋๋ค. MachineโฏA์์์ ์ฐ๊ธฐ๋ MachineโฏB์์ 10โฏms ์ดํ๋ก ์ฝ์ ์ ์์ต๋๋ค. ๋ฐ๋ชฌ๋ง ์คํํ๋ฉด ํผ์ด๊ฐ ์๋์ผ๋ก ์๋ก๋ฅผ ๋ฐ๊ฒฌํฉ๋๋ค. IP๋, ํฌํธ๋, YAML ํ์ผ๋, Kubernetes๋ ํ์ ์์ต๋๋ค. ํด๋ผ์ฐ๋๋, ๊ณ์ ๋, ์ค์ ์๋ฒ๋ ์์ต๋๋ค.
memcli๋ก ํฐ๋ฏธ๋ ์ํฌํ๋ก์ฐ ์ง์- Rust SDK ๋ก ์์คํ ์์ ์ง์
- TypeScript SDK ๋ก JS/Node ๊ฐ๋ฐ์ ์ง์
์คํ ๋ฆฌ์ง ๋ชจ๋
๋ธ๋ก ์คํ ์ด
์์ ๋ฐ์ดํธ ๋ฐ ์คํธ๋ฆผ.
ํคโ๊ฐ ์คํ ์ด
Redisโstyle set / get.
์ํคํ ์ฒ
์ํคํ
์ฒ ๋ค์ด์ด๊ทธ๋จ์ ์ฌ๊ธฐ์ ๋ณผ ์ ์์ต๋๋ค:
โก๏ธ
- ๊ฐ ๋
ธ๋๋ ์์ ๋ฐ๋ชฌ (
memnode)์ ์คํํฉ๋๋ค. - SDK์ CLI๋ ๋ก์ปฌ ๋ฐ๋ชฌ๊ณผ๋ง ํต์ ํฉ๋๋ค.
- ๋ฐ๋ชฌ์ ํผ์ด ๊ฐ ๋ผ์ฐํ ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๋น ๋ฅธ ์ค์น (macOS ๋ฐ Linux)
# Install via script
curl -fsSL https://raw.githubusercontent.com/vibhanshu2001/memcloud/main/install.sh | sh
# Build from source
git clone https://github.com/vibhanshu2001/memcloud.git
cd memcloud
cargo build --release
๋งํฌ
- GitHub:
- Docs:
- NPM package:
ํผ๋๋ฐฑ
๋ค์์ ๋ํ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์ถ์ต๋๋ค:
- ์ฑ๋ฅ ์์ด๋์ด
- ๋คํธ์ํน ๊ฐ์
- ๋ฉ๋ชจ๋ฆฌ/์ ๊ฑฐ ์ ๋ต
- ์ค์ ์ฌ์ฉ ์ฌ๋ก
์ฝ์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
โ Vibhanshu