ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ื”ื™ื™ ื”ื‘ืจ!

ืœืื•ืจ ืื™ืจื•ืขื™ ื”ืงื•ืจื•ื ื”, ืžืกืคืจ ืฉื™ืจื•ืชื™ ืื™ื ื˜ืจื ื˜ ื”ื—ืœื• ืœืงื‘ืœ ืขื•ืžืก ืžื•ื’ื‘ืจ. ืœื“ื•ื’ืžื”, ืื—ืช ืžืจืฉืชื•ืช ื”ืฉื™ื•ื•ืง ื‘ื‘ืจื™ื˜ื ื™ื” ืคืฉื•ื˜ ืขืฆืจื” ืืช ืืชืจ ื”ื”ื–ืžื ื•ืช ื”ืžืงื•ื•ืŸ ืฉืœื”., ื›ื™ ืœื ื”ื™ื™ืชื” ืžืกืคื™ืง ืงื™ื‘ื•ืœืช. ื•ืœื ืชืžื™ื“ ืืคืฉืจ ืœื”ืื™ืฅ ืฉืจืช ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืฆื™ื•ื“ ื—ื–ืง ื™ื•ืชืจ, ืื‘ืœ ื™ืฉ ืœืขื‘ื“ ื‘ืงืฉื•ืช ืœืงื•ื— (ืื• ืฉื”ืŸ ื™ืขื‘ืจื• ืœืžืชื—ืจื™ื).

ื‘ืžืืžืจ ื–ื” ืื“ื‘ืจ ื‘ืงืฆืจื” ืขืœ ืคืจืงื˜ื™ืงื•ืช ืคื•ืคื•ืœืจื™ื•ืช ืฉื™ืืคืฉืจื• ืœื›ื ืœื™ืฆื•ืจ ืฉื™ืจื•ืช ืžื”ื™ืจ ื•ืกื•ื‘ืœื ื™ ืœืชืงืœื•ืช. ืขื ื–ืืช, ืžืชื•ืš ืชื•ื›ื ื™ื•ืช ื”ืคื™ืชื•ื— ื”ืืคืฉืจื™ื•ืช, ื‘ื—ืจืชื™ ืจืง ืืช ืืœื• ืฉื ืžืฆืื•ืช ื›ืจื’ืข ืงืœ ืœืฉื™ืžื•ืฉ. ืขื‘ื•ืจ ื›ืœ ืคืจื™ื˜, ืื• ืฉื™ืฉ ืœืš ืกืคืจื™ื•ืช ืžื•ื›ื ื•ืช, ืื• ืฉื™ืฉ ืœืš ื”ื–ื“ืžื ื•ืช ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื‘ืืžืฆืขื•ืช ืคืœื˜ืคื•ืจืžืช ืขื ืŸ.

ืงื ื” ืžื™ื“ื” ืื•ืคืงื™

ื”ื ืงื•ื“ื” ื”ืคืฉื•ื˜ื” ื•ื”ื™ื“ื•ืขื” ื‘ื™ื•ืชืจ. ื‘ืื•ืคืŸ ืงื•ื ื‘ื ืฆื™ื•ื ืœื™, ืฉืชื™ ืขืจื›ื•ืช ื—ืœื•ืงืช ื”ืขื•ืžืก ื”ื ืคื•ืฆื•ืช ื‘ื™ื•ืชืจ ื”ืŸ ืงื ื” ืžื™ื“ื” ืื•ืคืงื™ ื•ืื ื›ื™. ื‘ืžืงืจื” ื”ืจืืฉื•ืŸ ืืชื” ืžืืคืฉืจ ืœืฉื™ืจื•ืชื™ื ืœืคืขื•ืœ ื‘ืžืงื‘ื™ืœ, ื•ื‘ื›ืš ืžื—ืœืง ืืช ื”ืขื•ืžืก ื‘ื™ื ื™ื”ื. ื‘ืฉื ื™ ืืชื” ืžื–ืžื™ืŸ ืฉืจืชื™ื ื—ื–ืงื™ื ื™ื•ืชืจ ืื• ืžื™ื™ืขืœ ืืช ื”ืงื•ื“.

ืœื“ื•ื’ืžื”, ืื ื™ ืืงื— ืื—ืกื•ืŸ ืงื‘ืฆื™ ืขื ืŸ ืžื•ืคืฉื˜, ื›ืœื•ืžืจ ืื ืœื•ื’ื™ ื›ืœืฉื”ื• ืฉืœ OwnCloud, OneDrive ื•ื›ืŸ ื”ืœืื”.

ืชืžื•ื ื” ืกื˜ื ื“ืจื˜ื™ืช ืฉืœ ืžืขื’ืœ ื›ื–ื” ื ืžืฆืืช ืœืžื˜ื”, ืื‘ืœ ื”ื™ื ืจืง ืžื“ื’ื™ืžื” ืืช ื”ืžื•ืจื›ื‘ื•ืช ืฉืœ ื”ืžืขืจื›ืช. ืื—ืจื™ ื”ื›ืœ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืื™ื›ืฉื”ื• ืœืกื ื›ืจืŸ ืืช ื”ืฉื™ืจื•ืชื™ื. ืžื” ืงื•ืจื” ืื ื”ืžืฉืชืžืฉ ืฉื•ืžืจ ืงื•ื‘ืฅ ืžื”ื˜ืื‘ืœื˜ ื•ืื– ืจื•ืฆื” ืœืฆืคื•ืช ื‘ื• ืžื”ื˜ืœืคื•ืŸ?

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื
ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื”ื’ื™ืฉื•ืช: ื‘ืงื ื” ืžื™ื“ื” ืื ื›ื™ ืื ื—ื ื• ืžื•ื›ื ื™ื ืœื”ื’ื“ื™ืœ ืืช ื›ื•ื—ื ืฉืœ ืฆืžืชื™ื, ื•ื‘ืงื ื” ืžื™ื“ื” ืื•ืคืงื™ ืื ื—ื ื• ืžื•ื›ื ื™ื ืœื”ื•ืกื™ืฃ ืฆืžืชื™ื ื—ื“ืฉื™ื ืœื—ืœื•ืงืช ื”ืขื•ืžืก.

CQRS

ื”ืคืจื“ืช ืื—ืจื™ื•ืช ืฉืื™ืœืชืช ืคืงื•ื“ื” ื“ืคื•ืก ื—ืฉื•ื‘ ืœืžื“ื™, ืฉื›ืŸ ื”ื•ื ืžืืคืฉืจ ืœืœืงื•ื—ื•ืช ืฉื•ื ื™ื ืœื ืจืง ืœื”ืชื—ื‘ืจ ืœืฉื™ืจื•ืชื™ื ืฉื•ื ื™ื, ืืœื ื’ื ืœืงื‘ืœ ืืช ืื•ืชื ื–ืจืžื™ื ืฉืœ ืื™ืจื•ืขื™ื. ื”ื™ืชืจื•ื ื•ืช ืฉืœื• ืœื ื›ืœ ื›ืš ื‘ืจื•ืจื™ื ืขื‘ื•ืจ ื™ื™ืฉื•ื ืคืฉื•ื˜, ืื‘ืœ ื”ื•ื ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ (ื•ืคืฉื•ื˜) ืขื‘ื•ืจ ืฉื™ืจื•ืช ืขืžื•ืก. ื”ืžื”ื•ืช ืฉืœื•: ื–ืจื™ืžื•ืช ื ืชื•ื ื™ื ื ื›ื ืกื•ืช ื•ื™ื•ืฆืื•ืช ืœื ืืžื•ืจื•ืช ืœื”ืฆื˜ืœื‘. ื›ืœื•ืžืจ, ืœื ื ื™ืชืŸ ืœืฉืœื•ื— ื‘ืงืฉื” ื•ืœืฆืคื•ืช ืœืชื’ื•ื‘ื”, ื‘ืžืงื•ื ื–ืืช, ืืชื” ืฉื•ืœื— ื‘ืงืฉื” ืœืฉื™ืจื•ืช ื', ืืš ืžืงื‘ืœ ืžืขื ื” ืžืฉื™ืจื•ืช ื‘'.

ื”ื‘ื•ื ื•ืก ื”ืจืืฉื•ืŸ ืฉืœ ื’ื™ืฉื” ื–ื• ื”ื•ื ื”ื™ื›ื•ืœืช ืœื ืชืง ืืช ื”ืงืฉืจ (ื‘ืžื•ื‘ืŸ ื”ืจื—ื‘ ืฉืœ ื”ืžื™ืœื”) ืชื•ืš ื‘ื™ืฆื•ืข ื‘ืงืฉื” ืืจื•ื›ื”. ืœื“ื•ื’ืžื”, ื ื™ืงื— ืจืฆืฃ ืกื˜ื ื“ืจื˜ื™ ืคื—ื•ืช ืื• ื™ื•ืชืจ:

  1. ื”ืœืงื•ื— ืฉืœื— ื‘ืงืฉื” ืœืฉืจืช.
  2. ื”ืฉืจืช ื”ืชื—ื™ืœ ื–ืžืŸ ืขื™ื‘ื•ื“ ืืจื•ืš.
  3. ื”ืฉืจืช ื”ื’ื™ื‘ ืœืœืงื•ื— ืขื ื”ืชื•ืฆืื”.

ื‘ื•ืื• ื ื“ืžื™ื™ืŸ ืฉื‘ื ืงื•ื“ื” 2 ื”ื—ื™ื‘ื•ืจ ื ืฉื‘ืจ (ืื• ืฉื”ืจืฉืช ื”ืชื—ื‘ืจื” ืžื—ื“ืฉ, ืื• ืฉื”ืžืฉืชืžืฉ ื”ืœืš ืœื“ืฃ ืื—ืจ, ื ื™ืชืง ืืช ื”ื—ื™ื‘ื•ืจ). ื‘ืžืงืจื” ื–ื”, ื™ื”ื™ื” ืงืฉื” ืœืฉืจืช ืœืฉืœื•ื— ืชื’ื•ื‘ื” ืœืžืฉืชืžืฉ ืขื ืžื™ื“ืข ืขืœ ืžื” ื‘ื“ื™ื•ืง ืขื•ื‘ื“. ื‘ืืžืฆืขื•ืช CQRS, ื”ืจืฆืฃ ื™ื”ื™ื” ืžืขื˜ ืฉื•ื ื”:

  1. ื”ืœืงื•ื— ื ืจืฉื ืœืขื“ื›ื•ื ื™ื.
  2. ื”ืœืงื•ื— ืฉืœื— ื‘ืงืฉื” ืœืฉืจืช.
  3. ื”ืฉืจืช ื”ื’ื™ื‘ "ื”ื‘ืงืฉื” ื”ืชืงื‘ืœื”".
  4. ื”ืฉืจืช ื”ื’ื™ื‘ ืขื ื”ืชื•ืฆืื” ื“ืจืš ื”ืขืจื•ืฅ ืžื ืงื•ื“ื” "1".

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื”ืชื•ื›ื ื™ืช ืงืฆืช ื™ื•ืชืจ ืžื•ืจื›ื‘ืช. ื™ืชืจื” ืžื›ืš, ื”ื’ื™ืฉื” ื”ืื™ื ื˜ื•ืื™ื˜ื™ื‘ื™ืช ืœื‘ืงืฉื”-ืชื’ื•ื‘ื” ื—ืกืจื” ื›ืืŸ. ืขื ื–ืืช, ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื”ืคืกืงืช ื—ื™ื‘ื•ืจ ื‘ื–ืžืŸ ืขื™ื‘ื•ื“ ื‘ืงืฉื” ืœื ืชื•ื‘ื™ืœ ืœืฉื’ื™ืื”. ื™ืชืจื” ืžื›ืš, ืื ืœืžืขืฉื” ื”ืžืฉืชืžืฉ ืžื—ื•ื‘ืจ ืœืฉื™ืจื•ืช ืžืžืกืคืจ ืžื›ืฉื™ืจื™ื (ืœืžืฉืœ ืžื˜ืœืคื•ืŸ ื ื™ื™ื“ ื•ืžื˜ืื‘ืœื˜), ื ื™ืชืŸ ืœื•ื•ื“ื ืฉื”ืชื’ื•ื‘ื” ืžื’ื™ืขื” ืœืฉื ื™ ื”ืžื›ืฉื™ืจื™ื.

ืžืขื ื™ื™ืŸ ืฉื”ืงื•ื“ ืœืขื™ื‘ื•ื“ ื”ื•ื“ืขื•ืช ื ื›ื ืกื•ืช ื”ื•ืคืš ืœื”ื™ื•ืช ื–ื”ื” (ืœื 100%) ื”ืŸ ืขื‘ื•ืจ ืื™ืจื•ืขื™ื ืฉื”ื•ืฉืคืขื• ืžื”ืœืงื•ื— ืขืฆืžื•, ื•ื”ืŸ ืขื‘ื•ืจ ืื™ืจื•ืขื™ื ืื—ืจื™ื, ื›ื•ืœืœ ื›ืืœื” ืฉืœ ืœืงื•ื—ื•ืช ืื—ืจื™ื.

ืขื ื–ืืช, ื‘ืžืฆื™ืื•ืช ืื ื• ืžืงื‘ืœื™ื ื‘ื•ื ื•ืก ื ื•ืกืฃ ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉื ื™ืชืŸ ืœื˜ืคืœ ื‘ื–ืจื™ืžื” ื—ื“ ื›ื™ื•ื•ื ื™ืช ื‘ืกื’ื ื•ืŸ ืคื•ื ืงืฆื™ื•ื ืœื™ (ื‘ืืžืฆืขื•ืช RX ื•ื›ื“ื•ืžื”). ื•ื–ื” ื›ื‘ืจ ื™ืชืจื•ืŸ ืจืฆื™ื ื™, ืžื›ื™ื•ื•ืŸ ืฉื‘ืขืฆื ื ื™ืชืŸ ืœื”ืคื•ืš ืืช ื”ื™ื™ืฉื•ื ืœืชื’ื•ื‘ืชื™ ืœื—ืœื•ื˜ื™ืŸ, ื•ื’ื ื‘ืืžืฆืขื•ืช ื’ื™ืฉื” ืคื•ื ืงืฆื™ื•ื ืœื™ืช. ืขื‘ื•ืจ ืชื•ื›ื ื™ื•ืช ืฉื•ืžืŸ, ื–ื” ื™ื›ื•ืœ ืœื—ืกื•ืš ืžืฉืžืขื•ืชื™ืช ื‘ืžืฉืื‘ื™ ืคื™ืชื•ื— ื•ืชืžื™ื›ื”.

ืื ื ืฉืœื‘ ืืช ื”ื’ื™ืฉื” ื”ื–ื• ืขื ืงื ื” ืžื™ื“ื” ืื•ืคืงื™, ืื– ื›ื‘ื•ื ื•ืก ื ืงื‘ืœ ืืช ื”ื™ื›ื•ืœืช ืœืฉืœื•ื— ื‘ืงืฉื•ืช ืœืฉืจืช ืื—ื“ ื•ืœืงื‘ืœ ืชื’ื•ื‘ื•ืช ืžืฉืจืช ืื—ืจ. ื›ืš ื”ืœืงื•ื— ื™ื›ื•ืœ ืœื‘ื—ื•ืจ ืืช ื”ืฉื™ืจื•ืช ื”ื ื•ื— ืœื•, ื•ื”ืžืขืจื›ืช ื‘ืคื ื™ื ืขื“ื™ื™ืŸ ืชื•ื›ืœ ืœืขื‘ื“ ื ื›ื•ืŸ ืื™ืจื•ืขื™ื.

ืžืงื•ืจื•ืช ืื™ืจื•ืขื™ื

ื›ืคื™ ืฉืืชื” ื™ื•ื“ืข, ืื—ื“ ื”ืžืืคื™ื™ื ื™ื ื”ืขื™ืงืจื™ื™ื ืฉืœ ืžืขืจื›ืช ืžื‘ื•ื–ืจืช ื”ื•ื ื”ื™ืขื“ืจ ื–ืžืŸ ืžืฉื•ืชืฃ, ืงื˜ืข ืงืจื™ื˜ื™ ืžืฉื•ืชืฃ. ืขื‘ื•ืจ ืชื”ืœื™ืš ืื—ื“, ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืกื ื›ืจื•ืŸ (ืขืœ ืื•ืชื mutexes), ืฉื‘ืชื•ื›ื• ืืชื” ื‘ื˜ื•ื— ืฉืืฃ ืื—ื“ ืื—ืจ ืœื ืžื‘ืฆืข ืืช ื”ืงื•ื“ ื”ื–ื”. ืขื ื–ืืช, ื–ื” ืžืกื•ื›ืŸ ืขื‘ื•ืจ ืžืขืจื›ืช ืžื‘ื•ื–ืจืช, ืฉื›ืŸ ื–ื” ื™ื“ืจื•ืฉ ืชืงื•ืจื”, ื•ื’ื ื™ื”ืจื•ื’ ืืช ื›ืœ ื”ื™ื•ืคื™ ืฉืœ ืงื ื” ืžื™ื“ื” - ื›ืœ ื”ืจื›ื™ื‘ื™ื ืขื“ื™ื™ืŸ ื™ืžืชื™ื ื• ืœืื—ื“.

ืžื›ืืŸ ืื ื• ืžืงื‘ืœื™ื ืขื•ื‘ื“ื” ื—ืฉื•ื‘ื” - ืœื ื ื™ืชืŸ ืœืกื ื›ืจืŸ ืžืขืจื›ืช ืžื‘ื•ื–ืจืช ืžื”ื™ืจื”, ื›ื™ ืื– ื ืคื—ื™ืช ืืช ื”ื‘ื™ืฆื•ืขื™ื. ืžืฆื“ ืฉื ื™, ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืื ื• ื–ืงื•ืงื™ื ืœืขืงื‘ื™ื•ืช ืžืกื•ื™ืžืช ื‘ื™ืŸ ืจื›ื™ื‘ื™ื. ื•ื‘ืฉื‘ื™ืœ ื–ื” ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื’ื™ืฉื” ืขื ืขืงื‘ื™ื•ืช ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ืฉื‘ื• ืžื•ื‘ื˜ื— ืฉืื ืœื ื™ื”ื™ื• ืฉื™ื ื•ื™ื™ื ื‘ื ืชื•ื ื™ื ื‘ืžืฉืš ืชืงื•ืคื” ืžืกื•ื™ืžืช ืœืื—ืจ ื”ืขื“ื›ื•ืŸ ื”ืื—ืจื•ืŸ ("ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ"), ื›ืœ ื”ืฉืื™ืœืชื•ืช ื™ื—ื–ื™ืจื• ืืช ื”ืขืจืš ื”ืžืขื•ื“ื›ืŸ ื”ืื—ืจื•ืŸ.

ื—ืฉื•ื‘ ืœื”ื‘ื™ืŸ ื›ื™ ืขื‘ื•ืจ ืžืกื“ื™ ื ืชื•ื ื™ื ืงืœืืกื™ื™ื ื”ื•ื ืžืฉืžืฉ ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืœืžื“ื™ ืขืงื‘ื™ื•ืช ื—ื–ืงื”, ื›ืืฉืจ ืœื›ืœ ืฆื•ืžืช ื™ืฉ ืืช ืื•ืชื• ื”ืžื™ื“ืข (ื–ื” ืžื•ืฉื’ ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืžืงืจื” ืฉื‘ื• ื”ืขืกืงื” ื ื—ืฉื‘ืช ื›ืžื•ืกื“ืช ืจืง ืœืื—ืจ ืฉื”ืฉืจืช ื”ืฉื ื™ ืžื’ื™ื‘). ื™ืฉ ื›ืืŸ ื›ืžื” ื”ืจืคื™ื•ืช ื‘ื’ืœืœ ืจืžื•ืช ื”ื‘ื™ื“ื•ื“, ืื‘ืœ ื”ืจืขื™ื•ืŸ ื”ื›ืœืœื™ ื ืฉืืจ ื–ื”ื” - ืืชื” ื™ื›ื•ืœ ืœื—ื™ื•ืช ื‘ืขื•ืœื ื”ืจืžื•ื ื™ ืœื—ืœื•ื˜ื™ืŸ.

ืขื ื–ืืช, ื‘ื•ืื• ื ื—ื–ื•ืจ ืœืžืฉื™ืžื” ื”ืžืงื•ืจื™ืช. ืื ื ื™ืชืŸ ืœื‘ื ื•ืช ืขื ื—ืœืง ืžื”ืžืขืจื›ืช ืขืงื‘ื™ื•ืช ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ืื– ื ื•ื›ืœ ืœื‘ื ื•ืช ืืช ื”ืชืจืฉื™ื ื”ื‘ื.

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ืชื›ื•ื ื•ืช ื—ืฉื•ื‘ื•ืช ืฉืœ ื’ื™ืฉื” ื–ื•:

  • ื›ืœ ื‘ืงืฉื” ื ื›ื ืกืช ืžืžื•ืงืžืช ื‘ืชื•ืจ ืื—ื“.
  • ื‘ื–ืžืŸ ืขื™ื‘ื•ื“ ื‘ืงืฉื”, ื”ืฉื™ืจื•ืช ืขืฉื•ื™ ืœื”ืฆื™ื‘ ืžืฉื™ืžื•ืช ื’ื ื‘ืชื•ืจื™ื ืื—ืจื™ื.
  • ืœื›ืœ ืื™ืจื•ืข ื ื›ื ืก ื™ืฉ ืžื–ื”ื” (ื”ื”ื›ืจื—ื™ ืœืžื ื™ืขืช ื›ืคื™ืœื•ื™ื•ืช).
  • ื”ืชื•ืจ ืขื•ื‘ื“ ืื™ื“ื™ืื•ืœื•ื’ื™ืช ืœืคื™ ืชื›ื ื™ืช "ื”ื•ืกืฃ ื‘ืœื‘ื“". ืœื ื ื™ืชืŸ ืœื”ืกื™ืจ ืžืžื ื• ืืœืžื ื˜ื™ื ืื• ืœืกื“ืจ ืื•ืชื ืžื—ื“ืฉ.
  • ื”ืชื•ืจ ืขื•ื‘ื“ ืœืคื™ ืกื›ื™ืžืช FIFO (ืกืœื™ื—ื” ืขืœ ื”ื˜ืื•ื˜ื•ืœื•ื’ื™ื”). ืื ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ื‘ื™ืฆื•ืข ืžืงื‘ื™ืœ, ืื– ื‘ืฉืœื‘ ืžืกื•ื™ื ืืชื” ืฆืจื™ืš ืœื”ืขื‘ื™ืจ ืื•ื‘ื™ื™ืงื˜ื™ื ืœืชื•ืจื™ื ืฉื•ื ื™ื.

ื”ืจืฉื• ืœื™ ืœื”ื–ื›ื™ืจ ืœื›ื ืฉืื ื• ืฉื•ืงืœื™ื ืืช ื”ืžืงืจื” ืฉืœ ืื—ืกื•ืŸ ืงื‘ืฆื™ื ืžืงื•ื•ืŸ. ื‘ืžืงืจื” ื–ื”, ื”ืžืขืจื›ืช ืชื™ืจืื” ื‘ืขืจืš ื›ืš:

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ื—ืฉื•ื‘ ืฉื”ืฉื™ืจื•ืชื™ื ื‘ืชืจืฉื™ื ืœื ื‘ื”ื›ืจื— ืžืชื›ื•ื•ื ื™ื ืœืฉืจืช ื ืคืจื“. ืืคื™ืœื• ื”ืชื”ืœื™ืš ืขืฉื•ื™ ืœื”ื™ื•ืช ื–ื”ื”. ื“ื‘ืจ ื ื•ืกืฃ ื—ืฉื•ื‘: ืžื‘ื—ื™ื ื” ืื™ื“ื™ืื•ืœื•ื’ื™ืช, ื”ื“ื‘ืจื™ื ื”ืœืœื• ืžื•ืคืจื“ื™ื ื‘ืฆื•ืจื” ื›ื–ื• ืฉื ื™ืชืŸ ืœื™ื™ืฉื ื‘ืงืœื•ืช ืงื ื” ืžื™ื“ื” ืื•ืคืงื™.

ื•ืขื‘ื•ืจ ืฉื ื™ ืžืฉืชืžืฉื™ื ื”ื“ื™ืื’ืจืžื” ืชื™ืจืื” ื›ืš (ืฉื™ืจื•ืชื™ื ื”ืžื™ื•ืขื“ื™ื ืœืžืฉืชืžืฉื™ื ืฉื•ื ื™ื ืžืกื•ืžื ื™ื ื‘ืฆื‘ืขื™ื ืฉื•ื ื™ื):

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ื‘ื•ื ื•ืกื™ื ืžืฉื™ืœื•ื‘ ื›ื–ื”:

  • ืฉื™ืจื•ืชื™ ืขื™ื‘ื•ื“ ืžื™ื“ืข ืžื•ืคืจื“ื™ื. ื’ื ื”ืชื•ืจื™ื ืžื•ืคืจื“ื™ื. ืื ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ื’ื“ื™ืœ ืืช ืชืคื•ืงืช ื”ืžืขืจื›ืช, ืื– ืื ื—ื ื• ืจืง ืฆืจื™ื›ื™ื ืœื”ืฉื™ืง ืฉื™ืจื•ืชื™ื ื ื•ืกืคื™ื ืขืœ ื™ื•ืชืจ ืฉืจืชื™ื.
  • ื›ืืฉืจ ืื ื• ืžืงื‘ืœื™ื ืžื™ื“ืข ืžืžืฉืชืžืฉ, ืื™ื ื ื• ืฆืจื™ื›ื™ื ืœื—ื›ื•ืช ืขื“ ืฉื”ื ืชื•ื ื™ื ื™ื™ืฉืžืจื• ืœื—ืœื•ื˜ื™ืŸ. ืœื”ื™ืคืš, ืื ื—ื ื• ืจืง ืฆืจื™ื›ื™ื ืœืขื ื•ืช "ื‘ืกื“ืจ" ื•ืื– ืœื”ืชื—ื™ืœ ืœืขื‘ื•ื“ ื‘ื”ื“ืจื’ื”. ื‘ืžืงื‘ื™ืœ, ื”ืชื•ืจ ืžื—ืœื™ืง ืฉื™ืื™ื, ืฉื›ืŸ ื”ื•ืกืคืช ืื•ื‘ื™ื™ืงื˜ ื—ื“ืฉ ืžืชืจื—ืฉืช ื‘ืžื”ื™ืจื•ืช, ื•ื”ืžืฉืชืžืฉ ืœื ืฆืจื™ืš ืœื”ืžืชื™ืŸ ืœืžืขื‘ืจ ืฉืœื ืฉืœ ื›ืœ ื”ืžื—ื–ื•ืจ.
  • ื›ื“ื•ื’ืžื”, ื”ื•ืกืคืชื™ ืฉื™ืจื•ืช ืžื ื™ืขืช ื›ืคื™ืœื•ื™ื•ืช ืฉืžื ืกื” ืœืžื–ื’ ืงื‘ืฆื™ื ื–ื”ื™ื. ืื ื–ื” ืขื•ื‘ื“ ืœืื•ืจืš ื–ืžืŸ ื‘-1% ืžื”ืžืงืจื™ื, ื”ืœืงื•ื— ื‘ืงื•ืฉื™ ื™ืฉื™ื ืœื‘ ืœื–ื” (ืจืื” ืœืžืขืœื”), ื•ื–ื” ื™ืชืจื•ืŸ ื’ื“ื•ืœ, ืฉื›ืŸ ืื ื—ื ื• ื›ื‘ืจ ืœื ื ื“ืจืฉื™ื ืœื”ื™ื•ืช XNUMX% ืžื”ื™ืจื™ื ื•ืืžื™ื ื™ื.

ืขื ื–ืืช, ื”ื—ืกืจื•ื ื•ืช ื ืจืื™ื ืžื™ื“:

  • ื”ืžืขืจื›ืช ืฉืœื ื• ืื™ื‘ื“ื” ืืช ืขืงื‘ื™ื•ืชื” ื”ืงืคื“ื ื™ืช. ื–ื” ืื•ืžืจ ืฉืื, ืœืžืฉืœ, ืืชื” ืžื ื•ื™ ืœืฉื™ืจื•ืชื™ื ืฉื•ื ื™ื, ืื– ืชื™ืื•ืจื˜ื™ืช ืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ืžืฆื‘ ืฉื•ื ื” (ืฉื›ืŸ ืœืื—ื“ ื”ืฉื™ืจื•ืชื™ื ืœื ื™ื”ื™ื” ื–ืžืŸ ืœืงื‘ืœ ื”ื•ื“ืขื” ืžื”ืชื•ืจ ื”ืคื ื™ืžื™). ื›ืชื•ืฆืื” ื ื•ืกืคืช, ืœืžืขืจื›ืช ืื™ืŸ ื›ืขืช ื–ืžืŸ ืžืฉื•ืชืฃ. ื›ืœื•ืžืจ, ืื™ ืืคืฉืจ, ืœืžืฉืœ, ืœืžื™ื™ืŸ ืืช ื›ืœ ื”ืื™ืจื•ืขื™ื ืคืฉื•ื˜ ืœืคื™ ื–ืžืŸ ื”ื’ืขื”, ืžื›ื™ื•ื•ืŸ ืฉื”ืฉืขื•ื ื™ื ื‘ื™ืŸ ืฉืจืชื™ื ืขืฉื•ื™ื™ื ืฉืœื ืœื”ื™ื•ืช ืกื™ื ื›ืจื•ื ื™ื™ื (ื™ืชืจื” ืžื›ืš, ืื•ืชื• ื–ืžืŸ ื‘ืฉื ื™ ืฉืจืชื™ื ื”ื•ื ืื•ื˜ื•ืคื™ื”).
  • ื›ืขืช ืœื ื ื™ืชืŸ ืคืฉื•ื˜ ืœื”ื—ื–ื™ืจ ืื™ืจื•ืขื™ื ืœืื—ื•ืจ (ื›ืคื™ ืฉื ื™ืชืŸ ืœืขืฉื•ืช ืขื ืžืกื“ ื ืชื•ื ื™ื). ื‘ืžืงื•ื ื–ืืช, ืขืœื™ืš ืœื”ื•ืกื™ืฃ ืื™ืจื•ืข ื—ื“ืฉ - ืื™ืจื•ืข ืคื™ืฆื•ื™, ืืฉืจ ื™ืฉื ื” ืืช ื”ืžืฆื‘ ื”ืื—ืจื•ืŸ ืœืžืฆื‘ ื”ื ื“ืจืฉ. ื›ื“ื•ื’ืžื” ืžืชื—ื•ื ื“ื•ืžื”: ื‘ืœื™ ืœืฉื›ืชื‘ ืืช ื”ื”ื™ืกื˜ื•ืจื™ื” (ืฉื–ื” ืจืข ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื), ืืชื” ืœื ื™ื›ื•ืœ ืœื”ื—ื–ื™ืจ commit ืœืื—ื•ืจ ื‘-git, ืื‘ืœ ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืžื™ื•ื—ื“ ื”ืชื—ื™ื™ื‘ื•ืช ืœืื—ื•ืจ, ืฉื‘ืขืฆื ืจืง ืžื—ื–ื™ืจ ืืช ื”ืžืฆื‘ ื”ื™ืฉืŸ. ืขื ื–ืืช, ื’ื ื”ื”ืชื—ื™ื™ื‘ื•ืช ื”ืฉื’ื•ื™ื” ื•ื’ื ื”ื”ื—ื–ืจื” ืœืื—ื•ืจ ื™ื™ืฉืืจื• ื‘ื”ื™ืกื˜ื•ืจื™ื”.
  • ืกื›ื™ืžืช ื”ื ืชื•ื ื™ื ืขืฉื•ื™ื” ืœื”ืฉืชื ื•ืช ืžืฉื—ืจื•ืจ ืœื’ืจืกื”, ืืš ืœื ื ื™ืชืŸ ื™ื”ื™ื” ืœืขื“ื›ืŸ ืขื•ื“ ืื™ืจื•ืขื™ื ื™ืฉื ื™ื ืœืชืงืŸ ื”ื—ื“ืฉ (ืžื›ื™ื•ื•ืŸ ืฉืœื ื ื™ืชืŸ ืœืฉื ื•ืช ืื™ืจื•ืขื™ื ืขืงืจื•ื ื™ืช).

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ืžืงื•ืจื•ืช ืื™ืจื•ืขื™ื ืขื•ื‘ื“ื™ื ื”ื™ื˜ื‘ ืขื CQRS. ื™ืชืจื” ืžื›ืš, ื”ื˜ืžืขืช ืžืขืจื›ืช ืขื ืชื•ืจื™ื ื™ืขื™ืœื™ื ื•ื ื•ื—ื™ื, ืืš ืœืœื ื”ืคืจื“ืช ืชื–ืจื™ืžื™ ื ืชื•ื ื™ื, ื›ื‘ืจ ืงืฉื” ื‘ืคื ื™ ืขืฆืžื”, ื›ื™ ืชืฆื˜ืจื›ื• ืœื”ื•ืกื™ืฃ ื ืงื•ื“ื•ืช ืกื ื›ืจื•ืŸ ืฉื™ื ื˜ืจืœื• ืืช ื›ืœ ื”ื”ืฉืคืขื” ื”ื—ื™ื•ื‘ื™ืช ืฉืœ ื”ืชื•ืจื™ื. ื”ื—ืœืช ืฉืชื™ ื”ื’ื™ืฉื•ืช ื‘ื‘ืช ืื—ืช, ื™ืฉ ืฆื•ืจืš ืœื”ืชืื™ื ืžืขื˜ ืืช ืงื•ื“ ื”ืชื•ื›ื ื™ืช. ื‘ืžืงืจื” ืฉืœื ื•, ื›ืฉืฉื•ืœื—ื™ื ืงื•ื‘ืฅ ืœืฉืจืช, ื”ืชื’ื•ื‘ื” ืžื’ื™ืขื” ืจืง "ื‘ืกื“ืจ", ืžื” ืฉืื•ืžืจ ืจืง ืฉ"ืคืขื•ืœืช ื”ื•ืกืคืช ื”ืงื•ื‘ืฅ ื ืฉืžืจื”". ืคื•ืจืžืœื™ืช, ื–ื” ืœื ืื•ืžืจ ืฉื”ื ืชื•ื ื™ื ื›ื‘ืจ ื–ืžื™ื ื™ื ื‘ืžื›ืฉื™ืจื™ื ืื—ืจื™ื (ืœื“ื•ื’ืžื”, ืฉื™ืจื•ืช ืžื ื™ืขืช ื”ื›ืคื™ืœื•ื™ื•ืช ื™ื›ื•ืœ ืœื‘ื ื•ืช ืžื—ื“ืฉ ืืช ื”ืื™ื ื“ืงืก). ืขื ื–ืืช, ืœืื—ืจ ื–ืžืŸ ืžื”, ื”ืœืงื•ื— ื™ืงื‘ืœ ื”ื•ื“ืขื” ื‘ืกื’ื ื•ืŸ "ืงื•ื‘ืฅ X ื ืฉืžืจ".

ื›ืชื•ืฆืื”:

  • ืžืกืคืจ ื”ืกื˜ื˜ื•ืกื™ื ืฉืœ ืฉืœื™ื—ืช ืงื‘ืฆื™ื ื”ื•ืœืš ื•ื’ื“ืœ: ื‘ืžืงื•ื "ื”ืงื•ื‘ืฅ ื ืฉืœื—" ื”ืงืœืืกื™ ื ืงื‘ืœ ืฉื ื™ื™ื: "ื”ืงื•ื‘ืฅ ื”ืชื•ื•ืกืฃ ืœืชื•ืจ ื‘ืฉืจืช" ื•"ื”ืงื•ื‘ืฅ ื ืฉืžืจ ื‘ืื—ืกื•ืŸ". ื–ื” ื”ืื—ืจื•ืŸ ืื•ืžืจ ืฉืžื›ืฉื™ืจื™ื ืื—ืจื™ื ื›ื‘ืจ ื™ื›ื•ืœื™ื ืœื”ืชื—ื™ืœ ืœืงื‘ืœ ืืช ื”ืงื•ื‘ืฅ (ืžื•ืชืื ืœืขื•ื‘ื“ื” ืฉื”ืชื•ืจื™ื ืคื•ืขืœื™ื ื‘ืžื”ื™ืจื•ื™ื•ืช ืฉื•ื ื•ืช).
  • ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉืžื™ื“ืข ื”ื”ื’ืฉื” ืžื’ื™ืข ื›ืขืช ื‘ืขืจื•ืฆื™ื ืฉื•ื ื™ื, ืขืœื™ื ื• ืœื”ืžืฆื™ื ืคืชืจื•ื ื•ืช ืœืงื‘ืœืช ืกื˜ื˜ื•ืก ื”ืขื™ื‘ื•ื“ ืฉืœ ื”ืงื•ื‘ืฅ. ื›ืชื•ืฆืื” ืžื›ืš: ื‘ื ื™ื’ื•ื“ ืœื‘ืงืฉื”-ืชื’ื•ื‘ื” ื”ืงืœืืกื™ืช, ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืžื—ื“ืฉ ืืช ื”ืœืงื•ื— ืชื•ืš ื›ื“ื™ ืขื™ื‘ื•ื“ ื”ืงื•ื‘ืฅ, ืืš ื”ืกื˜ื˜ื•ืก ืฉืœ ืขื™ื‘ื•ื“ ื–ื” ืขืฆืžื• ื™ื”ื™ื” ื ื›ื•ืŸ. ื™ืชืจ ืขืœ ื›ืŸ, ืคืจื™ื˜ ื–ื” ืขื•ื‘ื“, ื‘ืขืฆื, ืžื—ื•ืฅ ืœืงื•ืคืกื”. ื›ืชื•ืฆืื” ืžื›ืš: ื›ืขืช ืื ื• ืกื•ื‘ืœื ื™ื™ื ื™ื•ืชืจ ืœื›ื™ืฉืœื•ื ื•ืช.

Sharding

ื›ืคื™ ืฉืชื•ืืจ ืœืขื™ืœ, ืžืขืจื›ื•ืช ืžื™ืงื•ืจ ืื™ืจื•ืขื™ื ื—ืกืจื•ืช ืขืงื‘ื™ื•ืช ืงืคื“ื ื™ืช. ื–ื” ืื•ืžืจ ืฉืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจ ืื—ืกื•ืŸ ืœืœื ื›ืœ ืกื ื›ืจื•ืŸ ื‘ื™ื ื™ื”ื. ื‘ื”ืชืงืจื‘ื•ืช ืœื‘ืขื™ื” ืฉืœื ื•, ืื ื• ื™ื›ื•ืœื™ื:

  • ื”ืคืจื“ ืงื‘ืฆื™ื ืœืคื™ ืกื•ื’. ืœื“ื•ื’ืžื”, ื ื™ืชืŸ ืœืคืขื ื— ืชืžื•ื ื•ืช/ืกืจื˜ื•ื ื™ื ื•ืœื‘ื—ื•ืจ ืคื•ืจืžื˜ ื™ืขื™ืœ ื™ื•ืชืจ.
  • ื”ืคืจื“ ื—ืฉื‘ื•ื ื•ืช ืœืคื™ ืžื“ื™ื ื”. ืขืงื‘ ื—ื•ืงื™ื ืจื‘ื™ื, ื–ื” ืขืฉื•ื™ ืœื”ื™ื“ืจืฉ, ืื‘ืœ ืชื•ื›ื ื™ืช ืืจื›ื™ื˜ืงื˜ื•ืจื” ื–ื• ืžืกืคืงืช ื”ื–ื“ืžื ื•ืช ื›ื–ื• ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ืื ืืชื” ืจื•ืฆื” ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื ืžืื—ืกื•ืŸ ืื—ื“ ืœืžืฉื ื”ื•, ืื– ื”ืืžืฆืขื™ื ื”ืกื˜ื ื“ืจื˜ื™ื™ื ืื™ื ื ืžืกืคื™ืงื™ื ืขื•ื“. ืœืžืจื‘ื” ื”ืฆืขืจ, ื‘ืžืงืจื” ื–ื”, ืขืœื™ืš ืœืขืฆื•ืจ ืืช ื”ืชื•ืจ, ืœื‘ืฆืข ืืช ื”ื”ืขื‘ืจื” ื•ืœืื—ืจ ืžื›ืŸ ืœื”ืชื—ื™ืœ ืื•ืชื•. ื‘ืžืงืจื” ื”ื›ืœืœื™, ืœื ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื "ื‘ืชื ื•ืขื”", ืขื ื–ืืช, ืื ืชื•ืจ ื”ืื™ืจื•ืขื™ื ืžืื•ื—ืกืŸ ืœื—ืœื•ื˜ื™ืŸ, ื•ื™ืฉ ืœืš ืฆื™ืœื•ืžื™ ืžืฆื‘ ืฉืœ ืžืฆื‘ื™ ืื—ืกื•ืŸ ืงื•ื“ืžื™ื, ื ื•ื›ืœ ืœื”ืคืขื™ืœ ืžื—ื“ืฉ ืืช ื”ืื™ืจื•ืขื™ื ื‘ืื•ืคืŸ ื”ื‘ื:

  • ื‘ืžืงื•ืจ ื”ืื™ืจื•ืข, ืœื›ืœ ืื™ืจื•ืข ื™ืฉ ืžื–ื”ื” ืžืฉืœื• (ื‘ืื•ืคืŸ ืื™ื“ื™ืืœื™, ืœื ืคื•ื—ืช). ื–ื” ืื•ืžืจ ืฉืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ื•ืกื™ืฃ ืฉื“ื” ืœืื—ืกื•ืŸ - ื”ืžื–ื”ื” ืฉืœ ื”ืืœืžื ื˜ ื”ืžืขื•ื‘ื“ ื”ืื—ืจื•ืŸ.
  • ืื ื• ืžืฉื›ืคืœื™ื ืืช ื”ืชื•ืจ ื›ืš ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœืขื‘ื“ ืืช ื›ืœ ื”ืื™ืจื•ืขื™ื ืขื‘ื•ืจ ืžืกืคืจ ืื—ืกื•ืŸ ืขืฆืžืื™ (ื”ืจืืฉื•ืŸ ื”ื•ื ื–ื” ืฉื‘ื• ื”ื ืชื•ื ื™ื ื›ื‘ืจ ืžืื•ื—ืกื ื™ื, ื•ื”ืฉื ื™ ื—ื“ืฉ, ืืš ืขื“ื™ื™ืŸ ืจื™ืง). ื”ืชื•ืจ ื”ืฉื ื™, ื›ืžื•ื‘ืŸ, ืขื“ื™ื™ืŸ ืœื ื‘ืขื™ื‘ื•ื“.
  • ืื ื• ืžืฉื™ืงื™ื ืืช ื”ืชื•ืจ ื”ืฉื ื™ (ื›ืœื•ืžืจ, ืื ื• ืžืชื—ื™ืœื™ื ืœื”ืคืขื™ืœ ืžื—ื“ืฉ ืื™ืจื•ืขื™ื).
  • ื›ืืฉืจ ื”ืชื•ืจ ื”ื—ื“ืฉ ืจื™ืง ื™ื—ืกื™ืช (ื›ืœื•ืžืจ, ื”ืคืจืฉ ื”ื–ืžืŸ ื”ืžืžื•ืฆืข ื‘ื™ืŸ ื”ื•ืกืคืช ืืœืžื ื˜ ืœืื—ื–ื•ืจ ืžืงื•ื‘ืœ), ื ื™ืชืŸ ืœื”ืชื—ื™ืœ ืœื”ื—ืœื™ืฃ ืงื•ืจืื™ื ืœืื—ืกื•ืŸ ื”ื—ื“ืฉ.

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ืœื ื”ื™ื™ืชื” ืœื ื•, ื•ืขื“ื™ื™ืŸ ืื™ืŸ ืœื ื•, ืขืงื‘ื™ื•ืช ืงืคื“ื ื™ืช ื‘ืžืขืจื›ืช ืฉืœื ื•. ื™ืฉ ืจืง ืขืงื‘ื™ื•ืช ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื›ืœื•ืžืจ, ืขืจื•ื‘ื” ืœื›ืš ืฉืื™ืจื•ืขื™ื ืžืขื•ื‘ื“ื™ื ื‘ืื•ืชื• ืกื“ืจ (ืืš ืื•ืœื™ ื‘ืขื™ื›ื•ื‘ื™ื ืฉื•ื ื™ื). ื•ื‘ืืžืฆืขื•ืช ื–ื”, ืื ื• ื™ื›ื•ืœื™ื ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื ื‘ืงืœื•ืช ื™ื—ืกื™ืช ืžื‘ืœื™ ืœืขืฆื•ืจ ืืช ื”ืžืขืจื›ืช ืœืฆื“ ื”ืฉื ื™ ืฉืœ ื›ื“ื•ืจ ื”ืืจืฅ.

ืœืคื™ื›ืš, ื‘ื”ืžืฉืš ื”ื“ื•ื’ืžื” ืฉืœื ื• ืœื’ื‘ื™ ืื—ืกื•ืŸ ืžืงื•ื•ืŸ ืœืงื‘ืฆื™ื, ืืจื›ื™ื˜ืงื˜ื•ืจื” ื›ื–ื• ื›ื‘ืจ ื ื•ืชื ืช ืœื ื• ืžืกืคืจ ื‘ื•ื ื•ืกื™ื:

  • ืื ื• ื™ื›ื•ืœื™ื ืœื”ืขื‘ื™ืจ ืื•ื‘ื™ื™ืงื˜ื™ื ืงืจื•ื‘ ื™ื•ืชืจ ืœืžืฉืชืžืฉื™ื ื‘ืฆื•ืจื” ื“ื™ื ืžื™ืช. ื›ืš ืชื•ื›ืœื• ืœืฉืคืจ ืืช ืื™ื›ื•ืช ื”ืฉื™ืจื•ืช.
  • ืื ื• ืขืฉื•ื™ื™ื ืœืื—ืกืŸ ื ืชื•ื ื™ื ืžืกื•ื™ืžื™ื ื‘ืชื•ืš ื—ื‘ืจื•ืช. ืœื“ื•ื’ืžื”, ืžืฉืชืžืฉื™ื ืืจื’ื•ื ื™ื™ื ื“ื•ืจืฉื™ื ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืฉื”ื ืชื•ื ื™ื ืฉืœื”ื ื™ืื•ื—ืกื ื• ื‘ืžืจื›ื–ื™ ื ืชื•ื ื™ื ืžื‘ื•ืงืจื™ื (ื›ื“ื™ ืœืžื ื•ืข ื“ืœื™ืคื•ืช ื ืชื•ื ื™ื). ื‘ืืžืฆืขื•ืช ืจื™ืกื•ืง ืื ื• ื™ื›ื•ืœื™ื ืœืชืžื•ืš ื‘ื›ืš ื‘ืงืœื•ืช. ื•ื”ืžืฉื™ืžื” ืงืœื” ืขื•ื“ ื™ื•ืชืจ ืื ืœืœืงื•ื— ื™ืฉ ืขื ืŸ ืชื•ืื (ืœื“ื•ื’ืžื”, Azure ืžืชืืจื— ื‘ืขืฆืžื•).
  • ื•ื”ื“ื‘ืจ ื”ื›ื™ ื—ืฉื•ื‘ ื”ื•ื ืฉืื ื—ื ื• ืœื ืฆืจื™ื›ื™ื ืœืขืฉื•ืช ืืช ื–ื”. ืื—ืจื™ ื”ื›ืœ, ืžืœื›ืชื—ื™ืœื”, ื”ื™ื™ื ื• ื“ื™ ืžืจื•ืฆื™ื ืžืื—ืกื•ืŸ ืื—ื“ ืœื›ืœ ื”ื—ืฉื‘ื•ื ื•ืช (ื›ื“ื™ ืœื”ืชื—ื™ืœ ืœืขื‘ื•ื“ ื‘ืžื”ื™ืจื•ืช). ื•ื”ืชื›ื•ื ื” ื”ืžืจื›ื–ื™ืช ืฉืœ ืžืขืจื›ืช ื–ื• ื”ื™ื ืฉืœืžืจื•ืช ืฉื”ื™ื ื ื™ืชื ืช ืœื”ืจื—ื‘ื”, ื‘ืฉืœื‘ ื”ืจืืฉื•ื ื™ ื”ื™ื ื“ื™ ืคืฉื•ื˜ื”. ืืชื” ืคืฉื•ื˜ ืœื ืฆืจื™ืš ืœื›ืชื•ื‘ ืžื™ื“ ืงื•ื“ ืฉืขื•ื‘ื“ ืขื ืžื™ืœื™ื•ืŸ ืชื•ืจื™ื ืขืฆืžืื™ื™ื ื ืคืจื“ื™ื ื•ื›ื•'. ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ื‘ืขืชื™ื“.

ืื™ืจื•ื— ืชื•ื›ืŸ ืกื˜ื˜ื™

ื ืงื•ื“ื” ื–ื• ืขืฉื•ื™ื” ืœื”ื™ืจืื•ืช ื“ื™ ื‘ืจื•ืจื”, ืืš ื”ื™ื ืขื“ื™ื™ืŸ ื ื—ื•ืฆื” ืขื‘ื•ืจ ื™ื™ืฉื•ื ื˜ืขื•ืŸ ืคื—ื•ืช ืื• ื™ื•ืชืจ ืกื˜ื ื“ืจื˜ื™. ื”ืžื”ื•ืช ืฉืœื• ืคืฉื•ื˜ื”: ื›ืœ ื”ืชื•ื›ืŸ ื”ืกื˜ื˜ื™ ืžื•ืคืฅ ืœื ืžืื•ืชื• ืฉืจืช ืฉื‘ื• ืžืžื•ืงืžืช ื”ืืคืœื™ืงืฆื™ื”, ืืœื ืžืืœื• ืžื™ื•ื—ื“ื™ื ื”ืžื•ืงื“ืฉื™ื ื‘ืžื™ื•ื—ื“ ืœืžืฉื™ืžื” ื–ื•. ื›ืชื•ืฆืื” ืžื›ืš, ืคืขื•ืœื•ืช ืืœื• ืžื‘ื•ืฆืขื•ืช ืžื”ืจ ื™ื•ืชืจ (nginx ืžื•ืชื ื” ืžืฉืจืช ืงื‘ืฆื™ื ืžื”ืจ ื™ื•ืชืจ ื•ื–ื•ืœ ื™ื•ืชืจ ืžืฉืจืช Java). ื‘ื ื•ืกืฃ ืืจื›ื™ื˜ืงื˜ื•ืจืช CDN (ืจืฉืช ืœื”ืขื‘ืจืช ืชื•ื›ืŸ) ืžืืคืฉืจืช ืœื ื• ืœืืชืจ ืืช ื”ืงื‘ืฆื™ื ืฉืœื ื• ืงืจื•ื‘ ื™ื•ืชืจ ืœืžืฉืชืžืฉื™ ื”ืงืฆื”, ืžื” ืฉื™ืฉ ืœื• ื”ืฉืคืขื” ื—ื™ื•ื‘ื™ืช ืขืœ ื ื•ื—ื•ืช ื”ืขื‘ื•ื“ื” ืขื ื”ืฉื™ืจื•ืช.

ื”ื“ื•ื’ืžื” ื”ืคืฉื•ื˜ื” ื•ื”ืกื˜ื ื“ืจื˜ื™ืช ื‘ื™ื•ืชืจ ืœืชื•ื›ืŸ ืกื˜ื˜ื™ ื”ื™ื ืงื‘ื•ืฆื” ืฉืœ ืกืงืจื™ืคื˜ื™ื ื•ืชืžื•ื ื•ืช ืขื‘ื•ืจ ืืชืจ ืื™ื ื˜ืจื ื˜. ื”ื›ืœ ืคืฉื•ื˜ ืืฆืœื - ื”ื ื™ื“ื•ืขื™ื ืžืจืืฉ, ื•ืื– ื”ืืจื›ื™ื•ืŸ ืžื•ืขืœื” ืœืฉืจืชื™ CDN, ืžืฉื ื”ื ืžื•ืคืฆื™ื ืœืžืฉืชืžืฉื™ ื”ืงืฆื”.

ืขื ื–ืืช, ื‘ืžืฆื™ืื•ืช, ืขื‘ื•ืจ ืชื•ื›ืŸ ืกื˜ื˜ื™, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื’ื™ืฉื” ื”ื“ื•ืžื” ื‘ืžืงืฆืช ืœืืจื›ื™ื˜ืงื˜ื•ืจืช ืœืžื‘ื“ื”. ื ื—ื–ื•ืจ ืœืžืฉื™ืžื” ืฉืœื ื• (ืื—ืกื•ืŸ ืงื‘ืฆื™ื ืžืงื•ื•ืŸ), ื‘ื” ืื ื• ืฆืจื™ื›ื™ื ืœื”ืคื™ืฅ ืงื‘ืฆื™ื ืœืžืฉืชืžืฉื™ื. ื”ืคืชืจื•ืŸ ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ ื”ื•ื ืœื™ืฆื•ืจ ืฉื™ืจื•ืช ืฉืœื›ืœ ื‘ืงืฉืช ืžืฉืชืžืฉ ืžื‘ืฆืข ืืช ื›ืœ ื”ื‘ื“ื™ืงื•ืช ื”ื ื“ืจืฉื•ืช (ื”ืจืฉืื” ื•ื›ื•'), ื•ืœืื—ืจ ืžื›ืŸ ืžื•ืจื™ื“ ืืช ื”ืงื•ื‘ืฅ ื™ืฉื™ืจื•ืช ืžื”ืื—ืกื•ืŸ ืฉืœื ื•. ื”ื—ื™ืกืจื•ืŸ ื”ืขื™ืงืจื™ ืฉืœ ื’ื™ืฉื” ื–ื• ื”ื•ื ืฉืชื•ื›ืŸ ืกื˜ื˜ื™ (ื•ืงื•ื‘ืฅ ืขื ื’ืจืกื” ืžืกื•ื™ืžืช ื”ื•ื ืœืžืขืฉื” ืชื•ื›ืŸ ืกื˜ื˜ื™) ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืื•ืชื• ืฉืจืช ืฉืžื›ื™ืœ ืืช ื”ื”ื™ื’ื™ื•ืŸ ื”ืขืกืงื™. ื‘ืžืงื•ื ื–ืืช, ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืืช ื”ืชืจืฉื™ื ื”ื‘ื:

  • ื”ืฉืจืช ืžืกืคืง ื›ืชื•ื‘ืช URL ืœื”ื•ืจื“ื”. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื‘ืฆื•ืจืช file_id + key, ื›ืืฉืจ ืžืคืชื— ื”ื•ื ื—ืชื™ืžื” ืžื™ื ื™-ื“ื™ื’ื™ื˜ืœื™ืช ื”ืžืขื ื™ืงื” ืืช ื”ื–ื›ื•ืช ืœื’ืฉืช ืœืžืฉืื‘ ื‘ืžืฉืš XNUMX ื”ืฉืขื•ืช ื”ืงืจื•ื‘ื•ืช.
  • ื”ืงื•ื‘ืฅ ืžื•ืคืฅ ืขืœ ื™ื“ื™ nginx ืคืฉื•ื˜ ืขื ื”ืืคืฉืจื•ื™ื•ืช ื”ื‘ืื•ืช:
    • ืฉืžื™ืจืช ืชื•ื›ืŸ ื‘ืžื˜ืžื•ืŸ. ื”ื™ื•ืช ื•ืฉื™ืจื•ืช ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืžื•ืงื ื‘ืฉืจืช ื ืคืจื“, ื”ืฉืืจื ื• ืœืขืฆืžื ื• ืขืชื•ื“ื” ืœืขืชื™ื“ ืขื ื”ื™ื›ื•ืœืช ืœืื—ืกืŸ ืืช ื›ืœ ื”ืงื‘ืฆื™ื ื”ืื—ืจื•ื ื™ื ืฉื”ื•ืจื“ืช ื‘ื“ื™ืกืง.
    • ื‘ื“ื™ืงืช ื”ืžืคืชื— ื‘ื–ืžืŸ ื™ืฆื™ืจืช ื”ื—ื™ื‘ื•ืจ
  • ืื•ืคืฆื™ื•ื ืœื™: ืขื™ื‘ื•ื“ ืชื•ื›ืŸ ื‘ืกื˜ืจื™ืžื™ื ื’. ืœื“ื•ื’ืžื”, ืื ืื ื• ื“ื•ื—ืกื™ื ืืช ื›ืœ ื”ืงื‘ืฆื™ื ื‘ืฉื™ืจื•ืช, ืื– ื ื•ื›ืœ ืœื‘ืฆืข unzipping ื™ืฉื™ืจื•ืช ื‘ืžื•ื“ื•ืœ ื–ื”. ื›ืชื•ืฆืื” ืžื›ืš: ืคืขื•ืœื•ืช IO ื ืขืฉื•ืช ื”ื™ื›ืŸ ืฉื”ืŸ ืฉื™ื™ื›ื•ืช. ืืจื›ื™ื•ืŸ ื‘-Java ื™ืงืฆื” ื‘ืงืœื•ืช ื”ืจื‘ื” ื–ื™ื›ืจื•ืŸ ื ื•ืกืฃ, ืื‘ืœ ืฉื›ืชื•ื‘ ืฉื™ืจื•ืช ืขื ื”ื™ื’ื™ื•ืŸ ืขืกืงื™ ืœืชื ืื™ Rust/C++ ืขืฉื•ื™ ืœื”ื™ื•ืช ื’ื ืœื ื™ืขื™ืœ. ื‘ืžืงืจื” ืฉืœื ื•, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืชื”ืœื™ื›ื™ื ืฉื•ื ื™ื (ืื• ืืคื™ืœื• ืฉื™ืจื•ืชื™ื), ื•ืœื›ืŸ ืื ื• ื™ื›ื•ืœื™ื ืœื”ืคืจื™ื“ ื‘ืฆื•ืจื” ื™ืขื™ืœื” ืœืžื“ื™ ื‘ื™ืŸ ืœื•ื’ื™ืงื” ืขืกืงื™ืช ื•ืคืขื•ืœื•ืช IO.

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ืกื›ื™ืžื” ื–ื• ืื™ื ื” ื“ื•ืžื” ืžืื•ื“ ืœื”ืคืฆืช ืชื•ื›ืŸ ืกื˜ื˜ื™ (ืžืื—ืจ ืฉืื™ื ื ื• ืžืขืœื™ื ืืช ื›ืœ ื”ื—ื‘ื™ืœื” ื”ืกื˜ื˜ื™ืช ืœืื ืฉื”ื•), ืืš ืœืžืขืฉื”, ื’ื™ืฉื” ื–ื• ืขื•ืกืงืช ื‘ื“ื™ื•ืง ื‘ื”ืคืฆืช ื ืชื•ื ื™ื ื‘ืœืชื™ ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™. ื™ืชืจ ืขืœ ื›ืŸ, ื ื™ืชืŸ ืœื”ื›ืœื™ืœ ืืช ื”ืกื›ื™ืžื” ื”ื–ื• ืœืžืงืจื™ื ืื—ืจื™ื ืฉื‘ื”ื ื”ืชื•ื›ืŸ ืื™ื ื• ืคืฉื•ื˜ ืกื˜ื˜ื™, ืืœื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื™ื•ืฆื’ ื›ืงื‘ื•ืฆื” ืฉืœ ื‘ืœื•ืงื™ื ื‘ืœืชื™ ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™ ื•ืœื ื ื™ืชื ื™ื ืœืžื—ื™ืงื” (ืื ื›ื™ ื ื™ืชืŸ ืœื”ื•ืกื™ืฃ ืื•ืชื).

ื›ื“ื•ื’ืžื” ื ื•ืกืคืช (ืœื—ื™ื–ื•ืง): ืื ืขื‘ื“ืช ืขื Jenkins/TeamCity, ืื– ืืชื” ื™ื•ื“ืข ืฉืฉื ื™ ื”ืคืชืจื•ื ื•ืช ื›ืชื•ื‘ื™ื ื‘-Java. ืฉื ื™ื”ื ื”ื ืชื”ืœื™ืš ื’'ืื•ื•ื” ืฉืžื˜ืคืœ ื’ื ื‘ืชื–ืžื•ืจ ื‘ื ื™ื™ื” ื•ื’ื ื‘ื ื™ื”ื•ืœ ืชื•ื›ืŸ. ื‘ืคืจื˜, ืœืฉื ื™ื”ื ื™ืฉ ืžืฉื™ืžื•ืช ื›ืžื• "ื”ืขื‘ืจืช ืงื•ื‘ืฅ/ืชื™ืงื™ื” ืžื”ืฉืจืช." ื›ื“ื•ื’ืžื”: ื”ื ืคืงืช ื—ืคืฆื™ื, ื”ืขื‘ืจืช ืงื•ื“ ืžืงื•ืจ (ื›ืฉื”ืกื•ื›ืŸ ืœื ืžื•ืจื™ื“ ืืช ื”ืงื•ื“ ื™ืฉื™ืจื•ืช ืžื”ืžืื’ืจ, ืืœื ื”ืฉืจืช ืขื•ืฉื” ื–ืืช ืขื‘ื•ืจื•), ื’ื™ืฉื” ืœืœื•ื’ื™ื. ื›ืœ ื”ืžืฉื™ืžื•ืช ื”ืœืœื• ืฉื•ื ื•ืช ื‘ืขื•ืžืก ื”-IO ืฉืœื”ืŸ. ื›ืœื•ืžืจ, ืžืกืชื‘ืจ ืฉื”ืฉืจืช ื”ืื—ืจืื™ ืขืœ ื”ื”ื™ื’ื™ื•ืŸ ื”ืขืกืงื™ ื”ืžื•ืจื›ื‘ ื—ื™ื™ื‘ ื‘ืžืงื‘ื™ืœ ืœื”ื™ื•ืช ืžืกื•ื’ืœ ืœื“ื—ื•ืฃ ื‘ื™ืขื™ืœื•ืช ื–ืจื™ืžื•ืช ื’ื“ื•ืœื•ืช ืฉืœ ื ืชื•ื ื™ื ื“ืจื›ื•. ื•ืžื” ืฉื”ื›ื™ ืžืขื ื™ื™ืŸ ื–ื” ืฉืืคืฉืจ ืœื”ืืฆื™ืœ ืคืขื•ืœื” ื›ื–ื• ืœืื•ืชื• nginx ื‘ื“ื™ื•ืง ืœืคื™ ืื•ืชื” ืกื›ืžื” (ื—ื•ืฅ ืžื–ื” ืฉืฆืจื™ืš ืœื”ื•ืกื™ืฃ ืืช ืžืคืชื— ื”ื ืชื•ื ื™ื ืœื‘ืงืฉื”).

ืขื ื–ืืช, ืื ื ื—ื–ื•ืจ ืœืžืขืจื›ืช ืฉืœื ื•, ื ืงื‘ืœ ืชืจืฉื™ื ื“ื•ืžื”:

ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ื ื•ื—ื™ื

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื”ืžืขืจื›ืช ื”ืคื›ื” ืžื•ืจื›ื‘ืช ื™ื•ืชืจ ื‘ืื•ืคืŸ ืงื™ืฆื•ื ื™. ืขื›ืฉื™ื• ื–ื” ืœื ืจืง ืžื™ื ื™-ืชื”ืœื™ืš ืฉืžืื—ืกืŸ ืงื‘ืฆื™ื ื‘ืื•ืคืŸ ืžืงื•ืžื™. ืขื›ืฉื™ื• ืžื” ืฉื ื“ืจืฉ ื”ื•ื ืœื ื”ืชืžื™ื›ื” ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ, ื‘ืงืจืช ื’ืจืกืื•ืช API ื•ื›ื•'. ืœื›ืŸ, ืœืื—ืจ ืฉืจื˜ื•ื˜ ื›ืœ ื”ืชืจืฉื™ืžื™ื, ืขื“ื™ืฃ ืœื”ืขืจื™ืš ื‘ืคื™ืจื•ื˜ ื”ืื ื”ื”ืจื—ื‘ื” ืฉื•ื•ื” ืืช ื”ืขืœื•ืช. ืขื ื–ืืช, ืื ืืชื” ืจื•ืฆื” ืœื”ื™ื•ืช ืžืกื•ื’ืœ ืœื”ืจื—ื™ื‘ ืืช ื”ืžืขืจื›ืช (ื›ื•ืœืœ ืœืขื‘ื•ื“ ืขื ืžืกืคืจ ื’ื“ื•ืœ ืขื•ื“ ื™ื•ืชืจ ืฉืœ ืžืฉืชืžืฉื™ื), ืื– ืชืฆื˜ืจืš ืœืœื›ืช ืขืœ ืคืชืจื•ื ื•ืช ื“ื•ืžื™ื. ืื‘ืœ, ื›ืชื•ืฆืื” ืžื›ืš, ื”ืžืขืจื›ืช ืžื•ื›ื ื” ืžื‘ื—ื™ื ื” ืืจื›ื™ื˜ืงื˜ื•ื ื™ืช ืœืขื•ืžืก ืžื•ื’ื‘ืจ (ื ื™ืชืŸ ืœืฉื‘ื˜ ื›ืžืขื˜ ื›ืœ ืจื›ื™ื‘ ืœืฆื•ืจืš ืงื ื” ืžื™ื“ื” ืื•ืคืงื™). ื ื™ืชืŸ ืœืขื“ื›ืŸ ืืช ื”ืžืขืจื›ืช ืžื‘ืœื™ ืœืขืฆื•ืจ ืื•ืชื” (ืคืฉื•ื˜ ื—ืœืง ืžื”ืคืขื•ืœื•ืช ื™ื•ืื˜ื• ืžืขื˜).

ื›ืคื™ ืฉืืžืจืชื™ ื‘ื”ืชื—ืœื”, ื›ืขืช ืžืกืคืจ ืฉื™ืจื•ืชื™ ืื™ื ื˜ืจื ื˜ ื”ื—ืœื• ืœืงื‘ืœ ืขื•ืžืก ืžื•ื’ื‘ืจ. ื•ื—ืœืงื ืคืฉื•ื˜ ื”ืชื—ื™ืœื• ืœื”ืคืกื™ืง ืœืขื‘ื•ื“ ื›ืžื• ืฉืฆืจื™ืš. ืœืžืขืฉื”, ื”ืžืขืจื›ื•ืช ื›ืฉืœื• ื“ื•ื•ืงื ื‘ืจื’ืข ืฉื‘ื• ื”ืขืกืง ื”ื™ื” ืืžื•ืจ ืœื”ืจื•ื•ื™ื— ื›ืกืฃ. ื›ืœื•ืžืจ, ื‘ืžืงื•ื ืžืฉืœื•ื— ื“ื—ื•ื™, ื‘ืžืงื•ื ืœื”ืฆื™ืข ืœืœืงื•ื—ื•ืช "ืœืชื›ื ืŸ ืืช ื”ืžืฉืœื•ื— ืœื—ื•ื“ืฉื™ื ื”ืงืจื•ื‘ื™ื", ื”ืžืขืจื›ืช ืคืฉื•ื˜ ืืžืจื” "ืœื›ื• ืœืžืชื—ืจื™ื ืฉืœื›ื". ืœืžืขืฉื”, ื–ื”ื• ื”ืžื—ื™ืจ ืฉืœ ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ื ืžื•ื›ื”: ื”ืคืกื“ื™ื ื™ืชืจื—ืฉื• ื“ื•ื•ืงื ื›ืืฉืจ ื”ืจื•ื•ื—ื™ื ื™ื”ื™ื• ื”ื’ื‘ื•ื”ื™ื ื‘ื™ื•ืชืจ.

ืžืกืงื ื”

ื›ืœ ื”ื’ื™ืฉื•ืช ื”ืœืœื• ื”ื™ื• ื™ื“ื•ืขื•ืช ื‘ืขื‘ืจ. ืื•ืชื• VK ื›ื‘ืจ ืžื–ืžืŸ ืžืฉืชืžืฉ ื‘ืจืขื™ื•ืŸ ืฉืœ ืื™ืจื•ื— ืชื•ื›ืŸ ืกื˜ื˜ื™ ื›ื“ื™ ืœื”ืฆื™ื’ ืชืžื•ื ื•ืช. ื”ืจื‘ื” ืžืฉื—ืงื™ื ืžืงื•ื•ื ื™ื ืžืฉืชืžืฉื™ื ื‘ืกื›ื™ืžืช Sharding ื›ื“ื™ ืœื—ืœืง ืฉื—ืงื ื™ื ืœืื–ื•ืจื™ื ืื• ื›ื“ื™ ืœื”ืคืจื™ื“ ื‘ื™ืŸ ืžื™ืงื•ืžื™ ืžืฉื—ืงื™ื (ืื ื”ืขื•ืœื ืขืฆืžื• ื”ื•ื ื›ื–ื”). ื ืขืฉื” ืฉื™ืžื•ืฉ ืคืขื™ืœ ื‘ื’ื™ืฉืช ื”ืžืงื•ืจ ืœืื™ืจื•ืขื™ื ื‘ื“ื•ื"ืœ. ืจื•ื‘ ื™ื™ืฉื•ืžื™ ื”ืžืกื—ืจ ืฉื‘ื”ื ื ืชื•ื ื™ื ืžืชืงื‘ืœื™ื ื›ืœ ื”ื–ืžืŸ ื‘ื ื•ื™ื™ื ืœืžืขืฉื” ืขืœ ื’ื™ืฉืช CQRS ืขืœ ืžื ืช ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื ืœืกื ืŸ ืืช ื”ื ืชื•ื ื™ื ืฉื”ืชืงื‘ืœื•. ื•ื‘ื›ืŸ, ืงื ื” ืžื™ื“ื” ืื•ืคืงื™ ื ืžืฆื ื‘ืฉื™ืžื•ืฉ ื‘ืฉื™ืจื•ืชื™ื ืจื‘ื™ื ื‘ืžืฉืš ื–ืžืŸ ืจื‘ ืœืžื“ื™.

ืขื ื–ืืช, ื•ื”ื›ื™ ื—ืฉื•ื‘, ื›ืœ ื”ื“ืคื•ืกื™ื ื”ืœืœื• ื”ืคื›ื• ืงืœื™ื ืžืื•ื“ ืœื™ื™ืฉื•ื ื‘ื™ื™ืฉื•ืžื™ื ืžื•ื“ืจื ื™ื™ื (ืื ื”ื ืžืชืื™ืžื™ื, ื›ืžื•ื‘ืŸ). ืขื ื ื™ื ืžืฆื™ืขื™ื Sharding ื•ืฉื™ื ื•ื™ ืงื ื” ืžื™ื“ื” ืื•ืคืงื™ ืžื™ื“, ื•ื–ื” ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืžืืฉืจ ืœื”ื–ืžื™ืŸ ืฉืจืชื™ื ื™ื™ืขื•ื“ื™ื™ื ืฉื•ื ื™ื ื‘ืžืจื›ื–ื™ ื ืชื•ื ื™ื ืฉื•ื ื™ื ื‘ืขืฆืžืš. CQRS ื”ืคืš ืœื”ืจื‘ื” ื™ื•ืชืจ ืงืœ, ื•ืœื• ืจืง ื‘ื’ืœืœ ื”ืคื™ืชื•ื— ืฉืœ ืกืคืจื™ื•ืช ื›ืžื• RX. ืœืคื ื™ ื›ืขืฉืจ ืฉื ื™ื, ืืชืจ ื ื“ื™ืจ ื™ื›ื•ืœ ืœืชืžื•ืš ื‘ื›ืš. ื’ื ืžื™ืงื•ืจ ืื™ืจื•ืขื™ื ืงืœ ืœื”ืคืœื™ื ืœื”ืชืงื ื” ื”ื•ื“ื•ืช ืœืžื™ื›ืœื™ื ืžื•ื›ื ื™ื ืขื Apache Kafka. ืœืคื ื™ 10 ืฉื ื™ื ื–ื” ื”ื™ื” ื—ื™ื“ื•ืฉ, ืขื›ืฉื™ื• ื–ื” ื“ื‘ืจ ืฉื‘ืฉื’ืจื”. ื–ื” ืื•ืชื• ื“ื‘ืจ ืขื ืื—ืกื•ืŸ ืชื•ื›ืŸ ืกื˜ื˜ื™: ื‘ื’ืœืœ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื ื•ื—ื•ืช ื™ื•ืชืจ (ื›ื•ืœืœ ื”ืขื•ื‘ื“ื” ืฉื™ืฉ ืชื™ืขื•ื“ ืžืคื•ืจื˜ ื•ืžืื’ืจ ื’ื“ื•ืœ ืฉืœ ืชืฉื•ื‘ื•ืช), ื’ื™ืฉื” ื–ื• ื”ืคื›ื” ืœืคืฉื•ื˜ื” ืขื•ื“ ื™ื•ืชืจ.

ื›ืชื•ืฆืื” ืžื›ืš, ื”ื™ื™ืฉื•ื ืฉืœ ืžืกืคืจ ื“ืคื•ืกื™ื ืื“ืจื™ื›ืœื™ื™ื ืžื•ืจื›ื‘ื™ื ืœืžื“ื™ ื”ืคืš ื›ืขืช ืœื”ืจื‘ื” ื™ื•ืชืจ ืคืฉื•ื˜, ืžื” ืฉืื•ืžืจ ืฉืขื“ื™ืฃ ืœื”ืกืชื›ืœ ืขืœ ื–ื” ืžืงืจื•ื‘ ืžืจืืฉ. ืื ื‘ืืคืœื™ืงืฆื™ื” ื‘ืช ืขืฉืจ ืฉื ื™ื ื ื–ื ื— ืื—ื“ ืžื”ืคืชืจื•ื ื•ืช ืœืขื™ืœ ื‘ื’ืœืœ ื”ืขืœื•ืช ื”ื’ื‘ื•ื”ื” ืฉืœ ื™ื™ืฉื•ื ื•ืชืคืขื•ืœ, ื›ืขืช, ื‘ืืคืœื™ืงืฆื™ื” ื—ื“ืฉื”, ืื• ืœืื—ืจ ืขื™ื‘ื•ื“ ืžื—ื“ืฉ, ื ื™ืชืŸ ืœื™ืฆื•ืจ ืฉื™ืจื•ืช ืฉื›ื‘ืจ ื™ื”ื™ื” ื ื™ืชืŸ ืœื”ืจื—ื‘ื” ืžื‘ื—ื™ื ื” ืืจื›ื™ื˜ืงื˜ื•ื ื™ืช ( ื‘ืžื•ื ื—ื™ื ืฉืœ ื‘ื™ืฆื•ืขื™ื) ื•ื‘ืงืฉื•ืช ื—ื“ืฉื•ืช ืžืœืงื•ื—ื•ืช ืžื•ื›ื ื•ืช (ืœื“ื•ื’ืžื”, ืœื”ืชืื™ื ื ืชื•ื ื™ื ืื™ืฉื™ื™ื).

ื•ื”ื›ื™ ื—ืฉื•ื‘: ื ื ืœื ืœื”ืฉืชืžืฉ ื‘ื’ื™ืฉื•ืช ื”ืืœื” ืื ื™ืฉ ืœืš ืืคืœื™ืงืฆื™ื” ืคืฉื•ื˜ื”. ื›ืŸ, ื”ื ื™ืคื™ื ื•ืžืขื ื™ื™ื ื™ื, ืื‘ืœ ืœืืชืจ ืขื ื‘ื™ืงื•ืจ ืฉื™ื ืฉืœ 100 ืื™ืฉ, ืืคืฉืจ ืœื”ืกืชื“ืจ ื”ืจื‘ื” ืคืขืžื™ื ืขื ืžื•ื ื•ืœื™ื˜ ืงืœืืกื™ (ืœืคื—ื•ืช ืžื‘ื—ื•ืฅ, ื”ื›ืœ ื‘ืคื ื™ื ื ื™ืชืŸ ืœื—ืœืง ืœืžื•ื“ื•ืœื™ื ื•ื›ื•').

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”