ืžืขืœื“ื•ื ื’ ืคื•ืŸ Dragonfly 1.0, ืึทืŸ ืื™ืŸ-ื–ื™ืงืึธืจืŸ ื“ืึทื˜ืŸ ืงืึทื˜ืฉื™ื ื’ ืกื™ืกื˜ืขื

ื“ื™ ื“ืจืึทื’ืึธื ืคืœื™ ืื™ืŸ-ื–ื™ืงืึธืจืŸ ืงืึทื˜ืฉื™ื ื’ ืื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื ืื™ื– ื‘ืืคืจื™ื™ื˜, ื•ื•ืึธืก ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฅ ื“ืึทื˜ืŸ ืื™ืŸ ืฉืœื™ืกืœ / ื•ื•ืขืจื˜ ืคึฟืึธืจืžืึทื˜ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ืึท ืœื™ื™ื˜ื•ื•ื™ื™ื˜ ืœื™ื™ื–ื•ื ื’ ืคึฟืึทืจ ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื ื’ ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ื”ืขื›ืกื˜ ืœืึธื•ื“ื™ื“ ื–ื™ื™ื˜ืœืขืš, ืงืึทื˜ืฉื™ื ื’ ืคึผืึทืžืขืœืขืš ืคึฟืจืื’ืŸ ืฆื• ื“ื™ DBMS ืื•ืŸ ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ื“ืึทื˜ืŸ ืื™ืŸ ื‘ืึทืจืึทืŸ. Dragonfly ืฉื˜ื™ืฆื˜ ื“ื™ Memcached ืื•ืŸ Redis ืคึผืจืึธื˜ืึธืงืึธืœืก, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ื•ืฆืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืœื™ืขื ื˜ ืœื™ื™ื‘ืจืขืจื™ื– ืื•ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคึผืจืึทื“ื–ืฉืขืงืก ืžื™ื˜ Memcached ืื•ืŸ Redis ืฆื• Dragonfly ืึธืŸ ืจื™ื•ื•ืขืจืงื™ื ื’ ื“ื™ ืงืึธื“.

ืงืึทืžืคึผืขืจื“ ืžื™ื˜ Redis, Dragonfly ืึทื˜ืฉื™ื•ื•ื“ ืึท 2-ืคืึทืจืœื™ื™ื’ืŸ ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ (6 ืžื™ืœื™ืึธืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข) ืคึฟืึทืจ ื˜ื™ืคึผื™ืฉ ื•ื•ืขืจืงืœืึธื•ื“ื– ืื™ืŸ ื“ืขืจ Amazon EC16 c25gn.3.8xlarge ืกื•ื•ื™ื•ื•ืข. ืงืึทืžืคึผืขืจื“ ืžื™ื˜ Memcached ืื™ืŸ ื“ื™ AWS c6gn.16xlarge ืกื•ื•ื™ื•ื•ืข, Dragonfly ืื™ื– ื‘ื™ื›ื•ืœืช ืฆื• ื“ื•ืจื›ืคื™ืจืŸ 4.7 ืžืืœ ืžืขืจ ืฉืจื™ื™ึทื‘ืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข (3.8 ืžื™ืœื™ืึธืŸ ืงืขื’ืŸ 806 ื˜ื•ื™ื–ื ื˜) ืื•ืŸ 1.77 ืžืืœ ืžืขืจ ืœื™ื™ืขื ืขืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข (3.7 ืžื™ืœื™ืึธืŸ ืงืขื’ืŸ 2.1 ืžื™ืœื™ืึธืŸ).

ืžืขืœื“ื•ื ื’ ืคื•ืŸ Dragonfly 1.0, ืึทืŸ ืื™ืŸ-ื–ื™ืงืึธืจืŸ ื“ืึทื˜ืŸ ืงืึทื˜ืฉื™ื ื’ ืกื™ืกื˜ืขื

ืื™ืŸ ื˜ืขืกืฅ ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ 5 ื’ื™ื’ืื‘ื™ื™ื˜ ืคื•ืŸ ื“ืึทื˜ืŸ, ื“ืจืึทื’ืึธื ืคืœื™ ืคืืจืœืื ื’ื˜ 30% ื•ื•ื™ื™ื ื™ืงืขืจ ื–ื›ึผืจื•ืŸ ื•ื•ื™ Redis. ื•ื•ืขืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื ืึทืคึผืฉืึทืฅ ืžื™ื˜ ื“ื™ "bgsave" ื‘ืึทืคึฟืขืœ, ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ื™ื ืงืจื™ืกื™ื–, ืึธื‘ืขืจ ืื™ืŸ ืฉืคึผื™ืฅ ืžืึธื•ืžืึทื ืฅ ืขืก ืื™ื– ืคืืจื‘ืœื™ื‘ืŸ ื›ึผืžืขื˜ ื“ืจื™ื™ ืžืึธืœ ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ืื™ืŸ Redis, ืื•ืŸ ื“ื™ ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืจืขืงืึธืจื“ื™ื ื’ ืึธืคึผืขืจืึทืฆื™ืข ื–ื™ืš ืื™ื– ืคื™ืœ ืคืึทืกื˜ืขืจ (ืื™ืŸ ื“ื™ ืคึผืจืึธื‘ืข, ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืื™ืŸ Dragonfly ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ 30 ืกืขืงื•ื ื“ืขืก, ื‘ืฉืขืช Redis - ืื™ืŸ 42 ืกืขืงื•ื ื“ืขืก).

ืžืขืœื“ื•ื ื’ ืคื•ืŸ Dragonfly 1.0, ืึทืŸ ืื™ืŸ-ื–ื™ืงืึธืจืŸ ื“ืึทื˜ืŸ ืงืึทื˜ืฉื™ื ื’ ืกื™ืกื˜ืขื

ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ืึทื˜ืฉื™ื•ื•ื“ ื“ืึทื ืง ืฆื• ืึท ืžื•ืœื˜ื™-ื˜ืจืขื“ืขื“ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืึธืŸ ื™ื™ึทื ื˜ื™ื™ืœื•ื ื’ ืจืขืกื•ืจืกืŸ (ืฉืขืจื“-ื’ืึธืจื ื™ืฉื˜), ื•ื•ืึธืก ืžื™ื˜ืœ ืึทื– ื™ืขื“ืขืจ ืคืึธื“ืขื ืื™ื– ืึทืกื™ื™ื ื“ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืจืึทืกืขืกืขืจ ืžื™ื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื˜ื™ื™ืœืŸ ืคื•ืŸ ื“ืึทื˜ืŸ, ืืจื‘ืขื˜ืŸ ืึธืŸ ืžื™ื•ื˜ืขืงืกื™ื– ืื•ืŸ ื•ืžื“ืจื™ื™ ืœืึทืงืก. ืฆื• ืขื ืฉื•ืจ ืึทื˜ืึธืžื™ืงื™ื™ื˜ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืงื™ื™ืคืœ ืฉืœื™ืกืœืขืŸ, ืœื™ื™ื˜ื•ื•ื™ื™ื˜ VLL ืœืึทืงืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜. ืฆื• ื™ืคื™ืฉืึทื ื˜ืœื™ ืงืจืึธื ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื™ืŸ ื–ื›ึผืจื•ืŸ, ื“ื™ ื“ืึทืฉื˜ืึทื‘ืœืข ืกื˜ืจื•ืงื˜ื•ืจ ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืึท ื˜ื™ืคึผ ืคื•ืŸ ืคึผืึทืจื˜ื™ืฉืึทื ื“ ื”ืึทืฉ ื˜ื™ืฉ.

ืขื˜ืœืขื›ืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ Dragonfly:

  • ืงืึทื˜ืฉื™ื ื’ ืžืึธื“ืข, ื•ื•ืึธืก ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืจื™ืคึผืœื™ื™ืกื™ื– ืึทืœื˜ ื“ืึทื˜ืŸ ืžื™ื˜ ื ื™ื™ึทืข ื“ืึทื˜ืŸ ื ืึธืš ื•ื™ืกื’ืขืžืึทื˜ืขืจื˜ ื–ื™ืงืึธืจืŸ.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื‘ื™ื™ื ื“ื™ื ื’ ืฆื• ื“ืึทื˜ืŸ ืึท ืœืขื‘ืŸ ื‘ืขืฉืึทืก ื•ื•ืึธืก ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื‘ืึทื˜ืจืึทื›ื˜ ื•ื•ื™ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืœืึทืฉื™ื ื’ ืกื˜ืึธืจื™ื“ื–ืฉ ืฉื˜ืึทื˜ ืฆื• ื“ื™ืกืง ืื™ืŸ ื“ืขืจ ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜ ืคึฟืึทืจ ืฉืคึผืขื˜ืขืจ ืึธืคึผื–ื•ืš ื ืึธืš ืจื™ืกื˜ืึทืจื˜.
  • ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ืึท ื”ื˜ื˜ืคึผ ืงืึทื ืกืึธื•ืœ (ื‘ื™ื ื“ื– ืฆื• TCP ืคึผืึธืจื˜ 6379) ืคึฟืึทืจ ืกื™ืกื˜ืขื ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืื•ืŸ ืึท API ืคึฟืึทืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืžืขื˜ืจื™ืง ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜ ืคึผืจืึธืžืขื˜ื”ืขื•ืก.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ 185 Redis ืงืึทืžืึทื ื“ื–, ื•ื•ืึธืก ืื™ื– ื‘ืขืขืจืขืš ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜ ืฆื• ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ื“ื™ Redis 5 ืžืขืœื“ื•ื ื’.
  • ืฉื˜ื™ืฆื˜ ืึทืœืข ืžืขืžืงืึทื˜ืฉืขื“ ืงืึทืžืึทื ื“ื– ืึทื—ื•ืฅ ืงืึทืก (ื˜ืฉืขืง-ืื•ืŸ-ืฉื˜ืขืœืŸ).
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื ืึทืคึผืฉืึทืฅ.
  • ืคึผืจื™ื“ื™ืงื˜ืึทื‘ืึทืœ ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ.
  • ื’ืขื‘ื•ื™ื˜-ืื™ืŸ Lua 5.4 ื™ื‘ืขืจื–ืขืฆืขืจ.
  • ืฉื˜ื™ืฆื˜ ืงืึธืžืคึผืœืขืงืก ื“ืึทื˜ืŸ ื˜ื™ื™ืคึผืก ืึทื–ืึท ื•ื•ื™ ื”ืึทืฉืขืก, ืฉื˜ืขืœื˜, ืจืฉื™ืžื•ืช (ZSET, HSET, LIST, SETS ืื•ืŸ STRING) ืื•ืŸ JSON ื“ืึทื˜ืŸ.
  • ืฉื˜ื™ืฆื˜ ืกื˜ืึธืจื™ื“ื–ืฉ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืฉื•ืœื“ ื˜ืึธืœืขืจืึทื ืฅ ืื•ืŸ ืžืึทืกืข ื‘ืึทืœืึทื ืกื™ื ื’.

ื“ื™ ื“ืจืึทื’ืึธื ืคืœื™ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C / C ++ ืื•ืŸ ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ BSL (ื‘ื™ื–ื ืขืก ืžืงื•ืจ ืœื™ืกืขื ืกืข). ื“ื™ BSL ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืื™ื– ื’ืขื•ื•ืขืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ื“ื•ืจืš ื“ื™ ืงืึธ-ื’ืจื™ื ื“ืขืจืก ืคื•ืŸ MySQL ื•ื•ื™ ืึทืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืฆื• ื“ื™ Open Core ืžืึธื“ืขืœ. ื“ื™ ืขืกืึทื ืก ืคื•ืŸ BSL ืื™ื– ืึทื– ื“ื™ ืงืึธื“ ืคื•ืŸ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื˜ื›ื™ืœืขืก ื‘ื ื™ืžืฆื ืคึฟืึทืจ ืžืึทื“ืึทืคืึทืงื™ื™ืฉืึทืŸ, ืึธื‘ืขืจ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืžืึธืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืคืจื™ื™ ื‘ืœื•ื™ื– ืื•ื™ื‘ ื ืึธืš ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ ื–ืขื ืขืŸ ื‘ืื’ืขื’ื ื˜, ื•ื•ืึธืก ื“ืึทืจืคืŸ ื“ื™ ืงื•ื™ืคืŸ ืคื•ืŸ ืึท ื’ืขืฉืขืคื˜ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืฆื• ืกืขืจืงืึทืžื•ื•ืขื ื˜. ื ืึธืš ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื˜ืขืจืžื™ื ืขืŸ ืคึฟืึทืจ ื“ื™ Dragonfly ืคึผืจื•ื™ืขืงื˜ ื“ืึทืจืคืŸ ื“ื™ ืงืึธื“ ืฆื• ื–ื™ื™ืŸ ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ื“ื™ Apache 2.0 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืื•ื™ืฃ 15 ืžืขืจืฅ 2028. ื‘ื™ื– ื“ืขื ืฆื™ื™ื˜, ื“ื™ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืึทืœืึทื•ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ืงืึธื“ ื‘ืœื•ื™ื– ืฆื• ืขื ืฉื•ืจ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื–ื™ื™ึทืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ืŸ ืคึผืจืึธื“ื•ืงื˜ืŸ, ืึธื‘ืขืจ ืคึผืจืึธื•ื›ื™ื‘ืึทืฅ ื ื•ืฆืŸ ืคึฟืึทืจ ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ื‘ืึทืฆืึธืœื˜ ื•ื•ืึธืœืงืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ื•ื•ืึธืก ืึทืงื˜ ื•ื•ื™ ืึทืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ืจืึทื’ืึธื ืคืœื™.

ื•ื•ืขืจืกื™ืข Dragonfly 1.0 ืื™ื– ื ืึธื•ื˜ืึทื‘ืึทืœ ืคึฟืึทืจ ื–ื™ื™ึทืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ืึทื˜ืŸ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืขืจืฉื˜ื™ืง ืกืขืจื•ื•ืขืจ ืฆื• ื“ื™ ืฆื•ื•ื™ื™ื˜ื™ืง ืกืขืจื•ื•ืขืจ. ืึธื‘ืขืจ, Dragonfly ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ืึท ืฆื•ื•ื™ื™ื˜ื™ืง ืกื˜ืึธืจื™ื“ื–ืฉ ื•ื•ืึธืก ื ืขืžื˜ ื“ืึทื˜ืŸ ืคื•ืŸ ืึท ืขืจืฉื˜ื™ืง ืกืขืจื•ื•ืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ Dragonfly ืึธื“ืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ Redis. ื“ื™ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืึทืคึผื™ ืื™ื– ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜ Redis ืื•ืŸ ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ROLE ืื•ืŸ REPLICAOF (SLAVEOF) ืงืึทืžืึทื ื“ื–.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’