×€×ך×ע׊×× × ×€×× ×עך ×××עך×ע׊×× × ×€×× × ×§×××× ×××:
×€×ךש××× × ×עסע××ש ×ך×֞קעךס
×××ך: Jakub Korab, ×ַך××ס××¢×עך: O'Reilly Media, ×× ×§., ××ס××Ö·××¢ ××Öž×: ××× × 2017, ISBN: 9781492049296.
׀ֿך×֎עך ×××עך××¢×ע׊××¢ ××××:
ק××€××× 3
ק×ַ׀ק×Ö·
Kafka ××× ××¢×××¢××Öž×€ÖŒ×¢× ××× ××× ×§×¢××× ×Š× ××ַק×××¢× ×ַך×× ×¢×××¢××¢ ×€×× ââ×× ×××××××ש×Ö·× × ×€×× ×עק×Ö·××Öž××¢××ק ×Öž× ××Öž× ×ך×֞קעךס ××× ××ס××××× ×Š× ×©××¢×× ×ַך×××£ ק×××€× ×Öž× ××Öž× ×ך×֞קעךס ×€Ö¿×ַך ×€×ַךש×××¢× ×¢ ×€×× ×-׊×-×€×× × ×× ×עך×ַקש×Ö·× ×, ×××֞ס ××× ××סקך×××× ××× ××¢× ××× ××× ×עך "סק×Ö·××× × ×ַך×××£ ××× ×××ס" ××××£ ×××Ö·× 28 × ××Š× ×§×ַסעס ××× ×§×¢××× ××× ××ַך××¢×× ×š××××× ××××£ ××××-×××¢× ×× ××שעס×ש×Ö·× ×€×× ×××עך ×ך××ס ×Ö·××Ö·×× ×¥ ×€×× ××Ö·××, ×Ö·××Ö· ××× ×××Ö·× ×§××קס ××× ×ַקסעס ××Öž×ס, ×שעת × ×Öž× ×Ö·××Ö·××× × ×× ××Ö·×× ×Š× ×××× ××¢××××× × ×××š× ×§×××€× ×¡×ס××¢××¢× ×Öž× ×€ÖŒ×š×Ö·× ××××£ ×× ×€ÖŒ×š×Öž×××ַק××××××× ×€×× ×€ÖŒ×š×Öž××סעךס ×Öž×עך ×× ×עךע ק×Öž× ×¡××עךס. ××× ×€×ַק×, ×× ×¡××× ×§×ַ׀ק×Ö· ××××סץ ××× ×Š× ××ַק×××¢× ×× ××× ×€×× ×עס×××ש×× × ×ַךק×Ö·×עק×שעך ×××֞ס ×× ×× ×××עךס×Ö·× ××Ö·××Ö· ×š×¢×š× - ××× ××¢ ××שך××××.
××¢××¢×× ××¢× ××¢×Š× ×Š××, ×× ×עךע ××××¢×š×€×¢× ××©× ××¢××××× ×××¢× ×××׀ש××××. ק×ַ׀ק×Ö· ××Öž×:
- ×××× ××֞ך ×©× ×¢×
- ׊×ש××¢×× ×עך ××Ö·× ×××××× ×××¢× ××ך ×ַך××¢× ××× ×ַך××ק××¢×
- ש×××Š× ×ַך××ס××¢×עך-×Ö·××Öž× ×¢× × ××× ×€×× ×-׊×-×€×× × ××Öž××¢×ס
- ×× ××××¡× × ××©× ×€ÖŒ×Ö·××¢××¢× ×ַך×Öž×€ÖŒ ××× ×Ö·××× × ×§×Öž× ×¡××עךס. ×€Ö¿×ַך ×××ַש׀֌××, ×× ×€×֞ךש××¢××× × ×€×× ×××××¢ ×× ×š×× ××× ×× ××¢××¢ ××× ActiveMQ ×××ך×××× ×××¢× ×× × ××עך ×€×× ×§×Öž× ×¡××עךס ××××£ ×× ×עס××× ××ש×Ö·× ×××קס×.
- ×××× ××֞ך×××Ö·× ××Ö·×× ×¡×§×Ö·××Ö·×××¢; ×××× ×××× ×¢×š ×עק×עך ×××֞ס ××××Ö·×× ×ַך××ק××¢× ×§×¢× ×¢× ××××× ××Öž× ××֞ס ××× ××ַקס×××× ××סק ×××ק××Ö·×, עס ××× ××× ×¢× ×Š× ×××× ××××Ö·×עך ×€×× ×Ö· ×××× ×עק×עך ×××ַש׀֌×× ×Š× ×€×ַך××š×¢×¡×¢×š× ×€×֞ךש××¢××× ×
- ××Ö·××š×¢× ×¢×Š× ×ַקסעס ×Š× ×¡××֞ך×× × ××× ×š××ך××××× × ×ַך××ק××¢×
×Š× ×עך×ך×××× ×Ö·××¢ ××¢×, Kafka ×× ××¢× ×××¢× ×Ö·× ×ַךק×Ö·×עק×שעך ×××֞ס ך××××€××× × ×× ×š×Öž×עס ××× ×š×ס׀֌×Ö·× ×¡×Ö·××××Ö·××× ×€×× ×§××××Ö·× ×¥ ××× ×עס×××ש×× × ×ך×֞קעךס. ×× JMS ××Öž××¢× ××× ×××עך ×עק×עך ×֞ך××¢× ×××, ××× ×עך ×עק×עך ××× ×€×ַך×Ö·× ××××֞ך×××¢× ×€Ö¿×ַך ××ס×ך××××××× × ×ַך××ק××¢× ××× ×§××××Ö·× ×¥ × ×֞ך ××Öž×× ×Š× ××Öž×š× ×××¢×× ×©××§× ××× ×š×ס××××× × ×ַך××ק××¢×. Kafka, ××××£ ×× ×× ×עךע ××Ö·× ×, ××× ×§×××¢× ×-×¡×¢× ×ך×ק, ××× ×עך ק×××¢× × × ×¢×× ××××£ ×€×××¢ ×€×× ââ×× ×€Ö¿×¢×֎ק×××× ×€×× ×Ö· ×ך×××׊××× ×¢×× ×עק×עך, ×Ö·××Ö· ××× ×©××× ×€×ַךש׀֌ך××××× × ×€×× ××Ö·×××Ö·××ק ×ַך××ק××¢× ×Š× ×§×Öž× ×¡××עךס, ××× ×××¢×§×¡× ×€Ö¿×ַך ×Ö· ××֞ך ×©× ×¢× ××× ×¡×§×Ö·××Ö·×××¢ ×עק×עך. ×€Ö¿×ַך ××¢× ××©× ×××֞ס ××Öž×× ××¢×ך××¢× ××× ×ך×××׊××× ×¢×× ×עס×××ש×× × ×¡×ס××¢××¢×, ×ך××¢×× ××× Kafka ך×ק×××××¢×š× ×Ö· ×€×× ××Ö·××¢× ××Ö·× ×¢× ×עך×× × ×€×× ×××× ×× ×.
×עך ××× ××©×¢× ×ך××¢ ך××××× × ××× ××¢×€Ö¿××š× ×Š× ×עך ש×Ö·×€×× × ×€×× ×Ö· ×עס×××ש×× × ×× ×€×š×ַס×ך×ַק×שעך ×××֞ס ××× ×××××ת ×Š× ×€×ַך××š×¢×¡×¢×š× ×ך××€ÖŒ×× ××× ×€×××¢ ×֞ך×עךס ×€×× ××Ö·×× ×Ö·××× ×§×Ö·××€ÖŒ×¢×š× ××× ×Ö· ק×Ö·× ×××¢× ×©×Ö·× ×Ö·× ×עק×עך. ××× ××ך ×××¢×× ××¢×, ××¢× ×Š×××Ö·× × ×§××× ××× ××Ö·× ××-×֞׀ס, ×××֞ס ×××× ×Ö·× Kafka ××× × ××©× ×€ÖŒ×ַס×ק ×€Ö¿×ַך ×××עך ×××׀֌ס ×€×× ××עךק××Öž××× ××× ××× ×¡××Ö·×××š× ××××××××ך×.
××× ×Ö·×€××× ×עס××× ××ש×Ö·× ××Öž××¢×
×Š× ×ק××× ×× ×š×¢×§×××ךע××¢× ×¥ ××סקך×××× ×××××, Kafka ××× ×§×Ö·××××× × ×ַך××ס××¢××-×Ö·××Öž× ××š× ××× ×€×× ×-׊×-×€×× × ×עס×××ש×× × ××× ×עך ×××× ×¡×Öž×š× ×€×× ×עס××× ××ש×Ö·× - ××¢××¢. ××֞ס ××× ×§×Ö·× ×€××××× × ×€Ö¿×ַך ××¢× ××©× ×××֞ס ××Öž×× ××¢×ך××¢× ××× ×עס×××ש×× × ×¡×ס××¢××¢×, ××× ×× ×××Öž×š× "××¢××¢" ךע׀עךס ×Š× ×Ö· ×ך×Öž×ק×Ö·×¡× ×עק×Ö·× ×××Ö·× ×€×× ×××֞ס (×€×× ×עך ××¢××¢) ××××¢× ×¢× ××× × ×× ××ך×Ö·××Ö·×. ק×ַ׀ק×Ö· ××¢×עס ××Öž× ×××× ×עךע×× × ××× ×Ö· ××××ך×× ×עס××× ××ש×Ö·× ×××€ÖŒ, ××× ×××€××× × ××× ×× ×ק××× ×Š× ××¢× ×××.
×€Ö¿×ַך ×× ×š×¢×©× ×€×× ××¢× ×§×Ö·×€ÖŒ×××, ס××Ö·×× ××ך ××Öž×× ×Ö·× ×עךש, ×עך ×עך××× "××¢××¢" ×××¢× ×֞׀֌ש××§× ×Š× ×Ö· ק×ַ׀ק×Ö· ××¢××¢.
×Š× ××֞ך ×€Ö¿×ַךש×××× ××× ××¢×עס ××××××× ××× ×××֞ס ×עך×Ö·× ××× ××× ×Š×ש××¢××, ××ך ××Ö·×š×€Ö¿× ×Š× ×¢×š×©×עך ק×ק ××× ××× ××¢× ×¢× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× Kafka.
××¢×עך ××¢××¢ ××× Kafka ××× ×××× ×××××¢× ×¢ ק××Öž×¥.
׀֌ך×Öž××סעךס ×××֞ס ש××§× ×ַך××ק××¢× ×Š× Kafka שך××Ö·×× ×Š× ××¢× ×§××Öž×¥, ××× ×§×Öž× ×¡××עךס ××××¢× ×¢× ×€×× ×× ×§××Öž×¥ ××× ×€ÖŒ××× ××¢×š× ×××֞ס קעס×××עך ×€×֞ך××ס. ×€ÖŒ×ך××Ö·××ק××, ק×ַ׀ק×Ö· ××ס××¢×§× ×× ×Öž××××Ö·×¡× ××××× ×€×× ×× ×§××Öž×¥, ×Š× ×× ×ַך××ק××¢× ××× ×× ××××× ××¢× ×¢× ××××¢× ×¢× ×Öž×עך × ×ש×. × ××××€× ×××× ×€×× ×§×׀ק×'ס ×××××× ××× ×× ×עך ×עק×עך ××× × ××©× ×ק׀×× ×Š× ×עסע××שעס ×××¢×š× ××¢××××¢× × ××עך × ××©× - ××ס ××× ×× ×€×ך×× ××××ך××××ק××× ×€×× ××¢× ×§×××¢× ×.
×× ×עך××× ×¢× "××Öž×" ××× "×××Ö·××" ××Öž× × ×× ×עךש××Ö·× ×¢× ×××
ק×ַ׀ק×Ö· ××ַק××××¢× ×××ש×Ö·× . ×× ××ק×× ××¢ ××עך×עך ×××¢×š× ×× ××¢× ××Š× ×Š× ××¢××€× ×€×ךש××× ×.
×עך ××Öž××¢× ××× ××֞ך ×Ö·× ×עךש ×€×× ActiveMQ, ××× ×ַך××ק××¢× ×€×× ×Ö·××¢ ק××× ××¢× ×¢× ×¡××Öž×š× ××× ×עך ××¢×××קעך ק××Öž×¥, ××× ×עך ×עק×עך ××ַךקס ×× ×ַך××ק××¢× ××× ×××ס××¢××¢×§× × ×Öž× ××× ××Öž×× ×©××× ××××¢× ×¢×.
××Öž××ך ×××Š× ×ך×Öž×× ×Ö· ×××¡× ××׀֌עך ××× ×§×ק ××× ×× ××¢××¢ ק××Öž×¥ ××× ×עך ××¢××Ö·×.
×× ×§×ַ׀ק×Ö· ק××Öž×¥ ××ש×××× ×€×× ×¢×××¢××¢ ×€ÖŒ×ַך××ש×Ö·× × (
×€×××ךע 3-1. ק×ַ׀ק×Ö· ×€ÖŒ×ַך××ש×Ö·× ×
×××¢× ×Ö· ׀֌ך×Öž××׊×ךעך ש××§× ×Ö· ×Öž× ××Öž× ×Š× ×Ö· ק×ַ׀ק×Ö· ××¢××¢, עס ××ס×××× ×Š× ×××֞ס ׊ע×××××× × ×Š× ×©××§× ××¢× ×Öž× ××Öž×. ××ך ×××¢×× ×§××§× ××× ××¢× ××× ×עך ××¢××Ö·× ×©×€ÖŒ×¢×עך.
××××¢× ×¢× ×ַך××ק××¢×
×עך ק×××¢× × ×××֞ס ×××× ×Š× ××××¢× ×¢× ×× ×ַך××ק××¢× ××Ö·× ×××ש×× ×Ö· ××¢××××¡× ×××Ö·×× ×עך××€× ×§×Öž× ×¡××עך ×ך×׀֌ע, ×××֞ס ×××××× ×Š× ×Öž×€×¡×¢× ×ַך××ק××¢× ××× ×× ×Š×¢×××××× ×. ×Ö· ×€×Öž××Öž ××× ×Ö· ×× ×§×š×Ö·××¢× ××Ö·× ×©××¢××¢ ×××֞ס ס××ַךץ ××× 0 ××× ×× ×Öž× ×××× ×€×× ×Ö· ׊ע×××××× ×. ×עך ק×Ö·× ×¡××עך ×ך×׀֌ע, ×š×¢×€×¢×š×¢× ×¡× ××× ×× ×Ö·×€ÖŒ× ×××š× ×× ××Ö·× ×׊עך-×××€××× × group_id, ק×֞ך×ַס׀֌×Ö·× ×× ×Š× ×××× ××Ö·××ש×ק×Ö·× ×§×Ö·× ×¡××עך ×Öž×עך ס×ס××¢×.
ך××Ö¿ ×עס×××ש×× × ×¡×ס××¢××¢× ××××¢× ×¢× ××Ö·×× ×€×× ×× ×עס××× ××ש×Ö·× × ××Š× ×§×××€× ×× ×¡××Ö·× ×¡×× ××× ×€Ö¿×¢××¢× ×Š× ×€ÖŒ×š×֞׊עס ×ַך××ק××¢× ××× ×€ÖŒ×ַך×Ö·××¢×. ××××, עס ×××¢× ×××ש×Ö·×××Ö·×× ×××× ×€×××¢ ק×Ö·× ×¡××עך ×× ×¡××Ö·× ×¡×× ×××֞ס ××××× ×× ××¢×××¢ ק×Ö·× ×¡××עך ×ך×׀֌ע.
×× ×€ÖŒ×š×Öž×××¢× ×€×× ××××¢× ×¢× ×§×¢× ×¢× ×××× ×š×¢×€ÖŒ×š×××¢× ××× ××× ××××:
- ×עך ××¢××¢ ××× ×¢×××¢××¢ ×€ÖŒ×ַך××ש×Ö·× ×
- ק×××€× ×ך×׀֌עס ×€×× ×§×Öž× ×¡××עךס ×§×¢× ×¢× × ××Š× ×Ö· ××¢××¢ ××× ×עך ××¢×××קעך ׊×××
- × ×ך×׀֌ע ×€×× ââק×Öž× ×¡××עךס ×§×¢× ×¢× ××Öž×× ×§×××€× ××Ö·××× ×עך ×× ×¡××Ö·× ×¡××
××֞ס ××× ×Ö· × ××-× ××××××Ö·× ×€×××¢-׊×-×€×××¢ ׀֌ך×Öž×××¢×. ×Š× ×€Ö¿×ַךש×××× ××× ×§×ַ׀ק×Ö· ××Ö·× ××Ö·×× ××׊××× ××¢× ×Š××××©× ×§×Ö·× ×¡××עך ×ך×׀֌עס, ק×Ö·× ×¡××עך ×× ×¡××Ö·× ×¡×× ××× ×€ÖŒ×ַך××ש×Ö·× ×, ××Öž××ך ק××§× ××× ×Ö· סעך××¢ ×€×× ââ׀֌ך×Ö·×ךעס××××× ×עך ק×Öž××€ÖŒ××׊××š× ××××¢× ×¢× ×¡×× ×¢×š××Öž××.
ק×Öž× ×¡××עךס ××× ×§×Ö·× ×¡××עך ×ך×׀֌עס
××Öž××ך × ×¢××¢× ××× ×Ö· ס××ַך××× × ×€×× × ×Ö· ××¢××¢ ××× ×××× ×Š×¢×××××× × (
×€×××ךע 3-2. ק×Öž× ×¡××עך ××××¢× × ×€×× ×Š×¢×××××× ×
×××¢× ×Ö· ק×Ö·× ×¡××עך ×××ַש׀֌×× ×§×Ö·× ×¢×§×¥ ××× ×××× ×××××¢× ×¢ group_id ×Š× ××¢× ××¢××¢, עס ××× ×ַס××× × ×Ö· ××××¢× ×¢× ×Š×¢×××××× × ××× ×Ö· ×€×Öž××Öž ××× ×עך ׊ע×××××× ×. ×× ×©××¢××¢ ×€×× ââââ××¢× ×€×Öž××Öž ××× ×§×Ö·× ×€×××עך×Ö·××Ö·× ××× ××¢× ×§×××¢× × ××× ×Ö· ×××Ö·×× ×Š× ×× ××¢×š×¡× ×ע׊××¢ ש××¢××¢ (× ××Ö·×Ö·×¡× ×Öž× ××Öž×) ×Öž×עך עך×××Ö·×¡× ×©××¢××¢ (×Öž××××Ö·×¡× ×Öž× ××Öž×). ×עך ק×Ö·× ×¡××עך ך×ק××עס (×€ÖŒ×Öž××ס) ×ַך××ק××¢× ×€Ö¿×× ×עך ××¢××¢, ×××֞ס ×××× ××× ×¡×ַק×××¢× ×ש×Ö·×× ××××¢× ×¢× ×€Ö¿×× ×× ×§××Öž×¥.
×× ×Öž×€×¡×¢× ×©××¢××¢ ××× ×§×¢×¡×××עך ק×Ö·××××Ö·× ×Š×ך×ק ×Š× Kafka ××× ×¡××Öž×š× ××× ×ַך××ק××¢× ××× ×Ö·× ×× ×¢×š××¢× ××¢××¢ _ק×Ö·× ×¡××עך_×֞׀סעץ. ××××¢× ×¢× ×ַך××ק××¢× ××¢× ×¢× × ×Öž× × ××©× ×××ס××¢×עק×, × ×× ×¢× ××¢× ×Ö· ךע×××עך ×עק×עך, ××× ×עך ק×××¢× × ×§×¢× ×¢× ×š×××××× × ×× ×€×Öž××Öž ×Š× ×©××Ö·×¢×-׀֌ך×֞׊עס ש××× ××××× ×ַך××ק××¢×.
×××¢× ×Ö· ׊×××××עך ××Ö·××ש×ק×Ö·× ×§×Ö·× ×¡××עך ק×Ö·× ×¢×§×¥ ××× ×Ö· ×Ö·× ×עךש group_id, עס ××Ö·× ×××ש×× ×Ö· ׊××××× ×××Ö·×× ×××֞ס ××× ×€×š××Ö· ×€×× ×עך עךש×עך (
×€×××ךע 3-3. ׊×××× ×§×Öž× ×¡××עךס ××× ×€×ַךש×××¢× ×¢ ק×Ö·× ×¡××עך ×ך×׀֌עס ××××¢× ×¢× ×€Ö¿×× ×עך ××¢×××קעך ׊ע×××××× ×
ק×Öž× ×¡××עךס ××× ×Ö· ק×Öž× ×¡××עך ×ך×׀֌ע
×××¢× ×××× ×§×Ö·× ×¡××עך ×××ַש׀֌×× ××××¢× × ××Ö·×× ×€×× ×Ö· ׊ע×××××× ×, עס ××× ×€×× ×§×Öž× ×ך×Öž× ×€×× ×× ×××Ö·×× ××× ×€ÖŒ×š×ַסעס×Ö·× ×ַך××ק××¢× ××× ××סקך×××× ××× ×× ×€×š×עך××קע ×Öž×€ÖŒ×××××× ×.
×××× ×¢×××¢××¢ ×× ×¡××Ö·× ×¡×× ×€×× ×§×Öž× ×¡××עךס ××¢× ×¢× ×§×Öž× × ×¢×§××¢× ××× ×עך ××¢×××קעך group_id ×Š× ×Ö· ××¢××¢ ××× ×××× ×Š×¢×××××× ×, ×עך ×××ַש׀֌×× ×××֞ס ×ע׊××¢ ק×Öž× × ×¢×§××¢× ×××¢× ××ַק×××¢× ×§×Öž× ×ך×Öž× ×××עך ×× ×××Ö·×× ××× ×€Ö¿×× ××¢× ××Öž××¢× × ×¢×¡ ×××¢× ××ַק×××¢× ×Ö·××¢ ×ַך××ק××¢× (
×€×××ךע 3-4. ׊×××× ×§×Öž× ×¡××עךס ××× ×עך ××¢×××קעך ק×Ö·× ×¡××עך ×ך×׀֌ע ××××¢× ×¢× ×€×× ×עך ××¢×××קעך ׊ע×××××× ×
××¢× ××Öž××¢ ×€×× ââ׀֌ך×ַסעס×× ×, ××× ×××֞ס ×× × ××עך ×€×× ×§×Ö·× ×¡××עך ×× ×¡××Ö·× ×¡×× ×קס××× ×× × ××עך ×€×× ×€ÖŒ×ַך××ש×Ö·× ×, ×§×¢× ×¢× ×××× ××¢××Ö·× ×§ ×€×× ××× ×Ö· ××× ×€×× ××סש××ס×ק ק×Ö·× ×¡××עך. ××֞ס ×§×¢× ×××× × ×׊×ק ×××× ××ך ××Ö·×š×€Ö¿× "×ַק××××-×€ÖŒ×ַס×××" (×Öž×עך "×××ס-×××ַךע×") ק××ַס×עך×× × ×€×× ×××× ×§×Ö·× ×¡××עך ×× ×¡××Ö·× ×¡××, ××Öž×ש ×€×××¡× ××ק ק×××€× ×§×Öž× ×¡××עךס ××× ×€ÖŒ×ַך×Ö·××¢× ("×ַק××××-×ַק××××" ×Öž×עך "×××ס-×××ס") ××× ×€×× ×עך ×××€ÖŒ×ש ××× ××× ×¡××Ö·× ××××.
×עך ×Öž× ××Öž× ×€×ַךש׀֌ך××××× × ×֞׀֌׀×ך×× × ××סקך×××× ××××× ×§×¢× ×¢× ×××× ××××ש ק×Ö·××€ÖŒ×¢×š× ××× ××× ×Ö· × ×֞ך××Ö·× JMS ך×× ××××××××. ××× ××¢× ××Öž××¢×, ×ַך××ק××¢× ×עש××§× ×Š× ×× ×š×× ×××¢× ×××× ××××Ö·× ×× ×€×× ×× ×עך××¢××××× ×Š××××©× ×× ×Š×××× ×§×Öž× ×¡××עךס.
ך××Ö¿ ×Öž×€×, ×××¢× ××ך ××Ö·×× ×§×××€× ×× ×¡××Ö·× ×¡×× ×€×× ×§×Öž× ×¡××עךס, ××ך ××Öž× ××֞ס ×Öž×עך ×Š× ×€ÖŒ×š×֞׊עס ×ַך××ק××¢× ××× ×€ÖŒ×ַך×Ö·××¢×, ×Öž×עך ×Š× ×€×ַך××š×¢×¡×¢×š× ×× ×××ק××Ö·× ×€×× ××××¢× ×¢×, ×Öž×עך ×Š× ×€×ַך××š×¢×¡×¢×š× ×× ×€×¢×¡×ק××Ö·× ×€×× ×× ××××¢× ×¢× ×€ÖŒ×š×֞׊עס. ××× × ××××× ×××× ×§×Ö·× ×¡××עך ×××ַש׀֌×× ×§×¢× ×¢× ××××¢× ×¢× ××Ö·×× ×€×× ×Ö· ׊ע×××××× × ××× ×Ö· ׊×××, ××× ××× ××֞ס ×Ö·×ש×××× ××× Kafka?
×××× ×××¢× ×Š× ××Öž× ××֞ס ××× ×Š× × ××Š× ×Ö· ×××× ×§×Ö·× ×¡××עך ×××ַש׀֌×× ×Š× ××××¢× ×¢× ×Ö·××¢ ×× ×ַך××ק××¢× ××× ×€×Öž×š× ××× ×Š× ×× ×€×Öž××¢× ×עק×. ×שעת ××¢× ×Š×××Ö·× × ×× ×§×š×ס×× ×€ÖŒ×š×ַסעס×× × ×ך××€ÖŒ××, עס ×× ×§×š×ס×Ö·× ×× ×§×Ö·××€ÖŒ×עקס××× ×€×× ×× ×§×Ö·× ×¡××עך ××Öž××ק ××× ××× ××Öž×š× ××©× ×Š× ×€×ַך××š×¢×¡×¢×š× ×× ×š×Öž×××ַס×× ×ַס ×€×× ×× ××××¢× ×¢× ×¡×ס××¢×. ×××× ×××× ×§×Öž×€ÖŒ××¢ ×€×× ââ×× ×§×Ö·× ×¡××עך ×××× ×ַך×Öž×€ÖŒ ךע×× ×Š× ×Ö· ××Ö·×× ××ך××€×Ö·× ×Öž×עך ×¢× ××¢× ××¢×©×¢×¢× ×ש, ×× ××סעך ס××ַ׀֌ס.
×× ×§×Ö·× ×Öž× ×ק×Ö·× ×××¢× ×Š× ×¡×Öž××××¢ ××¢× ×€ÖŒ×š×Öž×××¢× ××× Kafka ××× ×Š× × ××Š× bÐ×עך ×€ÖŒ×ַך××ש×Ö·× ×.
׊ע×××××× ×
×€ÖŒ×ַך××ש×Ö·× × ××¢× ×¢× ×× ××××€ÖŒ× ×עק×Ö·× ×××Ö·× ×€Ö¿×ַך ×€ÖŒ×ַך×Ö·××¢×××××× × ××××¢× ×¢× ××× ×¡×§××××× × ×Ö· ××¢××¢ ××××Ö·×עך ×€×× ×× ××Ö·× ×××××× ×€×× ×Ö· ×××× ×עק×עך ×××ַש׀֌××. ×Š× ×עסעך ×€Ö¿×ַךש×××× ××¢×, ××Öž×× ××× ×× ××Ö·×ך×Ö·××× ×Ö· ס××××ַ׊××¢ ××× ×¢×¡ ××× ×Ö· ××¢××¢ ××× ×Š×××× ×€ÖŒ×ַך××ש×Ö·× × ××× ×××× ×¢×š ק×Ö·× ×¡××עך ×Ö·××Öž× ××š× ×Š× ××¢× ××¢××¢ (
×€×××ךע 3-5. ×××× ×§×Öž× ×¡××עך ××××¢× × ×€×× ×§×××€× ×€ÖŒ×ַך××ש×Ö·× ×
××× ××¢× ×¡×Š×¢× ×ַך, ×עך ק×Ö·× ×¡××עך ××× ××¢××¢×× ×§×Öž× ×ך×Öž× ×××עך ×× ×€ÖŒ×Öž×× ××¢×š× ×§×֞ך×ַס׀֌×Ö·× ××× × ×Š× ×××× group_id ××× ×××××¢ ×€ÖŒ×ַך××ש×Ö·× × ××× ×¡××ַךץ ××××¢× ×¢× ×ַך××ק××¢× ×€×× ×××××¢ ×€ÖŒ×ַך××ש×Ö·× ×.
×××¢× ×Ö·× × ×Öž× ×§×Ö·× ×¡××עך ×€Ö¿×ַך ×עך ××¢×××קעך group_id ××× ××ס××£ ×Š× ××¢× ××¢××¢, Kafka ך××Ö·××ַק×××¥ ×××× ×¢×š ×€×× ×× ×€ÖŒ×ַך××ש×Ö·× × ×€×× ×עך עךש×עך ×Š× ×× ×š××¢ ק×Ö·× ×¡××עך. × ×Öž× ××¢×, ××¢×עך ×××ַש׀֌×× ×€×× ×× ×§×Ö·× ×¡××עך ×××¢× ××××¢× ×¢× ×€Ö¿×× ×××× ×Š×¢×××××× × ×€×× ×× ××¢××¢ (
×Š× ×¢× ×©×ך ×Ö·× ×ַך××ק××¢× ××¢× ×¢× ×€ÖŒ×š×Ö·×¡×¢×¡× ××× ×€ÖŒ×ַך×Ö·××¢× ××× 20 ×€Ö¿×¢××¢×, ××ך ××Ö·×š×€Ö¿× ×××Ö· ××× ×ס×עך 20 ×€ÖŒ×ַך××ש×Ö·× ×. ×××× ×¢×¡ ××¢× ×¢× ××××× ×קעךע ×€ÖŒ×ַך××ש×Ö·× ×, ××ך ×××¢× ×××× ××× ×§×¡ ××× ×§×Öž× ×¡××עךס ×××֞ס ××Öž×× ××Öž×š× ××©× ×Š× ×ַך××¢×× ××××£, ××× ××סקך×××× ×€×š×עך ××× ×× ××סק×ס××¢ ×€×× ââ××סש××ס×ק ק×Öž× ×¡××עךס.
×€×××ךע 3-6. ׊×××× ×§×Öž× ×¡××עךס ××× ×עך ××¢×××קעך ק×Ö·× ×¡××עך ×ך×׀֌ע ××××¢× ×¢× ×€×× ×€×ַךש×××¢× ×¢ ×€ÖŒ×ַך××ש×Ö·× ×
×עך ס××¢××¢ ש××ךק ך×Ö·××ס×Ö·× ×× ×§×Ö·××€ÖŒ×עקס××× ×€×× ×× Kafka ×עק×עך ק×Ö·××€ÖŒ×¢×š× ××× ×× ×Öž× ××Öž× ×€×ַךש׀֌ך××××× × ×€×ך××× ×× ×Š× ××Ö·××× ×× JMS ך××. ××Öž ××ך ××Öž× × ×× ××Ö·×š×€Ö¿× ×Š× ××Öž×š× ×××¢×× ×× ×€××××¢× ××¢ ×€×× ×§××:
- ×××֞ס ק×Ö·× ×¡××עך ××Öž× ××ַק×××¢× ×× ××××Ö·×עך ×Öž× ××Öž×, ×××××š× ××××£ ך×Öž×× ×-ך×Öž××× ×Ö·××ַק××ש×Ö·×, קך×Ö·× × ×§×Ö·×€ÖŒ×ַ׊×××¢× ×€×× ×€ÖŒ×š××€×¢×ש ××Ö·×€×¢×š× ×Öž×עך ׀ך×עך××קע ×ַך××ק××¢× (××× ×€Ö¿×ַך JMS ×Öž× ××Öž× ×ך×׀֌עס).
- ×××֞ס ×ַך××ק××¢× ××¢× ×¢× ×עש××§× ×Š× ×××֞ס ק×Öž× ×¡××עךס ××× ×Š× ××× ××Öž× ×××× ×©××Ö·×¢×-×××××××¢×š× ××× ×€×Ö·× ×€×× ××ך××€×Ö·×.
×× ×עך ק×ַ׀ק×Ö· ×עק×עך ××× ×Š× ××Öž× ××× ×Š× ×€×Öž×š× ×ַך××ק××¢× ×¡×ַק×××¢× ×ש×Ö·×× ×Š× ×× ×§×Ö·× ×¡××עך ×××¢× ×עך ××¢× ×¢×š ך×ק××עס ×××.
×Öž×עך, ×× ×š×¢×§×××ךע××¢× ×¥ ×€Ö¿×ַך ×€ÖŒ×ַך×Ö·××¢××××× × ×× ×€ÖŒ×š×ךע×Ö·××× × ××× ×š××¡×¢× ××× × ××ך××€×Ö·× ×ַך××ק××¢× ××Öž× × ×× ×××× ×Ö·××עק - ×× ×€Ö¿×ַך×Ö·× ××××֞ך×××¢×ק××× ×€Ö¿×ַך ××× ×€×©×× ×€ÖŒ×ַס×× ×€×× ×× ×עק×עך ×Š× ×עך ק×××¢× ×. ××¢× ×××× ×Ö·× ××× ×××× ×××× ××¢× ×××¢× ××× ×ש××× ××× ×××× ×§×Öž×.
ש××§× ×ַך××ק××¢×
עס ××× ×× ×€Ö¿×ַך×Ö·× ××××֞ך×××¢×ק××× ×€×× ×עך ׀֌ך×Öž××׊×ךעך ×€×× ××¢× ×Öž× ××Öž× ×Š× ××ַש×××¡× ×××֞ס ׊ע×××××× × ×Š× ×©××§× ×Ö· ×Öž× ××Öž×. ×Š× ×€Ö¿×ַךש×××× ×× ×עק×Ö·× ×××Ö·× ×××š× ×××֞ס ××֞ס ××× ××¢×××, ××ך עךש×עך ××Ö·×š×€Ö¿× ×Š× ××Ö·×ך×Ö·××× ×××֞ס ×€ÖŒ×× ×§× ××ך ש×ק×.
××× JMS ××ך × ××Š× ×Ö· ×Öž× ××Öž× ×¡×ך×ק××ך ××× ××¢××Ö·××Ö·××Ö· (××¢××¢×š× ××× ×€ÖŒ×š×֞׀֌עך××עס) ××× ×Ö· ×××£ ××× ×× ×€ÖŒ××××Öž×× (×€ÖŒ××××Öž××), ××× Kafka ×עך ×Öž× ××Öž× ××× ×€ÖŒ×֞ך "ש××ס×-××עך×". ×עך ×Öž× ××Öž× ×€ÖŒ××××Öž×× ××× ×עש××§× ××× ×Ö· ××עך×. ×עך ש××ס×, ××××£ ×× ×× ×עךע ××Ö·× ×, ××× ×עך ××××€ÖŒ× ××¢× ××Š× ×€Ö¿×ַך ׊ע×××××× × ××× ×××× ×Ö·× ×××Ö·××× ××¢×©×¢×€× ××Öž××ק ס׀֌ע׊××€×ש ש××ס××Š× ×©××¢×× ×€Ö¿×ַך××× ××¢× ×¢ ×ַך××ק××¢× ××× ×עך ××¢×××קעך ׊ע×××××× ×.
××× ×ש×Ö·×€ÖŒ×עך 2, ××ך ××סק×Ö·×¡× ×× ×Öž× ×××× ××¢××× × ×¡×Š×¢× ×ַך ××× ×€Ö¿×ַך××× ××¢× ×¢ ××¢×©×¢×¢× ××©× ××Ö·×š×€Ö¿× ×Š× ×××× ×€ÖŒ×š×Ö·×¡×¢×¡× ××× ×¡×ך ×××š× ×Ö· ×××× ×§×Ö·× ×¡××עך:
- ×עך ××Ö·× ×׊עך ×ש××× ××× ×§×Ö·× ×€×××עך×.
- ××¢×× ××× ×§×š×¢××Ö·××Ö·× ×Š× ×× ×ש×××.
- × ××¢×××¢× ××× ××¢×××× ×××֞ס ××××××š× ××¢×× ×€×× ×× ×ש×××.
×××× ××¢×עך ××¢×©×¢×¢× ×ש ××× ×Ö· ×Öž× ××Öž× ×€ÖŒ×֞ס××¢× ×Š× ×Ö· ××¢××¢, ×עך × ×Ö·××ך××¢× ×©×××¡× ××× ×× ×ש××× ×©××Ö·×.
×××¢× ×Ö· ×Öž× ××Öž× ××× ×עש××§× ××× ×× Kafka Producer API, עס ××× ××ך×××¢××× ××¢× ×Š× ×Ö· ׊ע×××××× × ×€×× ×§×Š××¢ ×××֞ס, ××¢××¢×× ×× ×Öž× ××Öž× ××× ×× ×§×š×Ö·× × ×©××Ö·× ×€×× ×× Kafka ×§× ×××, ×§×¢×š× ×× ID ×€×× ×× ×Š×¢×××××× × ×Š× ×××֞ס ×× ×Öž× ××Öž× ××Öž× ×××× ×עש×ק×. ××¢× ×©×ך×× ××× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× Java ×××š× ×× Partitioner ׊×××× ×.
×עך ׊×××× × ×§××§× ××× ××֞ס:
interface Partitioner {
int partition(String topic,
Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster);
}
×× ×€ÖŒ×ַך×××××Öž× ×××€ÖŒ××Ö·××¢× ×××ש×Ö·× × ××Š× ×× ×€×¢××ק××Ö·× ××¢× ×¢×š×Ö·×-׊×× ××ַש×× × ×Ö·××עך×××Ö·× ×××עך ×× ×©×××¡× ×Š× ××ַש×××¡× ×× ×Š×¢×××××× ×, ×Öž×עך ך×Öž×× ×-ך×Öž××× ×××× ×§××× ×©×××¡× ××× ×¡×€ÖŒ×¢×¡××€××¢×. ××¢× ×€×¢××ק××Ö·× ×××¢×š× ×ַך××¢× ××¢××× × ××× ×š××Ö¿ ק×ַסעס. ×Öž×עך, ××× ×עך ׊×ק×× ×€Ö¿× ××ך ×××¢× ×××¢×× ×Š× ×©×š××Ö·×× ×××× ×××××.
שך×××× ×××× ×××××¢× ×¢ ×€ÖŒ×ַך××ש×Ö·× ×× × ×¡×ך×Ö·××¢×××¢
××× ×¡ ק×ק ××× ×Ö· ×××ש׀֌×× ××× ××ך ××××× ×Š× ×©××§× ××¢××Ö·××Ö·××Ö· ׊×××××¢× ××× ×× ×Öž× ××Öž× ×€ÖŒ××××Öž××. ×× ×€ÖŒ××××Öž×× ××× ××× ××עך ×××ַש׀֌×× ××× ×Ö·× ×× ×¡×ך×ק×××Öž× ×Š× ××Ö·×× ×Ö· ×Ö·××עק××××× ×Š× ×× ×©×€ÖŒ×× ×ש×××. ×Ö· ××××¢× ××× ×¢×€ÖŒ×¢×¡ ×××֞ס ××ך ×××Öž×× ××× ×Š× ×××× ×עך×Ö·× ××× × ××©× ×Š× ×××× ××Ö·××Ö·×€××× ××××£ ×ך×Ö·× ×¡××ס××¢ ××× ××××× ×Š× ×××× ×××עך ×Ö·× ××××× ×Ö· ×ך×ַס××× ×ַ׀֌ס×ך×× ×¡×ס××¢× ×§×¢× ×¢× ×Öž× ××××× ×× ××××¢×. ××× ××¢× ×€×Ö·×, ×× ×©××§× ××× ×š×ס××××× × ×¡×ס××¢××¢× ×©××××¢× ××××£ ×× × ××Š× ×€×× ×Ö· ×ס×××¢ ×Š× ×Öž××¢× ××ַק××× ××¢× ×Öž× ××Öž×.
××× × ×֞ך××Ö·× JMS, ××ך ׀ש×× ××¢×€×× ××š× ×Ö· "×Öž× ××Öž× ×ס×××¢" ×€×ַך××Öž× ××× ××××× ×¢×¡ ×Š× ×× ×Öž× ××Öž×. ×Öž×עך, ק×ַ׀ק×Ö· ××× ××× ×× × ××©× ×Ö· ×עק×Ö·× ×××Ö·× ×Š× ×€×Öž×š× ××¢××Ö·××Ö·××Ö·, × ×֞ך ×Ö· ש×××¡× ××× ×Ö· ××עך×.
××× × ×× ×××¢×š× ××× ×Ö· ××Ö·× ×§ ×ַך××עך׀××š× ×€ÖŒ××××Öž×× ×××¢××¢× ×¡ ×Öž×š× ×××¢×ק××Ö·× ××ך ××××× ×Š× ××€××××, ××ך ××Öž×× ×§××× ×ך××š× ×Öž×עך ×Š× ××¢×€×× ××š× ×× ××Ö·×× ×¡×ך×ק××ך ×Š× × ××Š× ××× ×× ×©××ס×. ×ַס×××× × ×Ö·× ××ך ××Ö·×š×€Ö¿× ×Ö· ×ש××× ×©××Ö·× ×€Ö¿×ַך ×€ÖŒ×ַך××ש×Ö·× ×× ×, ××××Ö·× ×Ö·××¢ ×ַך××ק××¢× ×©××Ö·××ת ×Š× ×Ö· ×ש××× ×××× ×××× ×€ÖŒ×š×Ö·×¡×¢×¡× ××× ×¡×ך, ××ך ×××¢×× ×§×××¢× ××× ×× ×€××××¢× ××¢ JSON ס×ך×ק××ך:
{
"signature": "541661622185851c248b41bf0cea7ad0",
"accountId": "10007865234"
}
××××Ö·× ×× ×××¢×š× ×€×× ×× ×ס×××¢ ×××¢× ×××Ö·×× ×××€ÖŒ×¢× ××× × ××××£ ×× ×€ÖŒ××××Öž××, ×× ×€×¢××ק××Ö·× ××ַש×× × ×¡×ך×Ö·××¢×××¢ ×€×× ââ×× ×€ÖŒ×ַך×××××Öž× ×Š×××× × ×××¢× × ××©× ×š×××××Ö·××× ×ך×׀֌ע ×€Ö¿×ַך××× ××¢× ×¢ ×ַך××ק××¢×. ×עך××עך, ××ך ××Ö·×š×€Ö¿× ×Š× ×©×š××Ö·×× ××× ××עך ×××××¢× ×¢ ס×ך×Ö·××¢×××¢ ×××֞ס ×××¢× ×€ÖŒ×ַךס××š× ××¢× ×©×××¡× ××× ×Š×¢××××× ×× AccountId ××עך×.
Kafka ×××× ×שעקס×Ö·×× ×Š× ××¢××¢×§× ×§×֞ך×׀֌׊××¢ ×€×× ââ×ַך××ק××¢× ××× ×× ×§×š×Öž× ××× ××× ×Ö· ×€×× ××Ö·× × ×€×× ×××עך×××× ×€Ö¿×¢×֎ק××××. ××€××× ×Ö·×××, ×× ××ַס×ך×-ס׀֌ע׊××€×ש ךעק×××ךע××¢× ×¥, ×Ö·××Ö· ××× ×× ×××××, ××× ×עךש××Ö·× ×¢×.
×עך ××Ö·× ×׊עך ס ×€ÖŒ×ַך××ש×Ö·× ×× × ×¡×ך×Ö·××¢×××¢ ×××× ×¢× ×©×ך ×Ö·× ×Ö·××¢ ש××Ö·××ת ×ַך××ק××¢× ×¡××£ ×ַך×××£ ××× ×עך ××¢×××קעך ׊ע×××××× ×. ××Öž×ש ××֞ס ×××× × ×€ÖŒ×©××, ×× ×€×Öž×עך×× × ×§×¢× ×¢× ×××× ×§×Öž××€ÖŒ××׊××š× ×××š× ×× ××××××ק××× ×€×× ×֞ך×עך×× × ×€Ö¿×ַך××× ××¢× ×¢ ×ַך××ק××¢× ××× ××× ×€×ַך׀עס×××§× ×× × ××עך ×€×× ×€ÖŒ×ַך××ש×Ö·× × ××× ×Ö· ××¢××¢ ×××.
×× × ××עך ×€×× ×€ÖŒ×ַך××ש×Ö·× × ××× ×Ö· ××¢××¢ ×§×¢× ×¢× ××××©× ×××עך ׊××Ö·×, ××××Ö·× ××× ×§×¢× ×¢× ×××× ××ס××£ ×××× ×€×ַךקעך ×××× ××××Ö·×עך ×€×× ×¢×š×©× ×¢×§×¡×€ÖŒ×¢×§×××ש×Ö·× ×. ××××, ×Öž× ××Öž× ×©××ס××¢× ×§×¢× ×¢× ×××× ×€Ö¿×ַך××× ×× ××× ×× ×Š×¢×××××× × ××× ××¢× ×¢× ×¢×š××××©× ×Ö·×× ×עש××§× ×Š×, ×××€ÖŒ×××× ×Ö· ש××ק ×€×× ×©××Ö·× ×Š× ×××× ×©×¢×š× ×Š××××©× ×€ÖŒ×š×Öž××׊×ךעך ×× ×¡××Ö·× ×¡××.
×× ×× ×עך ×€×ַק××֞ך ×Š× ××Ö·×ך×Ö·××× ××× ×× ××€××× ×€×ַךש׀֌ך××××× × ×€×× ×ַך××ק××¢× ×ַך××עך ×€ÖŒ×ַך××ש×Ö·× ×. ×××€ÖŒ×ק×Ö·×××, ש××ס××¢× ××¢× ×¢× × ××©× ××××Ö·× ×× ×€×× ×× ×עך××¢××××× ×××עך ×ַך××ק××¢×, ××× ××ַש ×€×Ö·× ×קש×Ö·× × ××Öž× × ×× ××ַך×Ö·× ×××š× ×Ö· ש××× ×€×ַךש׀֌ך××××× × ×€×× ×ַך××ק××¢× ×€Ö¿×ַך ×Ö· ק×××× ××Ö·× × ×€×× ×©××ס××¢×.
עס ××× ××××××ק ×Š× ××Öž× ×Ö·× ×Öž×עך ××ך ק×××Ö·×× ×Š× ×©×€ÖŒ×Ö·××× ×ַך××ק××¢×, ×× ×¡×¢×€ÖŒ×ַך×Ö·××֞ך ××× ×§×¢× ×××× ×š××××.
××Ö·×ך×Ö·××× ×× ×€×Öž×עך×× × ×Š× ×š×¢×€ÖŒ××ַק××× ××Ö·×× ×Š××××©× Kafka ק××ַס××¢×š× ××× ×€×ַךש×××¢× ×¢ ××ש××Ö·×ך×Ö·×€×ק ××Öž×ק××ש×Ö·× ×. ×€Ö¿×ַך ××¢× ×Š××עק, Kafka ק××× ××× ×Ö· ××Ö·×€Ö¿×¢× ×©××š× ×ע׊××Ö·× ×עך××€× MirrorMaker, ×××֞ס ××× ××¢× ××Š× ×Š× ××××¢× ×¢× ×ַך××ק××¢× ×€×× ×××× ×§× ××× ××× ×ַך××עך׀××š× ××× ×Š× ×× ×עך×.
××ך×֞ך××ַקעך ×××× ×€Ö¿×ַךש×××× ×× ×©××ס××¢× ×€×× ×× ×š×¢×€ÖŒ××ק××××× ××¢××¢ ××× ×¡×ך ×Š× ××Ö·××× ×Ö· ק×֞ךע×× ×¡×ך ׊××××©× ×ַך××ק××¢× ×××¢× ×š×¢×€ÖŒ××ק××××× × ×Š××××©× ×§××ַס×עך×, ××××Ö·× ×× × ××עך ×€×× ×€ÖŒ×ַך××ש×Ö·× × ×€Ö¿×ַך ×× ××¢××¢ ×§×¢× × ××©× ×××× ×× ××¢×××¢ ××× ×Š×××× ×§××ַס×עך×.
×× ×× ×€ÖŒ×ַך××ש×Ö·× ×× × ×¡×ך×Ö·××¢××עס ××¢× ×¢× ××¢×€××¢×š×¢× ××¢×××, ××××Ö·× ×€×¢××ק××Ö·× ××ַש×× × ×Öž×עך ך×Öž×× × ×š×Öž××× ×ַך××¢× ××¢××× × ××× ×š××Ö¿ ס×× ×¢×š××Öž××. ×Öž×עך, ×××× ××ך ××Ö·×š×€× ×©××ַךק ×֞ך×עך×× × ×עך×Ö·× ××× ×Öž×עך ××ך ××Ö·×š×€Ö¿× ×Š× ×¢×§×¡×ך×Ö·×§× ××¢××Ö·××Ö·××Ö· ×€×× ×€ÖŒ××××Öž×××, ×€ÖŒ×ַך××ש×Ö·× ×× × ××× ×¢×€ÖŒ×¢×¡ ××ך ××Öž× × ×¢××¢× ×Ö· × ×¢×¢× ×עך ק×ק ×××Ö·.
×× ×¡×§×Ö·××Ö·×××××× ××× ×€×֞ךש××¢××× × ××¢× ×¢×€××¥ ×€×× Kafka ק×××¢× ×€×× ×©××€××× × ×¢×××¢××¢ ×€×× ââ×× ×š×ס׀֌×Ö·× ×¡×Ö·××××Ö·××× ×€×× ×× ×ך×××׊××× ×¢×× ×עק×עך ×Š× ××¢× ×§×××¢× ×. ××× ××¢× ×€×Ö·×, ×Ö· ××ַש××ס ××× ××¢×××× ×Š× ×€×ַךש׀֌ך×××× ×€ÖŒ×Ö·××¢× ×ש×Ö·×× ×€Ö¿×ַך××× ××¢× ×¢ ×ַך××ק××¢× ×Š××××©× ×¢×××¢××¢ ק×Öž× ×¡××עךס ×ך××¢×× ××× ×€ÖŒ×ַך×Ö·××¢×.
JMS ×ך×֞קעךס ×××× ××Ö·×š×€Ö¿× ×Š× ××Ö·× ×××¢× ××× ×Ö·××Ö· ךעק×××ךע××¢× ×¥. ×× ×עךעס××× ×××, ×× ×עק×Ö·× ×××Ö·× ×€Ö¿×ַך ש××§× ×€Ö¿×ַך××× ××¢× ×¢ ×ַך××ק××¢× ×Š× ×עך ××¢×××קעך ק×Ö·× ×¡××עך, ×××€ÖŒ××Ö·××¢× ×Ö·× ×××š× JMS ×Öž× ××Öž× ×ך×׀֌עס (×Ö· ××עך×××ש×Ö·× ××××£ ×× ×§××¢×€ÖŒ×ק ××ַסע ××Ö·××Ö·× ×¡×× × (SLB) ס×ך×Ö·××¢×××¢), ×××× ×š×ק×××××¢×š× ×× ×¡×¢× ×עך ×Š× ×Š×××× ×ַך××ק××¢× ××× ×©××Ö·××ת. ××× ××¢× ×€×Ö·× ×€×× JMS, ×עך ×עק×עך ××× ×€×ַך×Ö·× ××××֞ך×××¢× ×€Ö¿×ַך ש××§× ××¢× ×ך×׀֌ע ×€×× ââ×€Ö¿×ַך××× ××¢× ×¢ ×ַך××ק××¢× ×Š× ×××× ×§×Ö·× ×¡××עך ×€×× ×€×××¢, ××× ×ך×Ö·× ×¡×€×¢×š×× × ×Öž×× ×¢×š×©××€ÖŒ ×€×× ×× ×ך×׀֌ע ×××× ×עך ק×Ö·× ×¡××עך ×€××× ×Ö·××עק.
׀֌ך×Öž××׊×ךעך ×Ö·×ך×××Ö·× ×¥
×€ÖŒ×ַך×××××Öž× ××× × ××©× ×× ××××× ××Ö·× ×Š× ××Ö·×ך×Ö·××× ×××¢× ×©××§× ×ַך××ק××¢×. ××Öž××ך × ×¢××¢× ×Ö· ק×ק ××× ×× ×©××§× () ××¢×××Öž×ס ×€×× ×× ×€ÖŒ×š×Öž××׊×ךעך ק××ַס ××× ×× Java API:
Future < RecordMetadata > send(ProducerRecord < K, V > record);
Future < RecordMetadata > send(ProducerRecord < K, V > record, Callback callback);
עס ××Öž× ×××× ××× ××××¢×š×§× ×Ö·× ×××××¢ ××¢×××Öž×ס ׊×ך×קק×××¢× ×€×××שעך, ×××֞ס ×× ××ק×××¥ ×Ö·× ×× ×©××§× ×֞׀֌עך×ַ׊××¢ ××× × ××©× ×××. ×עך ךע×××××Ö·× ××× ×Ö·× ×Ö· ×Öž× ××Öž× (ProducerRecord) ××× ×עשך××× ×Š× ×× ×©××§× ××ַ׀עך ×€Ö¿×ַך ××¢×עך ×ַק×××× ×Š×¢×××××× × ××× ×עש××§× ×Š× ×עך ×עק×עך ××× ×Ö· ××× ×עך×ך×× × ×€×Öž××¢× ××× ×× Kafka ק×××¢× × ××××××Öž×עק. ××Öž×ש ××֞ס ×××× ×× ××× ×× ×× ×§×š×¢××Ö·××× ×©× ×¢×, עס ×××× ×Ö·× ×Ö· ×× ×קס׀֌×ך××Ö·× ×¡× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×§×¢× ×¢× ×€×ַך×××š× ×ַך××ק××¢× ×××× ×××× ×€ÖŒ×š×֞׊עס ××× ×¡××Ö·×€ÖŒ×.
××× ×©××¢× ××ק, עס ××× ×Ö· ×××¢× ×Š× ××Ö·×× ×× ×©××§× ×֞׀֌עך×ַ׊××¢ ×עך ×€×ַך××Öž×××¢× ××××£ ×× ×§×Öž×¡× ×€×× ×€×֞ךש××¢××× ×. ×× ×ך××ס ×€×× ××¢× ××ַ׀עך ×§×¢× ×¢× ×××× ××ַש×××× ×Š× 0, ××× ×× ×©××§× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×€×Öž××¢× ×××¢× ×××× ×ע׊×××× ××¢× ×Š× ×××ַך×× ××× ×× ×Öž× ××Öž× ×ַך××עך׀××š× ×Š× ×עך ×עק×עך ××× ××¢×¢× ××ק×, ××× ××××:
RecordMetadata metadata = producer.send(record).get();
×עך ×××¢×× ××××¢× ×¢× ×ַך××ק××¢×
××××¢× ×¢× ×ַך××ק××¢× ××× × ×Öž× ×§×Ö·××€ÖŒ×עקס×××× ×××֞ס ××Ö·×š×€Ö¿× ×Š× ×××× ×¡×€ÖŒ×¢×§××Ö·×××××× ×××¢××. × ×× ×¢× ××¢× ×× JMS API, ×××֞ס ×§×¢× ×¢× ××××€× ×Ö· ×Öž× ××Öž× ×××¡× ×¢×š ××× ×¢× ×׀עך ×Š× ×Ö· ×Öž× ××Öž×, ×× ×§×Öž× ×¡××עך ק×ַ׀ק×Ö· ××××× ×€ÖŒ×Öž××ס. ××× ×¡ × ×¢××¢× ×Ö· × ×¢×¢× ×עך ק×ק ××× ××¢× ×××€Ö¿× ×Ö·× ×§×¢××¢ ()××¢× ××Š× ×€Ö¿×ַך ××¢× ×Š××עק:
ConsumerRecords < K, V > poll(long timeout);
×עך ׊×ך×קקעך ×××¢×š× ×€×× ××¢× ×××€Ö¿× ××× ×Ö· ק×Ö·× ×××× ×¢×š ס×ך×ק××ך ××× ×§×××€× ×Ö·×××שעקץ ק×Öž× ×¡××עך ךעק×Öž×š× ×€×× ×€ÖŒ×Ö·××¢× ×ש×Ö·×× ×¢×××¢××¢ ×€ÖŒ×ַך××ש×Ö·× ×. ק×Öž× ×¡××עך ךעק×Öž×š× ××× ××× ×Ö· ××Öž××עך ××××€×¢×¥ ×€Ö¿×ַך ×Ö· ש××ס×-×××¢×š× ×€ÖŒ×֞ך ××× ×€Ö¿×ַך××× ×× ××¢××Ö·××Ö·××Ö·, ×Ö·××Ö· ××× ×× ×Š×¢×××××× × ×€×× ×××֞ס עס ××× ×עך×××××.
××× ××סק×Ö·×¡× ××× ×ש×Ö·×€ÖŒ×עך 2, ××ך ×××× ××Ö·××× ××× ××× ×¢× ×××֞ס ××Ö·×€ÖŒ×Ö·× × ×Š× ×ַך××ק××¢× × ×Öž× ××× ××¢× ×¢× ×׊××× ×Öž×עך × ×× ×עך×Öž×× ×€ÖŒ×š×ַסעס×, ××ש×, ×××× ×עך ק×××¢× × ××× × ×× ×××××ת ×Š× ×€ÖŒ×š×֞׊עס ××¢× ×Öž× ××Öž× ×Öž×עך ×××× ×¢×¡ ×Ö·××֞ך××¥. ××× JMS, ××֞ס ××× ××¢×××¢× ××Ö·× ××Ö·×× ×××š× ×Ö· ××¢×š×§×¢× ××¢× ×ש ××Öž××¢. ×עך ×עק×עך ×××¢× ×Öž×עך ××ס××¢×§× ×× ×׊××× ×€ÖŒ×š×Ö·×¡×¢×¡× ×Öž× ××Öž×, ×Öž×עך ש××Ö·×¢×-×עך××¢×× ×× ×š×× ×Öž×עך ש×××× ×× ×Öž× ××Öž× (×ַס×××× × ×ך×Ö·× ××ַקש×Ö·× × ××¢× ×¢× ××¢× ×׊×).
ק×ַ׀ק×Ö· ×ַך××¢× ×××עך ×Ö·× ×עךש. ×ַך××ק××¢× ××¢× ×¢× × ××©× ×××ס××¢××¢×§× ××× ×עך ×עק×עך × ×Öž× ×€ÖŒ×š×ךע×Ö·××× ×, ××× ×××֞ס ××Ö·×€ÖŒ×Ö·× × ××××£ ××ך××€×Ö·× ××× ×× ×€Ö¿×ַך×Ö·× ××××֞ך×××¢×ק××× ×€×× ×× ×€ÖŒ×š×Öž×ך×××× × ×§×Öž× ×××.
××× ××ך ××Öž×× ××¢××Öž××, ×× ×§×Ö·× ×¡××עך ×ך×׀֌ע ××× ×€×ך××× ×× ××× ×× ×€×Öž××Öž ××× ×× ×§××Öž×¥. ×× ×§××Öž×¥ ש××¢××¢ ×€Ö¿×ַך××× ×× ××× ××¢× ×€×Öž××Öž ק×֞ך×ַס׀֌×Ö·× ×× ×Š× ×עך ××××Ö·×עך ×Öž× ××Öž× ×Š× ×××× ×ך××ס ××× ×¢× ×׀עך ×Š× ×Ö·× ×§×¢××¢ (). ×× ×Š××× ×××¢× ××¢× ×€×Öž××Öž ×× ×§×š×ס×× ××× ××ַש××××¢× ××ק ×€Ö¿×ַך ××××¢× ×¢×.
׊×ך×קק×××¢× ×Š× ×× ××××¢× ×¢× ××Öž××¢× ××סק×Ö·×¡× ×€×š×עך, ×Öž× ××Öž× ×€ÖŒ×š×ַסעס×× × ××ש×××× ×€×× ×ך××Ö· ס××Ö·×עס:
- ××ַק×××¢× ×Ö· ×Öž× ××Öž× ×€Ö¿×ַך ××××¢× ×¢×.
- ׀֌ך×֞׊עס ××¢× ×Öž× ××Öž×.
- ××ַש××¢×××§× ×Öž× ××Öž×.
×× ×§×ַ׀ק×Ö· ק×Ö·× ×¡××עך ק××× ××× ×Ö· ק×Ö·× ×€×××עך××ש×Ö·× ×֞׀֌׊××¢ enable.auto.commit. ××֞ס ××× ×Ö· ×Öž×€× ××¢× ××Š× ×€×¢××ק××Ö·× ××ַש××¢××ק×, ××× ××¢××××× ×××¢× ××× ×¡×¢×××× ×ס ××× ×× ×××Öž×š× "×Ö·×××Öž".
××××עך Kafka 0.10, ×Ö· ק×××¢× × ×××֞ס × ××Š× ××¢× ×֞׀֌׊××¢ ×××Öž×× ×©××§× ×× ×€×Öž××Öž ×€×× ×× ×ע׊××¢ ×Öž× ××Öž× ××××¢× ×¢× ××××£ ×עך ××××Ö·×עך ך××€× ×Ö·× ×§×¢××¢ () × ×Öž× ×€ÖŒ×š×ַסעס×× ×. ××֞ס ××Öž× ××¢×××× × ×Ö·× ×עסע××שעס ×××֞ס ××¢× ×¢× ×©××× ××¢×ך××× ×§×¢× ×××× ×š×׀֌ך×Öž×¡×¢×¡× ×××× ×עך ק×××¢× × ××× ×©××× ×€ÖŒ×š×Ö·×¡×¢×¡× ××× ×Öž×עך ××× ××××עך××× ×ך××Ö¿ ××××עך ך××€× ×Ö·× ×§×¢××¢ (). ××× × ×עך ×עק×עך ×××× × ××©× ×§××× ×©××Ö·× ×××¢×× ××× ×€×××¢ ××Öž× ×Ö· ×Öž× ××Öž× ××× ××¢×××¢× ××××¢× ×¢×, ×עך ××××Ö·×עך ק×Ö·× ×¡××עך ×××֞ס ך××ך×××× ××¢× ×Öž× ××Öž× ×××¢× × ××©× ××××¡× ×Ö·× ×¢×€ÖŒ×¢×¡ ש××¢×× ××× ××¢×ך××€×. ××¢× ×֞׀֌׀×ך×× × ××× ××¢×××¢× ×€ÖŒ×¡×¢××××Öž-×ך×Ö·× ××ַקש×Ö·× ×Ö·×. ×עך ×Öž×€×¡×¢× ××× ××¢×××¢× ××××× ××¢× ××××× ×××× ×עך ×Öž× ××Öž× ××× ×׊××× ×€ÖŒ×š×ַסעס×, ×Öž×עך ×××× ×עך ק×××¢× × ×Ö·××֞ך×××, ×עך ×עק×עך ×××Öž×× ×©××§× ×× ××¢×××¢ ×Öž× ××Öž× ××××עך ×Š× ×× ×× ×עך ק×××¢× ×. ×עך ×֞׀֌׀×ך×× × ××× ×§×Öž× ×¡×ס××¢× × ××× ×× ×Öž× ××Öž× ×¢×§×¡×€ÖŒ×š×¢×¡ ××ַך×Ö·× ×××š× "××€ÖŒ××ת ×Ö·××Öž×".
××× Kafka 0.10, ×עך ק×××¢× × ×§×Öž× ××× ×ש××× ×××©× ×Ö·××× ×Ö·× ×× ×§×Ö·××× ××× ×ך×××¢×š× ×€ÖŒ×ך××Ö·××ק×× ×××š× ×× ×§×××¢× × ××××××Öž×עק, ××× ×§×Ö·× ×€××××¢×š× auto.commit.interval.ms. ×עך ×֞׀֌׀×ך×× × ××× ×¢×š××¢×¥ ׊××××©× ×× JMS AUTO_ACKNOWLEDGE ××× DUPS_OK_ACKNOWLEDGE ××Öž×עס. ×××¢× × ××Š× ×Ö·×××֞ק×Öž×××, ×ַך××ק××¢× ×§×¢× ×××× ××××× ××¢× ×š×Ö·××ַך×××ַס ×€×× ×Š× ××× ××¢× ×¢× ×€×ק××ש ׀֌ך×Ö·×¡×¢×¡× - ××֞ס ×§×¢× ×€ÖŒ×ַס××š× ××× ××¢× ×€×Ö·× ×€×× ×Ö· ×€ÖŒ×Ö·××¢××¢× ×§×Ö·× ×¡××עך. ×××× ×Ö· ק×Ö·× ×¡××עך ×Ö·××֞ך×××, ×ַך××ק××¢× ×××Öž×× ×××× ××¢×ך××× ×××š× ×עך ××××Ö·×עך ק×Ö·× ×¡××עך, ס××ַך××× × ××× ×× ××××× ××¢× ×©××¢××¢, ×××֞ס ×§×¢× ×š×¢×××××Ö·× ××× ×Ö· ×××¡× ×Öž× ××Öž×. ××× ××¢× ×€×Ö·×, ק×ַ׀ק×Ö· ××× × ××©× ×€×ַך×××š× ×× ×ַך××ק××¢×, ×× ××××¢× ×¢× ×§×Öž× ××× ××× × ×֞ך × ××©× ×€ÖŒ×š×ַסעס×.
×עך ××Öž××¢ ××× ×× ××¢×××¢ ׊×××Öž× ××× ××× ××עךס××¢ 0.9: ×ַך××ק××¢× ×§×¢× ×¢× ×××× ×€ÖŒ×š×ַסעס×, ×Öž×עך ×××× ×¢×¡ ×€××××, ×× ×€×Öž××Öž ×§×¢× × ××©× ×××× ××××× ××¢×, ×××֞ס ×§×¢× ×××× ××Ö·××Ö·×× ×¢×§×¡×€ÖŒ×š×¢×¡. ×× ×עך ×ַך××ק××¢× ××ך ××ַק×××¢× ×××¢× ×¢×§×¡×ַק××××× × ×Ö·× ×§×¢××¢ (), ×× ×עך ××¢× ×€ÖŒ×š×Öž×××¢×.
××× ××סק×Ö·×¡× ××× "××××¢× ×¢× ×ַך××ק××¢× ×€Ö¿×× ×Ö· ך××" ××××£ ×××Ö·× 21, עס ××× × ×× ×Ö·××Ö· ××Ö·× ××× ×Ö· ×××× ××Öž× ×¢×§×¡×€ÖŒ×š×¢×¡ ×€×× ×Ö· ×Öž× ××Öž× ××× ×Ö· ×עס×××ש×× × ×¡×ס××¢× ×××¢× ××ך××€×Ö·× ××Öž×עס ××¢× ×¢× ××¢× ×××¢× ××× ×ש×××.
××× ×§×ַ׀ק×Ö·, עס ××¢× ×¢× ×Š×××× ×××¢×× ×Š× ××עך××¢×× (××ַק×××¢×) ×Ö· ×€×Öž××Öž (×֞׀סע×): ×××××Öž××Ö·××ש ××× ××Ö·× ×××Ö·××. ××× ×××××¢ ק×ַסעס, ×ַך××ק××¢× ×§×¢× ×¢× ×××× ×€ÖŒ×š×Ö·×¡×¢×¡× ×¢×××¢××¢ ××Öž× ×××× ×עך ×Öž× ××Öž× ××× ×€ÖŒ×š×Ö·×¡×¢×¡× ×Öž×עך × ×× ×Ö·× ×עךש ××××עך ×× ××עך××¢××. ××ך ×§×¢× × ×××× ×§×××Ö·×× × ××©× ×Š× ×€ÖŒ×š×֞׊עס ××¢× ×Öž× ××Öž× ××× ×Ö·××¢ ×××× ×× ××עך××¢×× ××× ××¢×©×¢× ××× ×עך ××× ×עך×ך×× × ××× ×××× ×§×Öž× ××× ××¢×××¢× ××¢×¢× ×××§× ××××עך עס ×§×¢× ×××× ×€ÖŒ×š×Ö·×¡×¢×¡× (××Öž×עך ××× Kafka 0.9 ××× ×€×š×עך).
××ך ×§×¢× ×¢× ×§×Öž× ×ך×Öž×××š× ×× ××Ö·× ××Ö·× ×Öž×€×¡×¢× ××עך××¢×× ×€ÖŒ×š×֞׊עס ××× ×× Kafka ק×Ö·× ×¡××עך ×Ö·×€ÖŒ× ×××š× ××ַש××¢×××§× ××¢× ×€ÖŒ×ַך×Ö·××¢×עך enable.auto.commit ×Š× ×€×Ö·×ש ××× ××€×ך×ש ך××€× ×××× ×¢×š ×€×× ×× ×€××××¢× ××¢ ××¢×××Öž×ס:
void commitSync();
void commitAsync();
×××× ××ך ××××× ×Š× ×€ÖŒ×š×֞׊עס ××¢× ×Öž× ××Öž× "××€ÖŒ××ת ×Ö·××Öž×", ××ך ×××× ××ך××€××š× ×× ×€×Öž××Öž ××Ö·× ×××Ö·×× ××× commitSync()×××š× ×¢×§×¡×ַק××××× × ××¢× ××Ö·×€Ö¿×¢× ××××× × ×Öž× ×€ÖŒ×š×ַסעס×× × ×× ×ַך××ק××¢×.
×× ××¢×××Öž×ס ××Öž× × ×× ××Öž×× ×ַך××ק××¢× ×Š× ×××× ××§× ×Ö·×××××©× ××××עך ××× ××¢× ×¢× ×€ÖŒ×š×ַסעס×, ×Öž×עך ××× ××Öž× ××Öž×š× ××©× ×Š× ×¢××××× ××š× ×€ÖŒ×Öž××¢× ×Š××¢× ×€ÖŒ×š×ַסעס×× × ×××××× ×שעת ××× ××¢×× ×× ×××ס××¢× ×€×× ×ך×Ö·× ×¡×ַק×××Öž× ×Ö·×. עס ××¢× ×¢× ×§××× ×ך×Ö·× ××ַקש×Ö·× × ××× ×§×ַ׀ק×Ö·. ×עך ק×××¢× × ××× × ××©× ×× ×€×××ק××× ×Š× ××Öž× ×× ×€××××¢× ××¢:
- ×Öž××Ö·××Ö·××ק ׊×ך×קקך××× ×Ö· ×€×Ö·×ש ×Öž× ××Öž×. ק×Öž× ×¡××עךס ××× ×××× ×©×¢×€ÖŒ× ××××¡× ×¢××¢× ×€×× ×€ÖŒ×š×Öž×××¢××Ö·××ק ×€ÖŒ××××Öž××× ××× ××Ö·×§×¢× × ×Ö·×××Ö·××ש×Ö·×, ××××Ö·× ××× ×§×¢× ×¢× × ××©× ×€×ַך××Öž×× ××××£ ×עך ×עק×עך ×Š× ×©××Ö·×¢×-×עך××¢×× ×ַך××ק××¢×.
- ש××§× ×ַך××ק××¢× ×Š× ×§×××€× ××¢×עס ××× ×××× ×Ö·××Öž××שע ×֞׀֌עך×ַ׊××¢. ××× ××ך ×××¢×× ××¢× ××Ö·××, ק×Öž× ×ך×Öž× ×××עך ×€×ַךש×××¢× ×¢ ××¢×עס ××× ×€ÖŒ×ַך××ש×Ö·× × ×§×¢× ×¢× ××××× ×¢× ××××£ ×€×ַךש×××¢× ×¢ ××ש×× ×¢× ××× ×× ×§×ַ׀ק×Ö· ×§× ××× ×××֞ס ××Öž× × ×× ×§×Öž××֞ך××Ö·× ×Ö·× ×ך×Ö·× ××ַקש×Ö·× × ×××¢× ×עש×ק×. ××× ×עך ׊××× ×€×× ××¢× ×©×š××××, ×¢×××¢××¢ ×ַך××¢× ××× ××ך××עק×Öž×× ×Š× ××Ö·×× ××¢× ××¢×××¢× ××× ×× KIP-98.
- ××××ַך××¢×עך ××××¢× ×¢× ×××× ×Öž× ××Öž× ×€×× ×××× ××¢××¢ ××× ×©××§× ×× ×× ×עך ×Öž× ××Öž× ×Š× ×× ×× ×עך ××¢××¢. ××××עך, ×× ×ַךק×Ö·×עק×שעך ×€×× ×§×ַ׀ק×Ö· ××¢×€ÖŒ×¢× ×ס ××××£ ×€×××¢ ׀ך××Ö· ××ש×× ×¢× ×€×××¡× ××ק ××× ×××× ××××Öž××ס ××× ×§××× ×€ÖŒ×š×××× ××× ××¢×××× ×Š× ××Ö·××Ö·××× ××¢×. ×€Ö¿×ַך ×××ַש׀֌××, עס ××¢× ×¢× ×§××× ×Ö·×€ÖŒ× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×××֞ס ××Öž×× ××ך ×Š× ××× ×§ ק×Öž× ×¡××עך О ׀֌ך×Öž××׊×ךעך ××× ×Ö· ×ך×Ö·× ×¡×ַק×××Öž×. ××× JMS, ××֞ס ××× ×Š××עש××¢×× ×××š× ×× ××××€×¢×¥ סעס××¢×€×× ×××֞ס ××¢× ×¢× ××ש××€× ×Öž× ××Öž× ×€ÖŒ×š×Öž××סעךס О ×Öž× ××Öž× ×§×Öž× ×¡××עךס.
×××× ××ך ×§×¢× ×¢× × ××©× ×€×ַך××Öž×× ××××£ ×ך×Ö·× ××ַקש×Ö·× ×, ××× ×§×¢× ×¢× ××ך ׊×ש××¢×× ×¡×¢××Ö·× ××קס × ×¢×¢× ×עך ×Š× ×× ×Š××עש××¢×× ×××š× ×ך×××׊××× ×¢×× ×עס×××ש×× × ×¡×ס××¢××¢×?
×××× ×¢×¡ ××× ×Ö· ××¢×××¢×ק××× ×Ö·× ×× ×§×Ö·× ×¡××עך 'ס ×€×Öž××Öž ×§×¢× ×€×ַך××š×¢×¡×¢×š× ××××עך ×× ×Öž× ××Öž× ××× ×€ÖŒ×š×ַסעס×, ×Ö·××Ö· ××× ×עש×ַס ×Ö· ק×Ö·× ×¡××עך קך×Ö·×, ×עך ק×Ö·× ×¡××עך ××× ×§××× ×××¢× ×Š× ××××¡× ×××× ×××× ×§×Ö·× ×¡××עך ×ך×׀֌ע ×××¡× ××¢× ×Öž× ××Öž× ×××¢× ×¢×¡ ××× ×ַס××× × ×Ö· ׊ע×××××× ×. ×Ö·××× ×××× ×¡×ך×Ö·××¢×××¢ ××× ×Š× ×š×××××× × ×× ×€×Öž××Öž ×Š× ×× ×€×š×עך××קע ש××¢××¢. ×× Kafka ק×Ö·× ×¡××עך ×Ö·×€ÖŒ× ××× ×× ×€××××¢× ××¢ ××¢×××Öž×ס ×€Ö¿×ַך ××¢×:
void seek(TopicPartition partition, long offset);
void seekToBeginning(Collection < TopicPartition > partitions);
×××€Ö¿× ×××× () ×§×¢× ×¢× ×××× ××¢××××× × ××× ×עך ×××€Ö¿×
offsetsForTimes(××ַ׀֌ע TimestampsToSearch) ×Š× ×š×××××× × ×Š× ×Ö· ש××Ö·× ××× ×¢×××¢××¢ ס׀֌ע׊××€×ש ×€×× × ××× ×עך ×€×ַך××Ö·× ××¢× ××××.
×××€ÖŒ××ס×Ö·×××, × ××Š× ××¢× ×Š×××Ö·× × ×××× ×Ö·× ×¢×¡ ××× ×××עך ×סת֌×× ×Ö·× ×¢×××¢××¢ ×ַך××ק××¢× ×××֞ס ××¢× ×¢× ×€×š×עך ׀֌ך×Ö·×¡×¢×¡× ×××¢× ×××× ××××¢× ×¢× ××× ×€ÖŒ×š×Ö·×¡×¢×¡× ××××עך. ×Š× ××ס××××× ××¢×, ××ך ×§×¢× ×¢× × ××Š× ××××¢××€ÖŒ×Ö·××¢× × ××××¢× ×¢×, ××× ××סקך×××× ××× ×ש×Ö·×€ÖŒ×עך 4, ×Š× ××Ö·××× ×©×€ÖŒ×ך ×€×× ×€×š×עך ××××× ×ַך××ק××¢× ××× ×¢××××× ××š× ×××€ÖŒ××ק×Ö·××.
×Ö·×××¢×š× ×Ö·×××××¢××, ×××× ×§×Ö·× ×¡××עך ק×Öž× ×§×¢× ×¢× ×××× ××¢××××× ×€ÖŒ×©××, ×Ö·××× ××Ö·× × ××× ×Öž× ××Öž× ×Öž× ××עך ×Öž×עך ×××€ÖŒ××ק××ש×Ö·× ××× ×€ÖŒ×ַס×ק. ×××¢× ××ך ק××§× ××× × ××Š× ×§×ַסעס ×€Ö¿×ַך ×××֞ס Kafka ××× ×§×Ö·××Ö·× ×× ××¢× ×׊×, ×Ö·××Ö· ××× ××Ö·× ×××× × ××Öž× ××¢×©×¢×¢× ×ש×, ××¢×ך×קס, ק××ק×× × ×ך×ַק×× ×, ×××"× ×, ××ך ×€×ַךש×××× ×Ö·× ×× ×Öž× ××עך ×€×× ×××× ×ַך××ק××¢× ××× ×Ö·× ×××ק×× ×Š× ××Öž×× ×Ö· ××Ö·×××××ק ׀֌ך×Ö·× ××××£ ×ַך×××ק ×Ö·×€ÖŒ××ַק××ש×Ö·× ×. ××× ×Ö·××Ö· ק×ַסעס, ×× ×€×¢××ק××Ö·× ×××Ö·××עס ××¢× ×¢× ××ש××××עס ×€ÖŒ×ַס×ק. ××××£ ×× ×× ×עךע ××Ö·× ×, ×××× ×××× ×Ö·×€ÖŒ××ַק××ש×Ö·× ××ַךף ×Š× ×©××§× ×€ÖŒ××××Ö·× ×¥, ××ך ×××× ×§×¢×š×€×Ö·×× × ×¢××¢× ×§×¢×ך ×€×× ××¢×עך ×××× ×Öž× ××Öž×. עס ×Ö·××¢ ק××× ×ַך×Öž×€ÖŒ ×Š× ×§×Öž× ×עקס×.
׀עך××¢× ××¢××¢ ×Ö·××עך××××ש×Ö·× × ××××Ö·×× ×Ö·× ××× ×× ×× ××¢× ×¡××× ×€×× ×ַך××ק××¢× ×× ×§×š×ס××, ×× ×××¢×š× ×€×× ××¢×עך ×××× ×Öž× ××Öž× ××קך×ס×Ö·×. ×ך××ס ×ַך××ק××¢× ××¢× × ×Š× ×××× ××עך××€×× ×××¢× ××××× ××× ×Ö· ××¢×××× ××Ö·× ×€×֞ךע×.
×××× ×Ö·××××××Ö·××××××
Kafka ס ׊×××Ö·× × ×Š× ×××× ×Ö·××××××Ö·××××Ö·×× ××× ×××עך ×Ö·× ×עךש ×€×× ActiveMQ ס ׊×××Ö·× ×. Kafka ××× ×××××× × ×ַך×× ×××Öž×-×××ס ק××ַס××¢×š× ××× ×Ö·××¢ ×עק×עך ×× ×¡××Ö·× ×¡×× ××ַק×××¢× ××× ×€×ַךש׀֌ך×××× ×ַך××ק××¢× ××× ×עך ××¢×××קעך ׊×××.
× ×§×ַ׀ק×Ö· ×§× ××× ××ש×××× ×€×× ×§×××€× ×עק×עך ×× ×¡××Ö·× ×¡×× ×€×××¡× ××ק ××××£ ×€×ַךש×××¢× ×¢ סעך××עךס. Kafka ××× ×××××× × ×Š× ××××€× ××××£ ׀֌ך×Öž×¡× ×¡××Ö·× ××Ö·××Öž× ×¢ ××Ö·×× ×××ַך×, ××× ××¢×עך × ×Öž××¢ ××× ×××× ×××××¢× ×¢ ××¢××ַק××××Ö·× ×¡××֞ך×××ש. ×× × ××Š× ×€×× × ×¢×¥ ×Ö·××Ö·××©× ×¡××֞ך×××ש (SAN) ××× × ××©× ×š×¢×§×Ö·××¢× ××× ××××Ö·× ×§×××€× ×§×Ö·××€ÖŒ××× × ×Öž××× ×§×¢× ×¢× ×§×Öž× ×§×ך××š× ×€Ö¿×ַך ׊×××.ЫE ס××֞ך×××ש ×× ×עך×××Ö·×× ××× ×©×Ö·×€Ö¿× ×§×Öž× ×€××ק×.
ק××€×§× ××× ×©××¢× ××ק ××××£ ס×ס××¢×. ×€×××¢ ×ך××ס ק×ַ׀ק×Ö· ××××¢×š× ×§××× ××Öž× ×€×ַך××Ö·×× ×××עך ק××ַס××¢×š× ××× ×× ×××××××××š× ×©××¢× ××ק ×עך×××Ö·× ×××§× ××× ×Ö· ס×ַק×××¢× ×ש×Ö·× ×š×ס××ַך×. ××֞ס ××× ×Ö·×ש×××× ×××š× ××ַך×Ö·× ×××š× ×§×Ö·××€ÖŒ×Ö·××Ö·××××Ö·×× ××× ×× ×€×š×עך××קע ××עךס××¢ ×€Ö¿×ַך ×ַך××ק××¢× ××× ×× ×עך×ַקש×Ö·× × ×Š××××©× ×ך×֞קעךס.
×ך×֞קעךס ×€×ך××× ×× ×Š× ×Ö· סעך××עך ×§× ×××
××× ×× ××Ö·××¢ ×€×Ö·×, ×Ö· ××¢××¢ ××× ××ש××€× ××× ×Ö· ק×ַ׀ק×Ö· ×§× ××× ××× ×× ×€××××¢× ××¢ ׀֌ך×֞׀֌עך××עס:
- ×× × ××עך ×€×× ×€ÖŒ×ַך××ש×Ö·× ×. ××× ××סק×Ö·×¡× ×€×š×עך, ×× ×€ÖŒ×× ×××¢× ×××¢×š× ××¢× ××Š× ××Öž ××¢×€ÖŒ×¢× ×ס ××××£ ×עך ××¢××××× ××ך×× ×€×× ×€ÖŒ×ַך×Ö·××¢× ××××¢× ×¢×.
- ×עך ךע׀֌××ַק××ש×Ö·× ×€×ַק××֞ך (×€×ַק××֞ך) ×××עך××Ö·× × ××× ×€×××¢ ×עק×עך ×× ×¡××Ö·× ×¡×× ××× ××¢× ×§× ××× ××Öž× ×Ö·× ×××Ö·××× ××Öž×ס ×€Ö¿×ַך ××¢× ×Š×¢×××××× ×.
× ××Š× ZooKeepers ×€Ö¿×ַך ק×Öž××֞ך××Ö·× ××ש×Ö·×, Kafka ׀ך×××× ×Š× ×€×ַךש׀֌ך×××× × ××Ö·×¢ ×€ÖŒ×ַך××ש×Ö·× × ×Š××××©× ×× ×ך×֞קעךס ××× ××¢× ×§× ×××. ××֞ס ××× ××¢××× ×××š× ×Ö· ×××× ×××ַש׀֌×× ×××֞ס ×Ö·×§×¢×š× ××× ×Ö· ק×Öž× ×ך×Öž××עך.
××× ×š×× ××××¢ ×€Ö¿×ַך ××¢×עך ××¢××¢ ׊ע×××××× × ×§×Öž× ×ך×Öž××עך ××ַש××××¢× ×š×Öž×עס ×Š× ×Ö· ×עק×עך ×€×ךעך (×€×ךעך , ××¢× , ×€×ךש××¢×עך ) ×× × ×× ××¢× ×עךס (×× ××¢× ×עךס, שק××Ö·×£, ס×Ö·××֞ך××Ö·× ×××). ×עך ×עק×עך, ×ַק××× × ××× ×עך ×€×ךעך ×€Ö¿×ַך ××¢× ×Š×¢×××××× ×, ××× ×€×ַך×Ö·× ××××֞ך×××¢× ×€Ö¿×ַך ך×ס××××× × ×Ö·××¢ ×× ×ַך××ק××¢× ×עש××§× ×Š× ××× ×××š× ×× ×€ÖŒ×š×Öž××סעךס ××× ××ס×ך××××××× × ×× ×ַך××ק××¢× ×Š× ×× ×§×Öž× ×¡××עךס. ×××¢× ×ַך××ק××¢× ××¢× ×¢× ×עש××§× ×Š× ×Ö· ××¢××¢ ׊ע×××××× ×, ××× ××¢× ×¢× ×š×¢×€ÖŒ××ק××××× ×Š× ×Ö·××¢ ×עק×עך × ×Öž××× ×ַק××× × ××× ×× ××¢× ×עךס ×€Ö¿×ַך ×× ×Š×¢×××××× ×. ××¢×עך × ×Öž××¢ ××× ××Öž×ס ×€Ö¿×ַך ×Ö· ׊ע×××××× × ××× ×עך××€× ×š×¢×€ÖŒ××קע. × ×עק×עך ×§×¢× ×¢× ×©×€ÖŒ××× ××× ×Ö· ×€×ךעך ×€Ö¿×ַך ×¢×××¢××¢ ×€ÖŒ×ַך××ש×Ö·× × ××× ××× ×Ö· × ×××××עך ×€Ö¿×ַך ×× ×עךע.
× × ×××××עך ×××ס ×ÖŒ××× ×Ö·××¢ ×ַך××ק××¢× ×××֞ס ×× ×€×ךעך ××× ×עך××€Ö¿× ×¡×× ×קך×Ö·× ×××× ×š×¢×€ÖŒ××קע (×Ö· ךע׀֌××קע ×××֞ס ××× ××× ×Ö· ס×× ×קך×Ö·× ×××× ×©××Ö·×, ×××-ס×× ×§ ךע׀֌××קע). ×××× ×Ö· ×עק×עך ×ַק××× × ××× ×Ö· ×€×ךעך ×€Ö¿×ַך ×Ö· ׊ע×××××× × ×××× ×ַך×Öž×€ÖŒ, ××¢×עך ×עק×עך ×××֞ס ××× ×עך×××Ö·× ×××§× ×Öž×עך ס×× ×קך×Ö·× ×××× ×€Ö¿×ַך ×× ×Š×¢×××××× × ×§×¢× ×¢× × ×¢××¢× ×××עך ×× ×€×ךעך ך×Öž××¢. עס ××× ×Ö·× ×× ×§×š×¢××Ö·××× ×¡×ַס×××× ×Ö·××Ö·× ×€ÖŒ××Ö·×.
×××× ×€×× ×× ×€ÖŒ×š×Öž××׊×ךעך ק×Ö·× ×€×××עך××ש×Ö·× ××× ×עך ×€ÖŒ×ַך×Ö·××¢×עך ×ַקס, ×××֞ס ××ַש×××× ××× ×€×××¢ ךע׀֌××ַק×Ö·× ×××× ××ַש××¢×××§× (××ַש××¢××ק×) ק×Ö·××Öž××¢ ×€×× ââ×Ö· ×Öž× ××Öž× ××××עך ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×€×Öž××¢× ×××× ×Š× ×©×ק×: 0, 1 ×Öž×עך ×Ö·××¢. ×××× ×©××¢×× ×Š× ×Ö·××¢, ××× ×××¢× ×Ö· ×Öž× ××Öž× ××× ××ק×××¢×, ×עך ×€×ךעך ×××¢× ×©××§× ×Ö· ××ַש××¢××ק×× × ×Š×ך×ק ×Š× ×עך ׀֌ך×Öž××׊×ךעך ××× ××Ö·×× ××× ×¢×š ××ק××× ××ַש××¢××ק×× × (××¢×š×§×¢× ××¢× ×ש×) ×€×× ×× ×š×¢×§×Öž×š× ×€×× ×¢×××¢××¢ ק××× (×ַך××Ö·× ×עךע×× × ×××) ×××€××× × ×××š× ×× ××¢××¢ ××ַש××¢×××§× min.insync.replicas (×€×¢××ק××Ö·× 1). ×××× ×עך ×Öž× ××Öž× ×§×¢× ×¢× × ×× ×××× ×׊××× ×š×¢×€ÖŒ××ק×××××, ×עך ׀֌ך×Öž××׊×ךעך ×××¢× ×××Ö·×š×€× ×Ö· ×Ö·×€ÖŒ××ַק××ש×Ö·× ×××¡× ×¢× (× ×× ××¢× ×× ×š×¢×€ÖŒ××ַק×Ö·× ×Öž×עך × ×× ××¢× ×× ×š×¢×€ÖŒ××ַק×Ö·× × ×Öž× ×Ö·×€ÖŒ×¢× ×).
× ×××€ÖŒ×ש ק×Ö·× ×€×××עך××ש×Ö·× ×§×š××××¥ ×Ö· ××¢××¢ ××× ×Ö· ךע׀֌××ַק××ש×Ö·× ×€×ַק××֞ך ×€×× 3 (1 ×€×ךעך, 2 ×× ××¢× ×עךס ׀֌עך ׊ע×××××× ×) ××× ×× ×€ÖŒ×ַך×Ö·××¢×עך min.insync.replicas ××× ××ַש×××× ×Š× 2. ××× ××¢× ×€×Ö·×, ×עך ×§× ××× ×××¢× ××Öž×× ×××× ×¢×š ×€×× ×× ×ך×֞קעךס ×Öž× ×€×ך×× × ×× ××¢××¢ ׊ע×××××× × ×Š× ×××× ×ַך×Öž×€ÖŒ ×Öž× ×ַ׀עק××× × ×§×××¢× × ×Ö·×€ÖŒ××ַק××ש×Ö·× ×.
××֞ס ××š×¢× ×× ××× ×× ×Š×ך×ק ×Š× ×× ×©××× ××ַק×Ö·× × ××Ö·× ××-×Ö·××עק ׊××××©× ×€×֞ךש××¢××× × ××× ×š×××××Ö·××××Ö·××. ךע׀֌××ַק××ש×Ö·× ×Ö·×§×¢×š× ××××£ ×× ×§×Öž×¡× ×€×× × ×Öž× ×××ך×× ×Š××× ×€Ö¿×ַך ק×Ö·× ×€×¢×š×××ש×Ö·× × (××¢×š×§×¢× ××¢× ×ש×) ×€×× ×× ××¢× ×עךס. ××Öž×ש, ××××Ö·× ×¢×¡ ××××€× ××× ×€ÖŒ×ַך×Ö·××¢×, ךע׀֌××ַק××ש×Ö·× ×Š× ×××Ö· ××× ×ס×עך ×ך×× × ×Öž××× ××× ×× ××¢×××¢ ×€×֞ךש××¢××× × ××× ×Š×××× (××× ×֞ך×× × ×× ×€×ַך××š×¢×¡×¢×š× ××× × ×¢×¥ ××Ö·× ×××××× ××Ö·× ××¥).
×××š× × ××Š× ××¢× ×š×¢×€ÖŒ××ַק××ש×Ö·× ×¡××¢××¢, Kafka ק××¢××עך×× ×Ö·×××××× ×× × ××× ×Š× ×€×××ק×× ×©×š××Ö·×× ××¢×עך ×Öž× ××Öž× ×Š× ××סק ××× ×× ×֞׀֌עך×ַ׊××¢ ס×× ×§ (). ××¢×עך ×Öž× ××Öž× ×עש××§× ×××š× ×× ×€ÖŒ×š×Öž××׊×ךעך ×××¢× ×××× ×עשך××× ×Š× ×× ×Š×¢×××××× × ×§××Öž×¥, ×Öž×עך ××× ××סק×Ö·×¡× ××× ×ש×Ö·×€ÖŒ×עך 2, שך×××× ×Š× ×Ö· ×עקע ××× ××××עס ××¢××× ××× ×× ×ַ׀֌עך××××× × ×¡×ס××¢× ×¡ ××ַ׀עך. ×××× ×עך ×Öž× ××Öž× ××× ×š×¢×€ÖŒ××ק××××× ×Š× ×× ×× ×עך ק×ַ׀ק×Ö· ×××ַש׀֌×× ××× ××× ××× ×××× ××֌ך××, ×× ×Öž× ××עך ×€×× ×× ×€×ךעך ××× × ××©× ×××× ×¢× ×Ö·× ×עך ×Öž× ××Öž× ××× ××× ×€×ַך׀×Ö·×× - עס ×§×¢× ×¢× ×××× ×××עך××¢× ×××¢× ×××š× ×Ö· ס×× ×קך×Ö·× ×××× ×š×¢×€ÖŒ××קע.
×Öž×€ÖŒ××Öž× ×Š× ××ך××€××š× ×× ×֞׀֌עך×ַ׊××¢ ס×× ×§ () ×××× ×Ö·× ×§×ַ׀ק×Ö· ×§×¢× ×¢× ××ַק×××¢× ×ַך××ק××¢× ××× ×©× ×¢× ××× ×¢×¡ ×§×¢× ×¢× ×©×š××Ö·×× ××× ×Š× ××֌ך××. ק×Öž× ××עךסע××, ×× ×עך ××ך ×§×¢× ×¢× ××ס××××× ×€××ַש×× × ××֌ך×× ×Š× ××סק, ×× ×עסעך. ×€Ö¿×ַך ××¢× ×¡×××, עס ××× × ××©× ××××¢××××× ×××¢× ×€Ö¿×ַך Kafka ×ך×֞קעךס ×Š× ×××× ×Ö·××ַק××××× 64 ×××××××× ×Öž×עך ×עך ×€×× ××֌ך××. ××¢× ××֌ך×× ××Ö·× ××¥ ×××× ×Ö·× ×Ö· ×××× ×§×ַ׀ק×Ö· ×××ַש׀֌×× ×§×¢× ×¢× ××××× ××××€× ××× ×¡×€ÖŒ××× ×€×××¢ ××××× ×עך ×€×× ××× ×€×ַס×עך ××× ×Ö· ×ך×××׊××× ×¢×× ×Öž× ××Öž× ×עק×עך.
Kafka ×§×¢× ×¢× ×××× ×××× ×§×Ö·× ×€××××¢×š× ×Š× ×Š×××××× ×× ×֞׀֌עך×ַ׊××¢ ס×× ×§ () ×Š× ×Öž× ××Öž× ×€ÖŒ×ַק×Ö·××ש×Ö·×. ××× × ×Ö·××¥ ××× Kafka ××× ×€ÖŒ×¢×§×-×֞ך××¢× ×××, עס ×€×ק××ש ×ַך××¢× ××Ö·× ×¥ ××× ×€Ö¿×ַך ×€×××¢ × ××Š× ×§×ַסעס ××× ××× ×Ö· × ×׊×ק ×ע׊××Ö·× ×€Ö¿×ַך ××××¢×š× ×××֞ס ××Ö·×š×€× ×××עך ש××ַךק ×עך×Ö·× ×××. ×€×× ×€×× ×× ×š××× ×€×֞ךש××¢××× × ×€×× Kafka ק××× ×€×× ×× ×ַך××ק××¢× ×××֞ס ××¢× ×¢× ×עש××§× ×Š× ×עך ×עק×עך ××× ×€ÖŒ×ַק××¥ ××× ×Ö·× ×× ×ַך××ק××¢× ××¢× ×¢× ××××¢× ×¢× ×€Ö¿×× ×× ×עק×עך ××× ×¡×ַק×××¢× ×ש×Ö·× ×××ַקס
×€×× ×עסעך ×€×֞ךש××¢××× × ××× ××¢×××¢× ××× ×Ö· ק×ַ׀ק×Ö· ×§× ××× ××× ××× ×Ö· ×××× ×§×ַ׀ק×Ö· ×עק×עך, ××××Ö·× ××¢××¢ ×€ÖŒ×ַך××ש×Ö·× × ×§×¢× ×¢× ××סש×××¡× ××× ×€×××¢ ××Ö·××× ×עך ××ש×× ×¢×.
ךע×××××Ö·×× ×€××
××× ××¢× ×§×Ö·×€ÖŒ×××, ××ך ×עק××§× ××××£ ××× ×× ×§×ַ׀ק×Ö· ×ַךק×Ö·×עק×שעך ך××××Ö·××ש×Ö·× ×× ×©××××ת ׊××××©× ×§××××Ö·× ×¥ ××× ×ך×֞קעךס ×Š× ×Š×ש××¢×× ×Ö·× ×× ×§×š×¢××Ö·××× ××¢××× × ×עס×××ש×× × ×š×¢×š× - ××× ××¢, ××× ×× ××ך××€×֞ך ×€×××¢ ××Öž× ×ךעסעך ××× ×× ×€×× ×Ö· ק×Ö·× ×××¢× ×©×Ö·× ×Ö·× ×Öž× ××Öž× ×עק×עך. ××ך ××Öž×× ××סק×Ö·×¡× ×× ×€×Ö·× ×קש×Ö·× ×Ö·×××× ×¢×¡ × ××Š× ×Š× ×עך×ך×××× ××¢× ××× ×עק×׊עך ×עק××§× ××××£ ×× ×ַךק×Ö·×עק×שעך ×€×× ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× × ×××֞ס ׊×ש××¢×× ××¢× ×€×Ö·× ×קש×Ö·× ×Ö·××××. ××× ×עך ××××Ö·×עך ק×Ö·×€ÖŒ×××, ××ך ×××¢×× ×§××§× ××× ×€ÖŒ×š×Öž×¡× ×€ÖŒ×š×Öž×××¢×ס ×××֞ס ×עס×××ש×× ×-×××××š× ×Ö·×€ÖŒ××ַק××ש×Ö·× × ××Ö·×š×€Ö¿× ×Š× ×¡×Öž××××¢ ××× ××סק××××š× ×¡×ך×Ö·××¢××עס ×€Ö¿×ַך ××××× × ××× ×××. ××ך ×××¢×× ×¢× ×××§× ××¢× ×§×Ö·×€ÖŒ××× ××× ××סקך×××× ××× ×Š× ×š×¢×× ×××¢×× ×עס×××ש×× × ××¢×§× ×Ö·××Ö·××ש×× ××× ×Ö·×××¢××××, ×Ö·××× ××ך ×§×¢× ×¢× ×֞׀֌ש×Ö·×Š× ×××עך ×€ÖŒ×ַס×ק ×€Ö¿×ַך ×××× × ××Š× ×§×ַסעס.
׀ֿך×֎עך ×××עך××¢×ע׊××¢ ××××:
×××עך×ע׊×× × ××¢×××:
×Š× ×€×֞ך××¢×Š× ...
××××× ×š×¢××ס×ך××š× × ×׊עךס ×§×¢× ×¢× ×Öž× ×××× × ×¢××¢× ××× ×× ××עך×××ק.
××× ×§×ַ׀ק×Ö· ××¢× ××Š× ××× ×××× ×֞ך××Ö·× ×××ַ׊××¢?
-
××Öž
-
ק×××
-
׀ך×עך ××¢××××× ×, ×××Š× × ×ש×
-
××ך ×€ÖŒ××Ö·× ×Š× × ×׊×
38 ××× ×׊עך ×××× ×עש××××. 8 ××× ×׊עך ×××× ××× ××€××¢×××××.
×ק×ך: www.habr.com