เจ•เจพเจซเจ•เจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจเจพ

เจ•เจพเจซเจ•เจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจเจพ

เจนเฉ‡ เจนเจฌเจฐ.

เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจ†เจˆ เจ†เจชเจฃเจพ เจคเจœเจฐเจฌเจพ เจธเจพเจ‚เจเจพ เจ•เฉ€เจคเจพ เจ—เจพเจฐเฉฐเจŸเฉ€เจธเจผเฉเจฆเจพ เจกเจฟเจฒเฉ€เจตเจฐเฉ€ เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจœเจพเจฃ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ•เจพเจซเจ•เจพ เจจเจฟเจฐเจฎเจพเจคเจพ เจ…เจคเฉ‡ เจ–เจชเจคเจ•เจพเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจŸเฉ€เจฎ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจฟเจนเฉœเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฌเจพเจนเจฐเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจฆเฉ€ เจ…เจธเจฅเจพเจˆ เจ…เจฃเจ‰เจชเจฒเจฌเจงเจคเจพ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ•เจพเจซเจ•เจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ‡เฉฑเจ• เจ˜เจŸเจจเจพ เจฆเฉ€ เจฐเฉ€-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจ—เจ เจฟเจค เจ•เฉ€เจคเจพเฅค

เจ†เจงเฉเจจเจฟเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ. เจ‡เฉฑเจ• เจ†เจงเฉเจจเจฟเจ• เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸเจฟเจ† เจตเจชเจพเจฐเจ• เจคเจฐเจ•, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจœเจพเจ‚ เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจตเจฐเจ—เฉ‡ เจ†เจฐเจ•เฉˆเจธเจŸเจฐเฉ‡เจŸเจฐ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ‡เฉฑเจ• เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจญเฉŒเจคเจฟเจ• เจ…เจคเฉ‡ เจตเจฐเจšเฉเจ…เจฒ เจฐเจพเจŠเจŸเจฐเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฒเฉœเฉ€ เจฐเจพเจนเฉ€เจ‚ เจนเฉ‹เจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจœเจพเจ‚ เจเจ‚เจŸเจฐเจชเฉเจฐเจพเจˆเจœเจผ เจนเฉฑเจฒเจพเจ‚ เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจจเจพเฅค เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจนเฉŒเจฒ เจตเจฟเฉฑเจš, เจ•เฉ‹เจˆ เจšเฉ€เจœเจผ เจนเจฎเฉ‡เจธเจผเจพ เจŸเฉเฉฑเจŸ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจฌเจพเจนเจฐเฉ€ เจธเจฟเจธเจŸเจฎ เจ‰เจชเจฒเจฌเจง เจจเจพ เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจเจพ เจธเจพเจกเฉ€เจ†เจ‚ เจตเจชเจพเจฐเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเจฟเฉฑเจธเจพ เจนเฉˆเฅค

เจ•เจพเจซเจ•เจพ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจธเฉ€

เจชเจนเจฟเจฒเจพเจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจธเฉฐเจฆเฉ‡เจธเจผ เจกเจฟเจฒเฉ€เจตเจฐเฉ€ เจฒเจˆ IBM MQ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจธเฉ€เฅค เจœเฉ‡เจ•เจฐ เจธเฉ‡เจตเจพ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉŒเจฐเจพเจจ เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจ†เจˆ เจนเฉˆ, เจคเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจชเจพเจฐเจธเจฟเฉฐเจ— เจฒเจˆ เจ‡เฉฑเจ• เจกเฉˆเฉฑเจก-เจฒเฉˆเจŸเจฐ-เจ•เจฟเจŠ (DLQ) เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค DLQ เจจเฉ‚เฉฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ€ เจ•เจคเจพเจฐ เจฆเฉ‡ เจ…เฉฑเจ—เฉ‡ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจธเฉเจจเฉ‡เจนเจพ IBM MQ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจœเฉ‡เจ•เจฐ เจ—เจฒเจคเฉ€ เจ…เจธเจฅเจพเจˆ เจธเฉ€ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• HTTP เจ•เจพเจฒ 'เจคเฉ‡ เจ‡เฉฑเจ• ResourceAccessException เจœเจพเจ‚ MongoDb เจฌเฉ‡เจจเจคเฉ€ 'เจคเฉ‡ เจ‡เฉฑเจ• MongoTimeoutException), เจคเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจฐเจฃเจจเฉ€เจคเฉ€ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจฌเฉเจฐเจพเจ‚เจšเจฟเฉฐเจ— เจคเจฐเจ• เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจ…เจธเจฒ เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจœเจพเจ‚ เจคเจพเจ‚ เจฆเฉ‡เจฐเฉ€ เจจเจพเจฒ เจญเฉ‡เจœเจฃ เจฒเจˆ เจธเจฟเจธเจŸเจฎ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจญเฉ‡เจœเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจœเจพเจ‚ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจญเฉ‡เจœเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจœเฉ‹ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจญเฉ‡เจœเจฃ เจฒเจˆ เจฌเจนเฉเจค เจชเจนเจฟเจฒเจพเจ‚ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เจธ เจตเจฟเฉฑเจš เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเฉ€เจธเฉˆเฉฐเจก เจจเฉฐเจฌเจฐ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจฆเฉ‡เจฐเฉ€ เจ…เฉฐเจคเจฐเจพเจฒ เจœเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ-เจชเฉฑเจงเจฐ เจฆเฉ€ เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉ‡ เจ…เฉฐเจค เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉ‡ เจ…เฉฐเจค 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจ—เจ เจนเจพเจ‚ เจชเจฐ เจฌเจพเจนเจฐเฉ€ เจธเจฟเจธเจŸเจฎ เจ…เจœเฉ‡ เจตเฉ€ เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจฎเฉˆเจจเฉเจ…เจฒ เจชเจพเจฐเจธเจฟเฉฐเจ— เจฒเจˆ เจธเฉเจจเฉ‡เจนเจพ DLQ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ‡เฉฑเจ• เจนเฉฑเจฒ เจฒเฉฑเจญเจฃเจพ

เจ‡เฉฐเจŸเจฐเจจเฉˆเฉฑเจŸ 'เจคเฉ‡ เจ–เฉ‹เจœ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจซเฉˆเจธเจฒเจพ. เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš, เจนเจฐ เจ‡เฉฑเจ• เจฆเฉ‡เจฐเฉ€ เจ…เฉฐเจคเจฐเจพเจฒ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจธเจผเจพ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจธเจพเจˆเจก 'เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจนเฉˆ, เจœเฉ‹ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฆเฉ‡เจฐเฉ€ เจจเจพเจฒ เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเฉ‡เจ—เจพเฅค

เจ•เจพเจซเจ•เจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจเจพ

เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจธเจฎเฉ€เจ–เจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, เจ‡เจน เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจซเจฒ เจจเจนเฉ€เจ‚ เจœเจพเจชเจฆเจพ เจนเฉˆ. เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเจฟเจตเฉˆเจฒเจชเจฐ, เจตเจชเจพเจฐเจ• เจฒเฉ‹เฉœเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจตเจฐเจฃเจฟเจค เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจฃเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ.

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจœเฉ‡เจ•เจฐ เจ•เจพเจซเจ•เจพ เจ•เจฒเฉฑเจธเจŸเจฐ 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจฟเจธเจผเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจคเฉฑเจ• เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจชเจนเฉเฉฐเจš เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจ•เฉเจ เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจฃเจพ เจชเจเจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจตเจฟเจธเจผเจฟเจ†เจ‚ เจฒเจˆ เจธเจนเฉ€ retention.ms เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€ เจคเจพเจ‚ เจœเฉ‹ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจญเฉ‡เจœเจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉ‹เจตเฉ‡ เจ…เจคเฉ‡ เจ‡เจธ เจคเฉ‹เจ‚ เจ—เจพเจ‡เจฌ เจจเจพ เจนเฉ‹ เจœเจพเจฃเฅค เจนเจฐเฉ‡เจ• เจฎเฉŒเจœเฉ‚เจฆเจพ เจœเจพเจ‚ เจจเจตเฉ€เจ‚ เจธเฉ‡เจตเจพ เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจ…เจคเฉ‡ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจฃเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ†เจ“ เจนเฉเจฃ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจชเจฐเจฟเฉฐเจ— เจ…เจคเฉ‡ เจธเจชเจฐเจฟเฉฐเจ—-เจ•เจพเจซเจ•เจพ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเจพ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฒเจˆ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจตเจฟเจงเฉ€เจ†เจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจธเจชเจฐเจฟเฉฐเจ—-เจ•เจพเจซเจ•เจพ เจฆเฉ€ เจฌเจธเฉฐเจค-เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผ 'เจคเฉ‡ เจ‡เฉฑเจ• เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒ เจจเจฟเจฐเจญเจฐเจคเจพ เจนเฉˆ, เจœเฉ‹ เจตเฉฑเจ–-เจตเฉฑเจ– เจฌเฉˆเจ•เจ†เจซ เจชเจพเจฒเจฟเจธเฉ€เจ†เจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจ•เจพเจซเจผเฉ€ เจฒเจšเจ•เจฆเจพเจฐ เจŸเฉ‚เจฒ เจนเฉˆ, เจชเจฐ เจ‡เจธเจฆเฉ€ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจ•เจฎเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ เจญเฉ‡เจœเจฃ เจฒเจˆ เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ‡เจธ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจ…เฉฑเจชเจกเฉ‡เจŸ เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฒเฉฐเจฌเจฟเจค เจธเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเจพ เจจเฉเจ•เจธเจพเจจ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจฌเจฟเฉฐเจฆเฉ‚ เจธเจพเจกเฉ‡ เจธเจฟเจธเจŸเจฎ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธ 'เจคเฉ‡ เจนเฉ‹เจฐ เจตเจฟเจšเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพเฅค

spring-kafka เจ–เฉเจฆ ContainerAwareErrorHandler เจฆเฉ‡ เจ•เจˆ เจธเจฅเจพเจชเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ SeekToCurrentErrorHandler, เจœเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจ—เจฒเจคเฉ€ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ†เจซเจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจธเจผเจฟเจซเจŸ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจธเจชเจฐเจฟเฉฐเจ—-เจ•เจพเจซเจ•เจพ 2.3 เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจฌเฉˆเจ•เจ†เจซ เจชเจพเจฒเจฟเจธเฉ€ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจ—เจฟเจ†เฅค

เจ‡เจน เจชเจนเฉเฉฐเจš เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เฉ€เจคเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจชเจฐ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉ‹เจˆ DLQ เจตเจฟเจงเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ 2019 เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจ‡เจน เจตเจฟเจ•เจฒเจช เจšเฉเจฃเจฟเจ† เจธเฉ€, เจ†เจธเจผเจพเจตเจพเจฆเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฟเจธเจผเจตเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ DLQ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€ (เจ…เจธเฉ€เจ‚ เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจค เจธเฉ€ เจ…เจคเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ€ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจชเฉเจฐเจฃเจพเจฒเฉ€ เจจเจพเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจ•เจˆ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจฌเจพเจ…เจฆ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจธเฉ€)เฅค เจ…เจธเจฅเจพเจˆ เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจ•เจพเจฐเจจ SeekToCurrentErrorHandler เจจเฉ‚เฉฐ เจ…เฉฑเจ— เจฒเฉฑเจ— เจ—เจˆเฅค เจฌเจพเจ•เฉ€ เจฆเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจชเฉเจฐเจฟเฉฐเจŸ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ, เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ‡เฉฑเจ• เจ”เจซเจธเฉˆเฉฑเจŸ, เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจœเจพเจฐเฉ€ เจฐเจนเฉ€เฅค

เจ…เฉฐเจคเจฟเจฎ เจซเฉˆเจธเจฒเจพ

SeekToCurrentErrorHandler 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเฉ‡ เจฎเฉเฉœ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ†เจชเจฃเฉ€ เจ–เฉเจฆ เจฆเฉ€ เจตเจฟเจงเฉ€ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเฉ‡เจฐเจฟเจ†เฅค

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ…เจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ…เจจเฉเจญเจต เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเจฐเจ• 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เจธเจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€เฅค เจ‡เฉฑเจ• เจฒเฉ€เจจเฉ€เจ…เจฐ เจคเจฐเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ, เจฎเฉเฉœ-เจ•เฉ‹เจธเจผเจฟเจธเจผ เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจฅเฉ‹เฉœเฉเจนเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจจเจตเฉ‡เจ‚ เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจฌเฉฐเจฆ เจ•เจฐเจจเจพ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจนเฉ‹เจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ, เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจฌเจฟเฉฐเจฆเฉ‚ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€ เจœเฉ‹ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจฐเจฃเจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจธ เจธเจฟเฉฐเจ—เจฒ เจฌเจฟเฉฐเจฆเฉ‚ เจฆเฉ‹เจตเจพเจ‚ เจชเจนเฉเฉฐเจšเจพเจ‚ เจฒเจˆ DLQ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค

เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจฐเจฃเจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจ—เจฒเจคเฉ€ เจนเฉ‹เจฃ 'เจคเฉ‡ เจ…เจ—เจฒเฉ‡ เจ…เฉฐเจคเจฐเจพเจฒ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจฐเฉ‡เจ–เจฟเจ• เจคเจฐเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจ–เจชเจคเจ•เจพเจฐ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃเจพ

เจธเจชเจฐเจฟเฉฐเจ—-เจ•เจพเจซเจ•เจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจ•เฉ‹เจก เจ•เฉเจ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ:

public void pauseListenerContainer(MessageListenerContainer listenerContainer, 
                                   Instant retryAt) {
        if (nonNull(retryAt) && listenerContainer.isRunning()) {
            listenerContainer.stop();
            taskScheduler.schedule(() -> listenerContainer.start(), retryAt);
            return;
        }
        // to DLQ
    }

เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš, retryAt MessageListenerContainer เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจฎเฉเฉœ-เจฒเจพเจ‚เจš TaskScheduler เจตเจฟเฉฑเจš เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ‡ เจ—เจ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฅเฉเจฐเฉˆเจก เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเจฟเจธเจฆเจพ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจตเฉ€ เจฌเจธเฉฐเจค เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฐเฉ€เจŸเฉเจฐเฉˆเจŸ เจตเฉˆเจฒเจฏเฉ‚ เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚:

  1. เจฐเฉ€-เจ•เจพเจฒ เจ•เจพเจŠเจ‚เจŸเจฐ เจฆเจพ เจฎเฉเฉฑเจฒ เจฆเฉ‡เจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  2. เจตเจฟเจฐเฉ‹เจงเฉ€ เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจฎเฉเฉœ-เจ•เฉ‹เจธเจผเจฟเจธเจผ เจฐเจฃเจจเฉ€เจคเฉ€ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆเจพ เจฆเฉ‡เจฐเฉ€ เจ…เฉฐเจคเจฐเจพเจฒ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจฐเจฃเจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจนเฉ€ เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ; เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ JSON เจซเจพเจฐเจฎเฉˆเจŸ เจšเฉเจฃเจฟเจ† เจนเฉˆเฅค
  3. JSON เจเจฐเฉ‡ เจตเจฟเฉฑเจš เจฎเจฟเจฒเฉ‡ เจ…เฉฐเจคเจฐเจพเจฒ เจตเจฟเฉฑเจš เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€เฅค เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจ‡เจน เจธเฉฐเจ–เจฟเจ† เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฒเจˆ เจฎเฉเฉฑเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจœเฉ‹เฉœเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค
  4. เจœเฉ‡เจ•เจฐ เจ…เฉฐเจคเจฐเจพเจฒ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ retryAt เจฆเจพ เจฎเฉเฉฑเจฒ เจ–เจพเจฒเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉˆเจจเฉเจ…เจฒ เจชเจพเจฐเจธเจฟเฉฐเจ— เจฒเจˆ เจธเฉเจจเฉ‡เจนเจพ DLQ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ‡เจธ เจชเจนเฉเฉฐเจš เจฆเฉ‡ เจจเจพเจฒ, เจœเฉ‹ เจตเฉ€ เจฌเจšเจฟเจ† เจนเฉˆ เจ‰เจน เจนเจฐ เจ‡เฉฑเจ• เจธเฉฐเจฆเฉ‡เจธเจผ เจฒเจˆ เจฆเฉเจนเจฐเจพเจˆเจ†เจ‚ เจœเจพเจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจพเจฒเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจเจพ เจนเฉˆ เจœเฉ‹ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจšเฅค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจฎเฉเฉœ-เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจฐเฉฑเจ–เจฃเจพ เจ‡เจธ เจชเจนเฉเฉฐเจš เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เฉฑเจ• เจฒเฉ€เจจเฉ€เจ…เจฐ เจคเจฐเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒ เจจเจนเฉ€เจ‚ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจฌเจธเฉฐเจค-เจฎเฉเฉœ-เจ•เฉ‹เจธเจผเจฟเจธเจผ เจฆเฉ‡ เจ‰เจฒเจŸ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจจเจพเจฒ เจธเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเจพ เจ•เจพเจฐเจจ เจจเจนเฉ€เจ‚ เจฌเจฃเฉ‡เจ—เจพ, เจชเจฐ เจธเจฟเจฐเจซเจผ เจฐเจฃเจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ‡เจน เจชเจนเฉเฉฐเจš เจฌเจพเจนเจฐเฉ€ เจธเจฟเจธเจŸเจฎ เจคเฉ‹เจ‚ เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจฆเฉ‚เจฐ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจญเจพเจฐ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ…เจฃเจ‰เจชเจฒเจฌเจง เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจชเฉˆเจŸเจฐเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆ เจธเจฐเจ•เจŸ เจคเฉ‹เฉœเจจ เจตเจพเจฒเจพ.

เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ—เจฒเจคเฉ€ เจฅเฉเจฐเฉˆเจธเจผเจนเฉ‹เจฒเจก เจธเจฟเจฐเจซ 1 เจนเฉˆ, เจ…เจคเฉ‡ เจ…เจธเจฅเจพเจˆ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ†เจŠเจŸเฉ‡เจœ เจฆเฉ‡ เจ•เจพเจฐเจจ เจธเจฟเจธเจŸเจฎ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ›เฉ‹เจŸเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจ…เฉฐเจคเจฐเจพเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจฌเจพเจฐเฉ€เจ•เฉ€ เจจเจพเจฒ เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจน เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจฎเฉ‚เจน เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจธเจฟเจธเจŸเจฎ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ—เจฒเจคเฉ€ เจฅเฉเจฐเฉˆเจธเจผเจนเฉ‹เจฒเจก เจ…เจคเฉ‡ เจ…เฉฐเจคเจฐเจพเจฒ เจฎเฉเฉฑเจฒ เจตเจฟเจšเจ•เจพเจฐ เจธเจฌเฉฐเจง เจšเฉเจฃเจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ—เฉˆเจฐ-เจจเจฟเจฐเจงเจพเจฐเจค เจคเจฐเจ• เจตเจพเจฒเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจคเฉ‹เจ‚ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ

เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจก เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ เจœเฉ‹ เจ…เจœเจฟเจนเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ (เจฐเฉ€เจŸเจพเจ‡เจ…เจฐ) เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจœเฉ‹ RETRY_AT เจธเจฎเจพเจ‚ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ 'เจคเฉ‡ DESTINATION เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจฎเฉเฉœ เจญเฉ‡เจœเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ:


public <K, V> void retry(ConsumerRecord<K, V> record, String retryToTopic, 
                         Instant retryAt, String counter, String groupId, Exception e) {
        Headers headers = ofNullable(record.headers()).orElse(new RecordHeaders());
        List<Header> arrayOfHeaders = 
            new ArrayList<>(Arrays.asList(headers.toArray()));
        updateHeader(arrayOfHeaders, GROUP_ID, groupId::getBytes);
        updateHeader(arrayOfHeaders, DESTINATION, retryToTopic::getBytes);
        updateHeader(arrayOfHeaders, ORIGINAL_PARTITION, 
                     () -> Integer.toString(record.partition()).getBytes());
        if (nonNull(retryAt)) {
            updateHeader(arrayOfHeaders, COUNTER, counter::getBytes);
            updateHeader(arrayOfHeaders, SEND_TO, "retry"::getBytes);
            updateHeader(arrayOfHeaders, RETRY_AT, retryAt.toString()::getBytes);
        } else {
            updateHeader(arrayOfHeaders, REASON, 
                         ExceptionUtils.getStackTrace(e)::getBytes);
            updateHeader(arrayOfHeaders, SEND_TO, "backout"::getBytes);
        }
        ProducerRecord<K, V> messageToSend =
            new ProducerRecord<>(retryTopic, null, null, record.key(), record.value(), arrayOfHeaders);
        kafkaTemplate.send(messageToSend);
    }

เจ‰เจฆเจพเจนเจฐเจจ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ. RETRY_AT เจฆเจพ เจฎเฉเฉฑเจฒ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจชเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจŸเจพเจช เจฆเฉเจ†เจฐเจพ เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจตเจฟเจงเฉ€ เจฒเจˆเฅค DESTINATION เจ…เจคเฉ‡ RETRY_AT เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ…เจธเฉ€เจ‚ เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

  • GROUP_ID, เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ เจ…เจธเฉ€เจ‚ เจฎเฉˆเจจเฉเจ…เจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ…เจคเฉ‡ เจธเจฐเจฒ เจ–เฉ‹เจœ เจฒเจˆ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉ‚เจน เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค
  • ORIGINAL_PARTITION เจฎเฉเฉœ-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฒเจˆ เจ‰เจนเฉ€ เจ–เจชเจคเจ•เจพเจฐ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฒเจˆเฅค เจ‡เจน เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจฒ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจจเจตเจพเจ‚ เจญเจพเจ— เจ…เจธเจฒเฉ€ เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเฉ€ record.key() เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค
  • เจฎเฉเฉœ-เจ•เฉ‹เจธเจผเจฟเจธเจผ เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฒเจˆ COUNTER เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
  • SEND_TO เจ‡เฉฑเจ• เจจเจฟเจฐเฉฐเจคเจฐ เจธเฉฐเจ•เฉ‡เจค เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจธเฉเจจเฉ‡เจนเจพ RETRY_AT 'เจคเฉ‡ เจชเจนเฉเฉฐเจšเจฃ 'เจคเฉ‡ เจฎเฉเฉœ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฒเจˆ เจญเฉ‡เจœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจœเจพเจ‚ DLQ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค
  • เจ•เจพเจฐเจจ - เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจฐเฉเจ•เจพเจตเจŸ เจฆเจพ เจ•เจพเจฐเจจเฅค

Retryer PostgreSQL เจตเจฟเฉฑเจš เจฎเฉเฉœ เจญเฉ‡เจœเจฃ เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจชเจพเจฐเจธเจฟเฉฐเจ— เจฒเจˆ เจธเฉเจจเฉ‡เจนเฉ‡ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจŸเจพเจˆเจฎเจฐ เจ‡เฉฑเจ• เจ•เฉฐเจฎ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ RETRY_AT เจจเจพเจฒ เจธเฉเจจเฉ‡เจนเฉ‡ เจฒเฉฑเจญเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเฉฐเจœเฉ€ record.key() เจจเจพเจฒ DESTINATION เจตเจฟเจธเจผเฉ‡ เจฆเฉ‡ ORIGINAL_PARTITION เจญเจพเจ— เจตเจฟเฉฑเจš เจตเจพเจชเจธ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจตเจพเจฐ เจญเฉ‡เจœเฉ‡ เจœเจพเจฃ เจคเฉ‡, เจธเฉเจจเฉ‡เจนเฉ‡ PostgreSQL เจคเฉ‹เจ‚ เจฎเจฟเจŸเจพ เจฆเจฟเฉฑเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเจพ เจฎเฉˆเจจเฉเจ…เจฒ เจชเจพเจฐเจธเจฟเฉฐเจ— เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ UI เจตเจฟเฉฑเจš เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ REST API เจฆเฉเจ†เจฐเจพ เจฐเฉ€เจŸเจพเจ‡เจ…เจฐ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเจจ DLQ เจคเฉ‹เจ‚ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจญเฉ‡เจœเจฃเจพ เจœเจพเจ‚ เจฎเจฟเจŸเจพเจ‰เจฃเจพ, เจ—เจฒเจคเฉ€ เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡เจ–เจฃเจพ เจ…เจคเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจเจพ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจ—เจฒเจคเฉ€ เจจเจพเจฎ เจฆเฉเจ†เจฐเจพเฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฏเฉ‹เจ— เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจตเจพเจงเฉ‚ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจ‰เจธ เจตเจฟเจธเจผเฉ‡ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจเฉ€ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจœเจฟเจธ เจจเฉ‚เฉฐ เจฐเฉ€เจŸเจพเจ‡เจ…เจฐ เจธเฉเจฃ เจฐเจฟเจนเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฐเฉ€เจŸเจพเจ‡เจ…เจฐ เจจเฉ‚เฉฐ เจกเฉˆเจธเจŸเฉ€เจจเฉ‡เจธเจผเจจ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเฉ‡เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆเฅค เจ‡เจน เจ…เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆ, เจชเจฐ, เจ…เฉฐเจคเจฐเจพเจฒ เจตเจฟเจธเจผเจพ เจชเจนเฉเฉฐเจš เจฆเฉ‡ เจ‰เจฒเจŸ, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เจธเจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ DLQ เจ…เจคเฉ‡ UI เจนเฉˆเฅค

เจ…เจœเจฟเจนเฉ‡ เจ•เฉ‡เจธ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจตเจฟเจธเจผเฉ‡ เจจเฉ‚เฉฐ เจ•เจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจฎเฉ‚เจนเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเฉœเฉเจนเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจคเจฐเจ• เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจนเจจเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฒเจˆ เจฐเฉ€เจŸเจพเจ‡เจ…เจฐ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเฉ‡ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจฆเฉ‚เจœเฉ‡ 'เจคเฉ‡ เจ‡เฉฑเจ• เจกเฉเจชเจฒเฉ€เจ•เฉ‡เจŸ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจšเจพเจ… เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจฐเฉ€-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฒเจˆ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจตเจฟเจธเจผเจพ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ…เจคเฉ‡ เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจตเจฟเจธเจผเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ‰เจธเฉ‡ เจ–เจชเจคเจ•เจพเจฐ เจฆเฉเจ†เจฐเจพ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจฆเฉ‡ เจชเฉœเฉเจนเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ•เจพเจซเจ•เจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจเจพ

เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจน เจชเจนเฉเฉฐเจš เจธเจฐเจ•เจŸ เจฌเฉเจฐเฉ‡เจ•เจฐ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฐเจค เจ•เฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ spring-Cloud-netflix เจœเจพเจ‚ เจจเจตเจพเจ‚ เจฌเจธเฉฐเจค เจ•เจฒเจพเจ‰เจก เจธเจฐเจ•เจŸ เจฌเฉเจฐเฉ‡เจ•เจฐ, เจ‰เจนเจจเจพเจ‚ เจธเจฅเจพเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉ‡เจŸเจฃเจพ เจœเจฟเฉฑเจฅเฉ‡ เจฌเจพเจนเจฐเฉ€ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจšเจฟเจค เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธเจฆเฉ‡ เจ‡เจฒเจพเจตเจพ, เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจฐเจฃเจจเฉ€เจคเฉ€ เจšเฉเจฃเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจฌเจฒเจ•เจนเฉˆเฉฑเจก เจชเฉˆเจŸเจฐเจจ, เจœเฉ‹ เจ•เจฟ เจฒเจพเจญเจฆเจพเจ‡เจ• เจตเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจชเจฐเจฟเฉฐเจ—-เจ•เจฒเจพเจŠเจก-เจจเฉˆเฉฑเจŸเจซเจฒเจฟเจ•เจธ เจตเจฟเฉฑเจš เจ‡เจน เจ‡เฉฑเจ• เจฅเจฐเจฟเฉฑเจก เจชเฉ‚เจฒ เจœเจพเจ‚ เจธเฉ‡เจฎเจซเฉ‹เจฐ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจธเจฟเฉฑเจŸเจพ

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจนเฉˆ เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจฌเจพเจนเจฐเฉ€ เจธเจฟเจธเจŸเจฎ เจ…เจธเจฅเจพเจˆ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจฎเฉเฉฑเจ– เจซเจพเจ‡เจฆเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‰เจธเฉ‡ เจ•เจพเจซเจ•เจพ เจ•เจฒเฉฑเจธเจŸเจฐ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจฌเจพเจนเจฐเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉ‹เจง เจฆเฉ‡! เจ…เจœเจฟเจนเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจตเจฟเจธเจผเฉ‡ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ, เจ•เฉเจ เจ•เจพเจซเจ•เจพ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจญเจฐเจจ เจ…เจคเฉ‡ เจฎเฉเฉœ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจญเฉ‡เจœเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ•เฉ‹เจˆ เจตเจพเจงเฉ‚ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจ–เฉœเฉเจนเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฐเฉ€เจŸเจพเจ‡เจ…เจฐ เจ…เจคเฉ‡ เจฌเฉˆเจ• เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจฒเฉ€เจจเฉ€เจ…เจฐ เจคเจฐเจ• เจจเจพเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจŸเจพเจช เจฆเฉเจ†เจฐเจพ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เฉ€เจคเจพเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹