ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื

ื”ืžืฉืš ืชืจื’ื•ื ืฉืœ ืกืคืจ ืงื˜ืŸ:
ื”ื‘ื ืช Message Brokers
ืžื—ื‘ืจ: Jakub Korab, ืžื•"ืœ: O'Reilly Media, Inc., ืชืืจื™ืš ืคืจืกื•ื: ื™ื•ื ื™ 2017, ISBN: 9781492049296.

ื”ื—ืœืง ื”ืžืชื•ืจื’ื ื”ืงื•ื“ื: ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 1 - ืžื‘ื•ื

ืคืจืง 3

ืงืคืงื

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

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

  • ื”ื™ื” ืžื”ื™ืจ ื‘ืžื™ื•ื—ื“
  • ืกืคืง ืจื•ื—ื‘ ืคืก ืจื‘ ื™ื•ืชืจ ื‘ืขืช ืขื‘ื•ื“ื” ืขื ื”ื•ื“ืขื•ืช
  • ืชืžื™ื›ื” ื‘ืžื•ื“ืœื™ื ืฉืœ Publisher-Subscriber ื•-Point-to-Point
  • ืืœ ืชืื˜ ืืช ื”ืงืฆื‘ ื‘ื”ื•ืกืคืช ืฆืจื›ื ื™ื. ืœื“ื•ื’ืžื”, ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ื”ืชื•ืจ ื•ื’ื ืฉืœ ื”ื ื•ืฉื ื‘-ActiveMQ ื™ื•ืจื“ื™ื ื›ื›ืœ ืฉืžืกืคืจ ื”ืฆืจื›ื ื™ื ื‘ื™ืขื“ ื’ื“ืœ.
  • ืœื”ื™ื•ืช ื ื™ืชืŸ ืœื”ืจื—ื‘ื” ืื•ืคืงื™ืช; ืื ืžืชื•ื•ืš ืื—ื“ ืฉืžืžืฉื™ืš ื”ื•ื“ืขื•ืช ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ืจืง ื‘ืžื”ื™ืจื•ืช ื”ื“ื™ืกืง ื”ืžืงืกื™ืžืœื™ืช, ืื– ื”ื’ื™ื•ื ื™ ืœืœื›ืช ืžืขื‘ืจ ืœืžื•ืคืข ืžืชื•ื•ืš ื™ื—ื™ื“ ื›ื“ื™ ืœื”ื’ื‘ื™ืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื
  • ื”ื’ื‘ืœ ืืช ื”ื’ื™ืฉื” ืœืื—ืกื•ืŸ ื•ืื—ื–ื•ืจ ืžื—ื“ืฉ ืฉืœ ื”ื•ื“ืขื•ืช

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

ืžื•ื“ืœ ื™ืขื“ ืžืื•ื—ื“

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

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

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

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

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

ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื
ืื™ื•ืจ 3-1. ืžื—ื™ืฆื•ืช ืงืคืงื

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

ืงืจื™ืืช ื”ื•ื“ืขื•ืช

ื”ืœืงื•ื— ืฉืจื•ืฆื” ืœืงืจื•ื ืืช ื”ื”ื•ื“ืขื•ืช ืžื ื”ืœ ืžืฆื‘ื™ืข ื‘ืฉื ืฉื ืงืจื ืงื‘ื•ืฆืช ืฆืจื›ื ื™ื, ืžื” ืฉืžืฆื‘ื™ืข ืขืœ ืœึฐืงึทื–ึตื– ื”ื•ื“ืขื•ืช ื‘ืžื—ื™ืฆื”. ื”ื™ืกื˜ ื”ื•ื ืžื™ืงื•ื ืžืฆื˜ื‘ืจ ืฉืžืชื—ื™ืœ ื‘-0 ื‘ืชื—ื™ืœืช ืžื—ื™ืฆื”. ืงื‘ื•ืฆืช ืฆืจื›ื ื™ื ื–ื•, ื”ืžื•ื–ื›ืจืช ื‘-API ื‘ืืžืฆืขื•ืช group_id ื”ืžื•ื’ื“ืจ ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ, ืชื•ืืžืช ืฆืจื›ืŸ ืื• ืžืขืจื›ืช ืœื•ื’ื™ืช ืื—ืช.

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

ื‘ืขื™ื™ืช ื”ืงืจื™ืื” ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžื™ื•ืฆื’ืช ื‘ืื•ืคืŸ ื”ื‘ื:

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

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

ืฆืจื›ื ื™ื ื•ืงื‘ื•ืฆื•ืช ืฆืจื›ื ื™ื

ื‘ื•ืื• ื ื™ืงื— ื›ื ืงื•ื“ืช ื”ืชื—ืœื” ื ื•ืฉื ืขื ืžื—ื™ืฆื” ืื—ืช (ืื™ื•ืจ 3-2).

ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื
ืื™ื•ืจ 3-2. ื”ืฆืจื›ืŸ ืงื•ืจื ืžืžื—ื™ืฆื”

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

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

ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื
ืื™ื•ืจ 3-3. ืฉื ื™ ืฆืจื›ื ื™ื ื‘ืงื‘ื•ืฆื•ืช ืฆืจื›ื ื™ื ืฉื•ื ื•ืช ืงื•ืจืื™ื ืžืื•ืชื” ืžื—ื™ืฆื”

ืฆืจื›ื ื™ื ื‘ืงื‘ื•ืฆืช ืฆืจื›ื ื™ื

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

ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื
ืื™ื•ืจ 3-4. ืฉื ื™ ืฆืจื›ื ื™ื ื‘ืื•ืชื” ืงื‘ื•ืฆืช ืฆืจื›ื ื™ื ืงื•ืจืื™ื ืžืื•ืชื” ืžื—ื™ืฆื”

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

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

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

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

ื”ื“ืจืš ื”ืงื ื•ื ื™ืช ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื• ื‘ืงืคืงื ื”ื™ื ืœื”ืฉืชืžืฉ ื‘-bะžืžื—ื™ืฆื•ืช ื ื•ืกืคื•ืช.

ืžื—ื™ืฆื”

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

ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื
ืื™ื•ืจ 3-5. ืฆืจื›ืŸ ืื—ื“ ืงื•ืจื ืžืžืกืคืจ ืžื—ื™ืฆื•ืช

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

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

ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 3. ืงืคืงื
ืื™ื•ืจ 3-6. ืฉื ื™ ืฆืจื›ื ื™ื ื‘ืื•ืชื” ืงื‘ื•ืฆืช ืฆืจื›ื ื™ื ืงื•ืจืื™ื ืžืžื—ื™ืฆื•ืช ืฉื•ื ื•ืช

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

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

ื›ืœ ืฉืขืœ ื”ืžืชื•ื•ืš ืฉืœ ืงืคืงื ืœืขืฉื•ืช ื”ื•ื ืœื”ืขื‘ื™ืจ ื”ื•ื“ืขื•ืช ื‘ืจืฆืฃ ืœืฆืจื›ืŸ ื›ืืฉืจ ื”ืื—ืจื•ืŸ ืžื‘ืงืฉ ืื•ืชืŸ.

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

ืฉื•ืœื— ื”ื•ื“ืขื•ืช

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

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

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

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

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

ืžืžืฉืง ื–ื” ื ืจืื” ื›ืš:

interface Partitioner {
    int partition(String topic,
        Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster);
}

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

ื›ืชื™ื‘ืช ืืกื˜ืจื˜ื’ื™ื™ืช ื—ืœื•ืงื” ืžืฉืœืš

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

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

{
  "signature": "541661622185851c248b41bf0cea7ad0",
  "accountId": "10007865234"
}

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

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

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

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

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

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

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

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

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

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

ื”ืกื›ืžื™ ืžืคื™ืง

ื—ืœื•ืงื” ืœืžื—ื™ืฆื•ืช ื”ื™ื ืœื ื”ื“ื‘ืจ ื”ื™ื—ื™ื“ ืฉื™ืฉ ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ื‘ืขืช โ€‹โ€‹ืฉืœื™ื—ืช ื”ื•ื“ืขื•ืช. ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ืฉื™ื˜ื•ืช send() ืฉืœ ืžื—ืœืงืช ื”-Producer ื‘-Java API:

Future < RecordMetadata > send(ProducerRecord < K, V > record);
Future < RecordMetadata > send(ProducerRecord < K, V > record, Callback callback);

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

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

RecordMetadata metadata = producer.send(record).get();

ืขื•ื“ ืขืœ ืงืจื™ืืช ื”ื•ื“ืขื•ืช

ืœืงืจื™ืืช ื”ื•ื“ืขื•ืช ื™ืฉ ืžื•ืจื›ื‘ื•ื™ื•ืช ื ื•ืกืคื•ืช ืฉื™ืฉ ืœืฉืขืจ ืœื’ื‘ื™ื”ืŸ. ื‘ื ื™ื’ื•ื“ ืœ-JMS API, ืฉื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืžืื–ื™ืŸ ื”ื•ื“ืขื•ืช ื‘ืชื’ื•ื‘ื” ืœื”ื•ื“ืขื”, ื” ืฆืจื›ื ื•ืช ืงืคืงื ืจืง ืกืงืจื™ื. ื‘ื•ืื• ื ืกืชื›ืœ ืžืงืจื•ื‘ ืขืœ ื”ืฉื™ื˜ื” ืžึดืฉืืึธืœ()ืžืฉืžืฉ ืœืžื˜ืจื” ื–ื•:

ConsumerRecords < K, V > poll(long timeout);

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

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

ื›ืคื™ ืฉืืžืจื ื•, ืงื‘ื•ืฆืช ื”ืฆืจื›ื ื™ื ืžืฉื•ื™ื›ืช ืœืงื™ื–ื•ื– ื‘ื™ื•ืžืŸ. ืžื™ืงื•ื ื”ื™ื•ืžืŸ ื”ืžืฉื•ื™ืš ืœืงื™ื–ื•ื– ื–ื” ืžืชืื™ื ืœื”ื•ื“ืขื” ื”ื‘ืื” ืฉืชื•ื ืคืง ื‘ืชื’ื•ื‘ื” ืžึดืฉืืึธืœ(). ื ืงื•ื“ืช ื”ื–ืžืŸ ืฉื‘ื” ื”ืงื™ื–ื•ื– ื”ื–ื” ื’ื“ืœ ื”ื™ื ื”ืงื•ื‘ืขืช ืœืงืจื™ืื”.

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

  1. ืื—ื–ืจ ื”ื•ื“ืขื” ืœืงืจื™ืื”.
  2. ืขื‘ื“ ืืช ื”ื”ื•ื“ืขื”.
  3. ืืฉืจ ืืช ื”ื”ื•ื“ืขื”.

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

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

ื‘ืงืคืงื 0.10, ืงื•ื“ ื”ืœืงื•ื— ืฉื•ื ื” ื›ืš ืฉื”-commit ืžื•ืคืขืœ ืžืขืช ืœืขืช ืขืœ ื™ื“ื™ ืกืคืจื™ื™ืช ื”ืœืงื•ื—, ื›ืคื™ ืฉื”ื•ื’ื“ืจื” auto.commit.interval.ms. ื”ืชื ื”ื’ื•ืช ื–ื• ื ืžืฆืืช ืื™ืคืฉื”ื• ื‘ื™ืŸ ื”ืžืฆื‘ื™ื JMS AUTO_ACKNOWLEDGE ื•-DUPS_OK_ACKNOWLEDGE. ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-autocommit, ื”ื•ื“ืขื•ืช ื™ื›ื•ืœื•ืช ืœื”ืชื‘ืฆืข ืœืœื ืงืฉืจ ืœืฉืืœื” ืื ื”ืŸ ืขื•ื‘ื“ื• ื‘ืคื•ืขืœ - ื–ื” ื™ื›ื•ืœ ืœืงืจื•ืช ื‘ืžืงืจื” ืฉืœ ืฆืจื›ืŸ ืื™ื˜ื™. ืื ืฆืจื›ืŸ ื™ื‘ื˜ืœ, ื”ื•ื“ืขื•ืช ื™ืชืงื‘ืœื• ืขืœ ื™ื“ื™ ื”ืฆืจื›ืŸ ื”ื‘ื, ื”ื—ืœ ืžื”ืžื™ืงื•ื ื”ืžื—ื•ื™ื‘, ืžื” ืฉืขืœื•ืœ ืœื’ืจื•ื ืœื”ื•ื“ืขื” ืฉื”ื•ื—ืžืฆื”. ื‘ืžืงืจื” ื”ื–ื”, ืงืคืงื ืœื ืื™ื‘ื“ ืืช ื”ื”ื•ื“ืขื•ืช, ืงื•ื“ ื”ืงืจื™ืื” ืคืฉื•ื˜ ืœื ืขื™ื‘ื“ ืื•ืชืŸ.

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

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

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

ืืชื” ื™ื›ื•ืœ ืœืฉืœื•ื˜ ื‘ืชื”ืœื™ืš ื”ื”ืชื—ื™ื™ื‘ื•ืช ื”ืงื™ื–ื•ื– ื”ื™ื“ื ื™ ื‘-Kafka ืœืฆืจื›ืŸ API ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ื”ืคืจืžื˜ืจ enable.auto.commit ืœ-false ื•ืงืจื™ืื” ืžืคื•ืจืฉืช ืœืื—ืช ืžื”ืฉื™ื˜ื•ืช ื”ื‘ืื•ืช:

void commitSync();
void commitAsync();

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

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

  • ื”ื—ื–ืจ ืื•ื˜ื•ืžื˜ื™ืช ืœืื—ื•ืจ ืฉืœ ื”ื•ื“ืขื” ืžื–ื•ื™ืคืช. ื”ืฆืจื›ื ื™ื ืขืฆืžื ื—ื™ื™ื‘ื™ื ืœื˜ืคืœ ื‘ื—ืจื™ื’ื™ื ื”ื ื•ื‘ืขื™ื ืžืžื˜ืขื ื™ื ื‘ืขื™ื™ืชื™ื™ื ื•ื”ืคืกืงื•ืช ื‘ืงืฆื” ื”ืื—ื•ืจื™, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืื™ื ื ื™ื›ื•ืœื™ื ืœืกืžื•ืš ืขืœ ื”ืžืชื•ื•ืš ืฉื™ืžืกื•ืจ ืžื—ื“ืฉ ื”ื•ื“ืขื•ืช.
  • ืฉืœื— ื”ื•ื“ืขื•ืช ืœืžืกืคืจ ื ื•ืฉืื™ื ื‘ืคืขื•ืœื” ืื˜ื•ืžื™ืช ืื—ืช. ื›ืคื™ ืฉื ืจืื” ื‘ืงืจื•ื‘, ื”ืฉืœื™ื˜ื” ืขืœ ื ื•ืฉืื™ื ื•ืžื—ื™ืฆื•ืช ืฉื•ื ื™ื ื™ื›ื•ืœื” ืœื”ื™ื•ืช ื‘ืžื›ื•ื ื•ืช ืฉื•ื ื•ืช ื‘ืืฉื›ื•ืœ ืงืคืงื ืฉืื™ื ืŸ ืžืชืืžืชื•ืช ืขืกืงืื•ืช ื‘ืขืช ืฉืœื™ื—ืชืŸ. ื‘ื–ืžืŸ ื›ืชื™ื‘ืช ืฉื•ืจื•ืช ืืœื”, ื ืขืฉืชื” ืขื‘ื•ื“ื” ืžืกื•ื™ืžืช ื›ื“ื™ ืœืืคืฉืจ ื–ืืช ืขื ื”-KIP-98.
  • ืฉื™ื™ืš ืงืจื™ืืช ื”ื•ื“ืขื” ืื—ืช ืžื ื•ืฉื ืื—ื“ ืœืฉืœื™ื—ืช ื”ื•ื“ืขื” ืื—ืจืช ืœื ื•ืฉื ืื—ืจ. ืฉื•ื‘, ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ ืงืคืงื ืชืœื•ื™ื” ื‘ืžื›ื•ื ื•ืช ืขืฆืžืื™ื•ืช ืจื‘ื•ืช ื”ืคื•ืขืœื•ืช ื›ืื•ื˜ื•ื‘ื•ืก ืื—ื“ ื•ืœื ื ืขืฉื” ื ื™ืกื™ื•ืŸ ืœื”ืกืชื™ืจ ื–ืืช. ืœื“ื•ื’ืžื”, ืื™ืŸ ืจื›ื™ื‘ื™ API ืฉื™ืืคืฉืจื• ืœืš ืœืงืฉืจ ืฆืจื›ืŸ ะธ ืžืคื™ืง ื‘ืขืกืงื”. ื‘-JMS, ื–ื” ืžืกื•ืคืง ืขืœ ื™ื“ื™ ื”ืื•ื‘ื™ื™ืงื˜ ืžื•ึนืฉืึธื‘ืžื”ื ื ื•ืฆืจื™ื ืžืคื™ืงื™ ื”ื•ื“ืขื•ืช ะธ MessageConsumers.

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

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

void seek(TopicPartition partition, long offset);
void seekToBeginning(Collection < TopicPartition > partitions);

ืฉื™ื˜ื” ืœึฐื—ึทืคึผึตืฉื‚() ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืฉื™ื˜ื”
offsetsForTimes(Map ื—ื•ืชืžื•ืช ื–ืžืŸ ืœื—ื™ืคื•ืฉ) ืœื”ืจื™ืฅ ืœืื—ื•ืจ ืœืžืฆื‘ ื‘ื ืงื•ื“ื” ืžืกื•ื™ืžืช ื‘ืขื‘ืจ.

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

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

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

ื–ืžื™ื ื•ืช ื’ื‘ื•ื”ื”

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

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

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

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

ื‘ืžืงืจื” ื”ื‘ืกื™ืกื™, ื ื•ืฆืจ ื ื•ืฉื ื‘ืืฉื›ื•ืœ ืงืคืงื ืขื ื”ืžืืคื™ื™ื ื™ื ื”ื‘ืื™ื:

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

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

ื‘ื–ืžืŸ ืจื™ืฆื” ืขื‘ื•ืจ ื›ืœ ืžื—ื™ืฆืช ื ื•ืฉื ื‘ืงืจ ืœื”ืงืฆื•ืช ืชืคืงื™ื“ื™ื ืœืžืชื•ื•ืš ืžึทื ื”ึดื™ื’ (ืžื ื”ื™ื’, ืžืืกื˜ืจ, ืžื ื—ื”) ื• ืขื•ืงื‘ื™ื (ื—ืกื™ื“ื™ื, ืขื‘ื“ื™ื, ื›ืคื•ืคื™ื). ื”ืžืชื•ื•ืš, ื”ืžืฉืžืฉ ื›ืžื•ื‘ื™ืœ ืžื—ื™ืฆื” ื–ื•, ืื—ืจืื™ ืขืœ ืงื‘ืœืช ื›ืœ ื”ื”ื•ื“ืขื•ืช ื”ื ืฉืœื—ื•ืช ืืœื™ื• ืขืœ ื™ื“ื™ ื”ื™ืฆืจื ื™ื ื•ื”ืคืฆืช ื”ื”ื•ื“ืขื•ืช ืœืฆืจื›ื ื™ื. ื›ืืฉืจ ื”ื•ื“ืขื•ืช ื ืฉืœื—ื•ืช ืœืžื—ื™ืฆืช ื ื•ืฉื, ื”ืŸ ืžืฉื•ื›ืคืœื•ืช ืœื›ืœ ืฆืžืชื™ ื”ืžืชื•ื•ืš ื”ืคื•ืขืœื™ื ื›ืขื•ืงื‘ื™ื ืขื‘ื•ืจ ืื•ืชื” ืžื—ื™ืฆื”. ื›ืœ ืฆื•ืžืช ื”ืžื›ื™ืœ ื™ื•ืžื ื™ื ืขื‘ื•ืจ ืžื—ื™ืฆื” ื ืงืจื ื”ึถืขืชึตืง ืžึฐื“ื•ึผื™ึธืง. ื‘ืจื•ืงืจ ื™ื›ื•ืœ ืœืฉืžืฉ ื›ืžื•ื‘ื™ืœ ืขื‘ื•ืจ ืžื—ื™ืฆื•ืช ืžืกื•ื™ืžื•ืช ื•ื›ืขื•ืงื‘ ืขื‘ื•ืจ ืื—ืจื•ืช.

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

ื—ืœืง ืžืชืฆื•ืจืช ื”ื™ืฆืจืŸ ื”ื•ื ื”ืคืจืžื˜ืจ acks, ืฉืงื•ื‘ืข ื›ืžื” ื”ืขืชืงื™ื ื—ื™ื™ื‘ื™ื ืœืืฉืจ (ืœืืฉืจ) ืงื‘ืœื” ืฉืœ ื”ื•ื“ืขื” ืœืคื ื™ ืฉืจืฉื•ืจ ื”ื™ื™ืฉื•ื ื™ืžืฉื™ืš ืœืฉืœื•ื—: 0, 1 ืื• ื›ื•ืœื. ืื ืžื•ื’ื“ืจ ืœ ืืช ื›ืœ, ืœืื—ืจ ืžื›ืŸ ื›ืืฉืจ ืžืชืงื‘ืœืช ื”ื•ื“ืขื”, ื”ืžื ื”ื™ื’ ื™ืฉืœื— ืื™ืฉื•ืจ ื‘ื—ื–ืจื” ืœืžืคื™ืง ื‘ืจื’ืข ืฉื”ื•ื ื™ืงื‘ืœ ืื™ืฉื•ืจื™ื (ืื™ืฉื•ืจื™ื) ืขืœ ื”ืจืฉื•ืžื” ืžืžืกืคืจ ืจืžื–ื™ื (ื›ื•ืœืœ ืขืฆืžื•) ื”ืžื•ื’ื“ืจื™ื ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ื”ื ื•ืฉื min.insync.replicas (ื‘ืจื™ืจืช ืžื—ื“ืœ 1). ืื ืœื ื ื™ืชืŸ ืœืฉื›ืคืœ ืืช ื”ื”ื•ื“ืขื” ื‘ื”ืฆืœื—ื”, ื”ืžืคื™ืง ื™ื–ืจื•ืง ื—ืจื™ื’ ื™ื™ืฉื•ื (Not EnoughReplicas ืื• NotEnoughReplicasAfterAppend).

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

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

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

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

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

ืชื•ืฆืื•ืช ืฉืœ

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

ื”ื—ืœืง ื”ืžืชื•ืจื’ื ื”ืงื•ื“ื: ื”ื‘ื ืช ืžืชื•ื•ื›ื™ื ื‘ื”ื•ื“ืขื•ืช. ืœื™ืžื•ื“ ื”ืžื›ื ื™ืงื” ืฉืœ ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ActiveMQ ื•ืงืคืงื. ืคืจืง 1

ื”ืชืจื’ื•ื ื ืขืฉื”: tele.gg/middle_java

ืœื”ืžืฉืš ...

ืจืง ืžืฉืชืžืฉื™ื ืจืฉื•ืžื™ื ื™ื›ื•ืœื™ื ืœื”ืฉืชืชืฃ ื‘ืกืงืจ. ืœื”ืชื—ื‘ืจื‘ื‘ืงืฉื”.

ื”ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืงืคืงื ื‘ืืจื’ื•ืŸ ืฉืœืš?

  • ื›ืŸ

  • ืœื

  • ื”ื™ื” ื‘ืฉื™ืžื•ืฉ ื‘ืขื‘ืจ, ืขื›ืฉื™ื• ืœื

  • ืื ื—ื ื• ืžืชื›ื ื ื™ื ืœื”ืฉืชืžืฉ

38 ืžืฉืชืžืฉื™ื ื”ืฆื‘ื™ืขื•. 8 ืžืฉืชืžืฉื™ื ื ืžื ืขื•.

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

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