เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เด…เดตเดธเดพเดจเดคเตเดคเดฟเตฝ เดฒเต‡เด–เดจเด‚ เดฑเดฟเดฏเดพเด•เตเดŸเต€เดตเต เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดจเตเดฑเต† เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด• เด…เดŸเดฟเดคเตเดคเดฑ เดžเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต. เดกเดพเดฑเตเดฑเดพ เดซเตเดฒเต‹เด•เตพ, เดฑเดฟเดฏเดพเด•เตเดŸเต€เดตเต Erlang/Elixir เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดดเดฟเด•เตพ, เด…เดตเดฏเดฟเดฒเต† เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต:

  • เด…เดญเตเดฏเตผเดคเตเดฅเดจ-เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚
  • เด…เดญเตเดฏเตผเดคเตเดฅเดจ-เดšเด™เตเด•เตเดกเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚
  • เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต‹เดŸเต†เดฏเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚
  • เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเด•-เดธเดฌเตโ€Œเดธเตโ€Œเด•เตเดฐเตˆเดฌเต เดšเต†เดฏเตเดฏเตเด•
  • เดตเดฟเดชเดฐเต€เดคเดฎเดพเดฏเดฟ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเด•-เดธเดฌเตโ€Œเดธเตโ€Œเด•เตเดฐเตˆเดฌเต เดšเต†เดฏเตเดฏเตเด•
  • เดšเตเดฎเดคเดฒ เดตเดฟเดคเดฐเดฃเด‚

SOA, MSA, เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ

SOA, MSA เดŽเดจเตเดจเดฟเดต เดฌเดฟเตฝเดกเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เดณเดพเดฃเต, เด…เดคเต‡เดธเดฎเดฏเด‚ เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตเด•เตเด•เตฝ เด…เดต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดพเด•เตƒเดคเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต.

เดˆ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด† เดธเดฟเดธเตเดฑเตเดฑเด‚ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เดชเตเดฐเตŠเดฎเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเดฟเดจเตเด‚ เดฌเดฟเดธเดฟเดจเดธเตเดธเดฟเดจเตเด‚ เดเดฑเตเดฑเดตเตเด‚ เดซเดฒเดชเตเดฐเดฆเดตเตเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดตเตเดฎเดพเดฏ เดฐเต€เดคเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฃเต เดžเดพเตป. เดžเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจ เดฎเดพเดคเตƒเด• เดŽเดจเตเดคเตเดคเดจเตเดจเต†เดฏเดพเดฏเดพเดฒเตเด‚, Unix-way-เตฝ เด’เดฐเต เด•เดฃเตเดฃเตเด•เตŠเดฃเตเดŸเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต: เด•เตเดฑเดžเตเดž เด•เดฃเด•เตเดฑเตเดฑเดฟเดตเดฟเดฑเตเดฑเดฟ เด‰เดณเตเดณ เด˜เดŸเด•เด™เตเด™เตพ, เดตเตเดฏเด•เตเดคเดฟเด—เดค เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟเด•เตพเด•เตเด•เต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเด•เตพ. เดŽเดชเดฟเด เดฐเต€เดคเดฟเด•เตพ เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฎเต†เดธเต‡เดœเดฟเด‚เด—เต, เดชเต‡เดฐเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต†, เด’เดฐเต เดธเดจเตเดฆเต‡เดถ เดฌเตเดฐเต‹เด•เตเด•เตผ เด†เดฃเต. เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด‡เดคเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดฒเด•เตเดทเตเดฏเด‚. เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด‡เดจเตเดฑเตผเดซเต‡เดธเตเด•เตพ, เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเต‹เดœเดฟเด•เตเด•เตฝ เดšเดพเดจเดฒเตเด•เดณเตเดŸเต† เดฐเต‚เดชเต€เด•เดฐเดฃเด‚, เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต, เดฌเดพเดฒเตปเดธเดฟเด‚เด—เต, เด…เดคเตเดชเต‹เดฒเต† เดคเดจเตเดจเต† เดธเดฟเดธเตเดฑเตเดฑเด‚ เดคเดฒเดคเตเดคเดฟเตฝ เดคเด•เดฐเดพเตผ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตฝ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เต เด‡เดคเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฃเต.
เดžเด™เตเด™เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ rabbitmq-เดฎเดพเดฏเดฟ เดฎเดคเตเดธเดฐเดฟเด•เตเด•เดพเดจเต‹ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเดจเต‹ เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เดคเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ:

  • เดตเดฟเดคเดฐเดฃ.
    เดŽเดฒเตเดฒเดพ เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดจเต‹เดกเตเด•เดณเดฟเดฒเตเด‚ เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด•เต‹เดกเดฟเดจเต เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เด…เดŸเตเดคเตเดคเต.
  • เดฒเดพเดณเดฟเดคเตเดฏเด‚.
    เดฌเต‹เดฏเดฟเดฒเตผ เดชเตเดฒเต‡เดฑเตเดฑเต เด•เต‹เดกเต เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเตเด‚ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเดฒเตเด‚ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด•.
  • เดฎเดฟเด•เดšเตเดš เดชเตเดฐเด•เดŸเดจเด‚.
    เดžเด™เตเด™เตพ rabbitmq-เดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดค เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดฏเตเด‚ เด—เดคเดพเด—เดค เดชเดพเดณเดฟเดฏเตเด‚ เดฎเดพเดคเตเดฐเด‚ เดนเตˆเดฒเตˆเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเต OTP-เดฏเดฟเตฝ เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต, เดšเต†เดฒเดตเต เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต.
  • เดตเดดเด•เตเด•เด‚.
    เด“เดฐเต‹ เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเด‚ เดจเดฟเดฐเดตเดงเดฟ เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.
  • เดกเดฟเดธเตˆเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดชเตเดฐเดคเดฟเดฐเต‹เดงเด‚.
  • เดธเตเด•เต‡เดฒเดฌเดฟเดณเดฟเดฑเตเดฑเดฟ.
    เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต‹เดŸเตŠเดชเตเดชเด‚ เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดตเดณเดฐเตเดจเตเดจเต. เดฒเต‹เดกเต เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดจเตเดธเดฐเดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดฎเต†เดทเต€เดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚. เด•เต‹เดกเต เด“เตผเด—เดจเตˆเดธเต‡เดทเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ Erlang/Elixir เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เต เดฎเต†เดฑเตเดฑเดพ-เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต. เดŽเดฒเตเดฒเดพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเตเด‚ เด’เดฐเต เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต - เด’เดฐเต เด•เตเดŸ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เตพ เดชเดฐเดฎเดพเดตเดงเดฟ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเตเดฅเดพเดชเดจเดคเตเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเด•เดณเดพเดฏ เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดˆ เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดฒเต‚เดŸเต†, เดฎเตเดดเตเดตเตป เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ API เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต, เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต, เดฏเต‚เดฃเดฟเดฑเตเดฑเต, เด‡เดจเตเดฑเด—เตเดฐเต‡เดทเตป เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดŽเดดเตเดคเดพเตป เด‡เดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต.

เดธเดฟเดธเตเดฑเตเดฑเด‚ เด˜เดŸเด•เด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดฌเตเดฐเต‹เด•เตเด•เตผ เดตเดดเดฟ เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ, เด“เดฐเต‹ เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเด‚ เดจเดฟเดฐเดตเดงเดฟ เดœเต€เดตเดฟเดค เด˜เดŸเตเดŸเด™เตเด™เดณเตเดฃเตเดŸเต:

  • เดธเต‡เดตเดจ เดธเดฎเดพเดฐเด‚เดญเด‚.
    เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดธเต‡เดตเดจเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด‚ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เด’เดฐเต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
    เดธเต‡เดตเดจเดคเตเดคเดฟเดจเต เดจเต‹เดกเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดกเตˆเดจเดพเดฎเดฟเด•เต เด†เดฏเดฟ เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚.
  • เดธเต‡เดตเดจ เดฐเดœเดฟเดธเตเดŸเตเดฐเต‡เดทเตป.
    เดธเต‡เดตเดจเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเต, เด…เดคเต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚.
  • เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚.
    เดธเต‡เดตเดจเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดœเต‹เดฒเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดทเดŸเตเดŸเต เดกเต—เตบ.
    2 เดคเดฐเด‚ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดพเดงเตเดฏเดฎเดพเดฃเต: เดธเดพเดงเดพเดฐเดฃเดตเตเด‚ เด…เดŸเดฟเดฏเดจเตเดคเดฟเดฐเดตเตเด‚. เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏเดคเตเดคเต, เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเต‡เดตเดจเด‚ เดตเดฟเดšเตเด›เต‡เดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเตผเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดŸเดฟเดฏเดจเตเดคเดฟเดฐ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ, เดฎเต†เดธเต‡เดœเดฟเด‚เด—เต เดชเดฐเดพเดœเดฏเด‚ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต.

เด‡เดคเต เดตเดณเดฐเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด•เต‹เดกเต เด…เดคเตเดฐ เดญเดฏเดพเดจเด•เดฎเดฒเตเดฒ. เด•เตเดฑเดšเตเดšเต เด•เดดเดฟเดžเตเดžเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเตฝ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเตเดณเตเดณ เด•เต‹เดกเต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เดจเตฝเด•เตเด‚.

เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต

เดŽเด•เตโ€Œเดธเตโ€Œเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเต เดŽเดจเตเดจเดคเต เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเดฒเต† เด˜เดŸเด•เด™เตเด™เดณเตเดฎเดพเดฏเตเดณเตเดณ เด‡เดŸเดชเต†เดŸเดฒเดฟเดจเตเดฑเต† เดฏเตเด•เตเดคเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดพเดฃเต. เดšเตเดตเดŸเต† เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดฟเดฒเตเด‚, เด˜เดŸเด•เด™เตเด™เตพ เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เดณเดฟเดฒเต‚เดŸเต† เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดตเดฏเตเดŸเต† เดธเด‚เดฏเต‹เดœเดจเดฎเดพเดฃเต เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดฐเต‚เดชเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต.

เดธเดจเตเดฆเต‡เดถ เด•เตˆเดฎเดพเดฑเตเดฑ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ (MEPs)

เด†เด—เต‹เดณเดคเดฒเดคเตเดคเดฟเตฝ, เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เดณเต† เดŸเต-เดตเต‡, เดตเตบ-เดตเต‡ เดŽเดจเตเดจเดฟเด™เตเด™เดจเต† เดตเดฟเดญเดœเดฟเด•เตเด•เดพเด‚. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต เด‡เตปเด•เดฎเดฟเด‚เด—เต เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเต† เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดšเต†เดฏเตเดฏเดฐเตเดคเต. เด•เตเดฒเดฏเดจเตเดฑเต-เดธเต†เตผเดตเตผ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดฒเต† เดŸเต-เดตเต‡ เดชเดพเดฑเตเดฑเต‡เดฃเดฟเดจเตเดฑเต† เด’เดฐเต เดฎเดฟเด•เดšเตเดš เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฃเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ-เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดชเดพเดฑเตเดฑเต‡เตบ. เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดชเดฐเดฟเดทเตเด•เตเด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดจเต‹เด•เตเด•เดพเด‚.

เด…เดญเตเดฏเตผเดคเตเดฅเดจ-เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RPC

เดฎเดฑเตเดฑเตŠเดฐเต เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดฒเดญเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเตเดฎเตเดชเต‹เตพ RPC เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏ เด’เดฐเต‡ เดจเต‹เดกเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต‹ เดฎเดฑเตเดฑเตŠเดฐเต เดญเต‚เด–เดฃเตเดกเดคเตเดคเดฟเดฒเต‹ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดตเดดเดฟ เด•เตเดฒเดฏเดจเตเดฑเตเด‚ เดธเต†เตผเดตเดฑเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดกเดฏเด—เตเดฐเด‚ เดšเตเดตเดŸเต†เดฏเตเดฃเตเดŸเต.

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด…เดธเดฎเดจเตเดตเดฟเดคเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเดพเดฏเดฟ เด•เตˆเดฎเดพเดฑเตเดฑเด‚ 2 เด˜เดŸเตเดŸเด™เตเด™เดณเดพเดฏเดฟ เดคเดฟเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  1. เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเด•

    messaging:request(Exchange, ResponseMatchingTag, RequestDefinition, HandlerProcess).

    เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดจเตเดฑเต† เดคเดจเดคเดพเดฏ เดชเต‡เดฐเต
    ResponseMatchingTag เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดฒเต‡เดฌเตฝ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเตเดฏเดคเตเดฏเดธเตเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ.
    เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดฟเตผเดตเตเดตเดšเดจเด‚ - เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดถเดฐเต€เดฐเด‚
    เดนเดพเตปเดกเตเดฒเตผเดชเตเดฐเต‹เดธเดธเตเดธเต โ€’ เดนเดพเตปเดกเตเดฒเดฑเตเดŸเต† PID. เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด•เตเด•เต เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚.

  2. เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต

    handle_info(#'$msg'{exchange = EXCHANGE, tag = ResponseMatchingTag,message = ResponsePayload}, State)

    เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดชเต‡เดฒเต‹เดกเต - เดธเต†เตผเดตเตผ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚.

เดธเต†เตผเดตเดฑเดฟเดจเดพเดฏเดฟ, เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ 2 เด˜เดŸเตเดŸเด™เตเด™เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต:

  1. เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต
  2. เดธเตเดตเต€เด•เดฐเดฟเดšเตเดš เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต

เดˆ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดšเดฟเดคเตเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเด‚. เด’เดฐเต เด•เตƒเดคเตเดฏเดฎเดพเดฏ เดธเดฎเดฏ เดฐเต€เดคเดฟ เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเต‡เดตเดจเด‚ เดžเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚.

เดธเต†เตผเดตเตผ เด•เต‹เดกเต

api.hrl-เตฝ เดธเต‡เดตเดจ API เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเด‚:

%% =====================================================
%%  entities
%% =====================================================
-record(time, {
  unixtime :: non_neg_integer(),
  datetime :: binary()
}).

-record(time_error, {
  code :: non_neg_integer(),
  error :: term()
}).

%% =====================================================
%%  methods
%% =====================================================
-record(time_req, {
  opts :: term()
}).
-record(time_resp, {
  result :: #time{} | #time_error{}
}).

เดจเดฎเตเด•เตเด•เต time_controller.erl-เตฝ เดธเต‡เดตเดจ เด•เตบเดŸเตเดฐเต‹เดณเตผ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเด‚

%% ะ’ ะฟั€ะธะผะตั€ะต ะฟะพะบะฐะทะฐะฝ ั‚ะพะปัŒะบะพ ะทะฝะฐั‡ะธะผั‹ะน ะบะพะด. ะ’ัั‚ะฐะฒะธะฒ ะตะณะพ ะฒ ัˆะฐะฑะปะพะฝ gen_server ะผะพะถะฝะพ ะฟะพะปัƒั‡ะธั‚ัŒ ั€ะฐะฑะพั‡ะธะน ัะตั€ะฒะธั.

%% ะธะฝะธั†ะธะฐะปะธะทะฐั†ะธั gen_server
init(Args) ->
  %% ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะบ ั‚ะพั‡ะบะต ะพะฑะผะตะฝะฐ
  messaging:monitor_exchange(req_resp, ?EXCHANGE, default, self())
  {ok, #{}}.

%% ะพะฑั€ะฐะฑะพั‚ะบะฐ ัะพะฑั‹ั‚ะธั ะฟะพั‚ะตั€ะธ ัะฒัะทะธ ั ั‚ะพั‡ะบะพะน ะพะฑะผะตะฝะฐ. ะญั‚ะพ ะถะต ัะพะฑั‹ั‚ะธะต ะฟั€ะธั…ะพะดะธั‚, ะตัะปะธ ั‚ะพั‡ะบะฐ ะพะฑะผะตะฝะฐ ะตั‰ะต ะฝะต ะทะฐะฟัƒัั‚ะธะปะฐััŒ.
handle_info(#exchange_die{exchange = ?EXCHANGE}, State) ->
  erlang:send(self(), monitor_exchange),
  {noreply, State};

%% ะพะฑั€ะฐะฑะพั‚ะบะฐ API
handle_info(#time_req{opts = _Opts}, State) ->
  messaging:response_once(Client, #time_resp{
result = #time{ unixtime = time_utils:unixtime(now()), datetime = time_utils:iso8601_fmt(now())}
  });
  {noreply, State};

%% ะทะฐะฒะตั€ัˆะตะฝะธะต ั€ะฐะฑะพั‚ั‹ gen_server
terminate(_Reason, _State) ->
  messaging:demonitor_exchange(req_resp, ?EXCHANGE, default, self()),
  ok.

เด•เตเดฒเดฏเดจเตเดฑเต เด•เต‹เดกเต

เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตเดฒเดฏเดจเตเดฑเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเตเด‚ เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดจ API-เดฒเต‡เด•เตเด•เต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚:

case messaging:request(?EXCHANGE, tag, #time_req{opts = #{}}, self()) of
    ok -> ok;
    _ -> %% repeat or fail logic
end

เด’เดฐเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ, เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเดณเดฐเต† เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเดฎเดฏเดคเตเดคเต, เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เด‡เดคเตเดตเดฐเต† เด†เดฐเด‚เดญเดฟเดšเตเดšเต‡เด•เตเด•เดฟเดฒเตเดฒ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเต‡เดตเดจ เด•เตบเดŸเตเดฐเต‹เดณเตผ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโ€Œเด•เตเด•เต เดธเต‡เดตเดจเด‚ เดจเตฝเด•เดพเตป เดคเดฏเตเดฏเดพเดฑเดพเด•เดฟเดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เตพเด•เตเด•เต เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฐเดพเดœเดฏ เด•เต‡เดธเต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.
เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เด…เดฏเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต เดธเต‡เดตเดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเต‹ เดชเดฟเดถเด•เต‹ เดฒเดญเดฟเด•เตเด•เตเด‚.
เดจเดฎเตเด•เตเด•เต handle_info-เตฝ เดฐเดฃเตเดŸเต เด•เต‡เดธเตเด•เดณเตเด‚ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเด‚:

handle_info(#'$msg'{exchange = ?EXCHANGE, tag = tag, message = #time_resp{result = #time{unixtime = Utime}}}, State) ->
  ?debugVal(Utime),
  {noreply, State};

handle_info(#'$msg'{exchange = ?EXCHANGE, tag = tag, message = #time_resp{result = #time_error{code = ErrorCode}}}, State) ->
  ?debugVal({error, ErrorCode}),
  {noreply, State};

เด…เดญเตเดฏเตผเดคเตเดฅเดจ-เดšเด™เตเด•เตเดกเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚

เดตเดฒเดฟเดฏ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด…เดฏเด•เตเด•เตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต. เดฎเตเดดเตเดตเตป เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดถเต‡เดทเดฟเดฏเตเด‚ เดธเตเดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเด‚ เด‡เดคเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดšเต‹เดฆเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดฎเต†เดฎเตเดฎเดฑเดฟ เดŽเดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเต† เดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต เดจเดฟเตผเดฌเดจเตเดงเดฎเดพเดฃเต.

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เด…เดคเตเดคเดฐเด‚ เด•เต‡เดธเตเด•เดณเตเดŸเต† เดฐเดฃเตเดŸเต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เดžเดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเตฝเด•เดพเด‚:

  • เด˜เดŸเด•เด™เตเด™เตพ เดซเดฏเดฒเตเด•เตพ เดชเต‹เดฒเตเดณเตเดณ เดฌเตˆเดจเดฑเดฟ เดกเดพเดฑเตเดฑ เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเต† เดšเต†เดฑเดฟเดฏ เดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเดคเต เดเดคเต เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เดซเดฏเดฒเตเด•เดณเดฟเดฒเตเด‚ เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเตเด‚ เดฎเต†เดฎเตเดฎเดฑเดฟ เด“เดตเตผเดซเตเดฒเต‹เด•เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดฒเดฟเดธเตเดฑเตเดฑเดฟเด‚เด—เตเด•เตพ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต† เด’เดฐเต เดตเดฒเดฟเดฏ เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดฒเตเดฒเดพ เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เดณเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เด…เดตเดฏเต† เดฎเดฑเตเดฑเตŠเดฐเต เด˜เดŸเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดˆ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เดณเต† เดžเดพเตป เดฒเต‹เด•เตเด•เต‹เดฎเต‹เดŸเตเดŸเต€เดตเต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚, 1024 MB เดฏเตเดŸเต† 1 เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ 1 GB เดŽเดจเตเดจ เด’เดฑเตเดฑ เดธเดจเตเดฆเต‡เดถเดคเตเดคเต‡เด•เตเด•เดพเตพ เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต.

Erlang เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ, เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด…เดงเดฟเด• เด†เดจเตเด•เต‚เดฒเตเดฏเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต - เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดฒเต†เดฏเตเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต†เดฏเตเด‚ เดฒเต‹เดกเต เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เตพ เด‰เดŸเตป เดธเตเดตเต€เด•เตผเดคเตเดคเดพเดตเดฟเดจเต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต, เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเต เดฎเดฑเดฟเด•เดŸเดจเตเดจเต.

เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต‹เดŸเต†เดฏเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚

เดกเดฏเดฒเต‹เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด†เตผเดชเดฟเดธเดฟ เดชเดพเดฑเตเดฑเต‡เดฃเดฟเดจเตเดฑเต† เดตเดณเดฐเต† เด…เดชเต‚เตผเดตเดฎเดพเดฏ เดชเดฐเดฟเดทเตเด•เตเด•เดฐเดฃเดฎเดพเดฃเดฟเดคเต.

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเด•-เดธเดฌเตโ€Œเดธเตโ€Œเด•เตเดฐเตˆเดฌเต เดšเต†เดฏเตเดฏเตเด• (เดกเดพเดฑเตเดฑ เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดทเตป เดŸเตเดฐเต€)

เด‡เดตเดจเตเดฑเต-เดกเตเดฐเตˆเดตเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดกเดพเดฑเตเดฑ เดคเดฏเตเดฏเดพเดฑเดพเดฏเดพเดฒเตเดŸเตป เด…เดต เด‰เดชเดญเต‹เด•เตเดคเดพเด•เตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดŽเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เด’เดฐเต เดชเตเตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเต‹เตพ เดฎเต‹เดกเดฒเดฟเดจเต†เด•เตเด•เดพเตพ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เด’เดฐเต เดชเตเดทเต เดฎเต‹เดกเดฒเดฟเดจเต เด•เต‚เดŸเตเดคเตฝ เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต. เดจเดฟเดฐเดจเตเดคเดฐเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเดšเตเดšเต เดกเดพเดฑเตเดฑเดฏเตเด•เตเด•เดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดตเดฟเดญเดตเด™เตเด™เตพ เดชเดพเดดเดพเด•เตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป เดˆ เดธเดตเดฟเดถเต‡เดทเดค เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.
เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเดฐเดฟเด•เตเด•เดพเดฐเดพเดฏ เด‰เดชเดญเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดšเดฟเดคเตเดฐเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เตเดฒเดพเดธเดฟเด•เต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดพเดฃเต เดธเด‚เดธเตเดฅเดพเดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดคเดฐเดฃเด‚: เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เด—เต†เดฏเดฟเดฎเตเด•เดณเดฟเดฒเต† เด—เต†เดฏเดฟเด‚ เดฒเต‹เด•เด‚, เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเตเด•เดณเดฟเดฒเต† เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดกเดพเดฑเตเดฑ, เดกเดพเดฑเตเดฑ เดซเต€เดกเตเด•เดณเดฟเดฒเต† เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ.

เดธเดฌเตเดธเตเด•เตเดฐเตˆเดฌเตผ เด•เต‹เดกเต เดจเต‹เด•เตเด•เดพเด‚:

init(_Args) ->
  %% ะฟะพะดะฟะธัั‹ะฒะฐะตะผัั ะฝะฐ ะพะฑะผะตะฝะฝะธะบ, ะบะปัŽั‡ = key
  messaging:subscribe(?SUBSCRIPTION, key, tag, self()),
  {ok, #{}}.

handle_info(#exchange_die{exchange = ?SUBSCRIPTION}, State) ->
  %% ะตัะปะธ ั‚ะพั‡ะบะฐ ะพะฑะผะตะฝะฐ ะฝะตะดะพัั‚ัƒะฟะฝะฐ, ั‚ะพ ะฟั‹ั‚ะฐะตะผัั ะฟะตั€ะตะฟะพะดะบะปัŽั‡ะธั‚ัŒัั
  messaging:subscribe(?SUBSCRIPTION, key, tag, self()),
  {noreply, State};

%% ะพะฑั€ะฐะฑะฐั‚ั‹ะฒะฐะตะผ ะฟั€ะธัˆะตะดัˆะธะต ัะพะพะฑั‰ะตะฝะธั
handle_info(#'$msg'{exchange = ?SUBSCRIPTION, message = Msg}, State) ->
  ?debugVal(Msg),
  {noreply, State};

%% ะฟั€ะธ ะพัั‚ะฐะฝะพะฒะบะต ะฟะพั‚ั€ะตะฑะธั‚ะตะปั - ะพั‚ะบะปัŽั‡ะฐะตะผัั ะพั‚ ั‚ะพั‡ะบะธ ะพะฑะผะตะฝะฐ
terminate(_Reason, _State) ->
  messaging:unsubscribe(?SUBSCRIPTION, key, tag, self()),
  ok.

เดเดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดธเตเดฅเดฒเดคเตเดคเตเด‚ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเดจเต เดซเด‚เด—เตโ€Œเดทเดจเต† เดตเดฟเดณเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚:

messaging:publish_message(Exchange, Key, Message).

เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต - เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเต,
เด•เต€ - เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต เด•เต€
เดธเดจเตเดฆเต‡เดถเด‚ - เดชเต‡เดฒเต‹เดกเต

เดตเดฟเดชเดฐเต€เดคเดฎเดพเดฏเดฟ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเด•-เดธเดฌเตโ€Œเดธเตโ€Œเด•เตเดฐเตˆเดฌเต เดšเต†เดฏเตเดฏเตเด•

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เดชเดฌเต-เดธเดฌเต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดฒเต‹เด—เดฟเด‚เด—เดฟเดจเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚. เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เด‰เดชเดญเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต†เดฏเตเด‚ เด•เต‚เดŸเตเดŸเด‚ เดคเดฟเด•เดšเตเดšเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เด’เดฐเต เด‰เดชเดญเต‹เด•เตเดคเดพเดตเตเด‚ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดฎเตเดณเตเดณ เด’เดฐเต เด•เต‡เดธเต เดšเดฟเดคเตเดฐเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดŸเดพเดธเตโ€Œเด•เต เดตเดฟเดคเดฐเดฃ เดฐเต€เดคเดฟ

เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•, เด…เดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเด•, เดฎเต‚เดจเตเดจเดพเด‚ เด•เด•เตเดทเดฟ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเด• เดคเตเดŸเด™เตเด™เดฟเดฏ เดฎเดพเดฑเตเดฑเดฟเดตเต†เดšเตเดš เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดœเต‹เดฒเดฟเด•เตพ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเดฟเดฒเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดˆ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เตเดจเตเดจ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดคเตเดฐเต‚เดชเตเดŸเตเดŸเต เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เตพ เดšเต‡เตผเดคเตเดคเต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดธเตเด•เต†เดฏเดฟเตฝ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เดžเด™เตเด™เตพเด•เตเด•เต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเตเดฐเต‹เดธเดธเตเดธเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดฐเต‚เดชเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเตเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต.

3 เดนเดพเตปเดกเตเดฒเดฑเตเด•เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เตพ เดจเต‹เด•เตเด•เดพเด‚. เดŸเดพเดธเตโ€Œเด•เต เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดชเต‹เดฒเตเด‚, เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดจเตเดฏเดพเดฏเดตเตเด‚ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดตเดฐเตเดŸเต† เด“เดตเตผเดซเตเดฒเต‹เดฏเตเด‚ เดšเต‹เดฆเตเดฏเด‚ เด‰เดฏเตผเดจเตเดจเตเดตเดฐเตเดจเตเดจเต. เดฑเต—เดฃเตเดŸเต เดฑเต‹เดฌเดฟเตป เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเดจเต เดจเตเดฏเดพเดฏเดฎเดพเดฏ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดนเดพเตปเดกเตโ€ŒเดฒเตผเดฎเดพเดฐเตเดŸเต† เด“เดตเตผเดซเตเดฒเต‹ เด’เดฐเต เดธเดพเดนเดšเดฐเตเดฏเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป, เดžเด™เตเด™เตพ เด’เดฐเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚ เด•เตŠเดฃเตเดŸเตเดตเดฐเตเด‚ prefetch_limit. เด•เตเดทเดฃเดฟเด•เดฎเดพเดฏ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ prefetch_limit เดŽเดฒเตเดฒเดพ เดœเต‹เดฒเดฟเด•เดณเตเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดนเดพเตปเดกเตเดฒเดฑเต† เดคเดŸเดฏเตเด‚.

เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เด•เตเดฏเต‚เด•เดณเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดฎเตเตปเด—เดฃเดจเดฏเตเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ เดŽเดคเตเดคเตเดฎเตเดชเต‹เตพ เดชเตเดฐเต‹เดธเดธเตเดธเดฑเตเด•เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต. เดŸเดพเดธเตเด•เต เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเดพเด‚:

  • messaging:ack(Tack) - เดธเดจเตเดฆเต‡เดถเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดคเดพเตฝ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต
  • messaging:nack(Tack) - เดŽเดฒเตเดฒเดพ เด…เดŸเดฟเดฏเดจเตเดคเดฟเดฐ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เดŸเดพเดธเตโ€Œเด•เต เดคเดฟเดฐเดฟเด•เต† เดฒเดญเดฟเดšเตเดšเตเด•เดดเดฟเดžเตเดžเดพเตฝ, เดธเดจเตเดฆเต‡เดถเดฎเดฏเดฏเตโ€Œเด•เตเด•เตฝ เด…เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เดนเดพเตปเดกเตโ€Œเดฒเตผเด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด‚.

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ. เด†เดฆเตเดฏ เดธเดฎเต€เดชเดจเด‚

เดฎเต‚เดจเตเดจเต เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดพเดœเดฏเด‚ เดธเด‚เดญเดตเดฟเดšเตเดšเตเดตเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•: เดชเตเดฐเต‹เดธเดธเตเดธเตผ 1, เดŸเดพเดธเตโ€Œเด•เต เดธเตเดตเต€เด•เดฐเดฟเดšเตเดš เดถเต‡เดทเด‚, เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดจเตเดจเตเด‚ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดธเดฎเดฏเดฎเดฟเดฒเตเดฒเดพเดคเต† เดคเด•เตผเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดŽเด•เตโ€Œเดธเตโ€Œเดšเต‡เดžเตเดšเต เดชเต‹เดฏเดฟเดจเตเดฑเต, เดŽเด•เตโ€Œเดธเตโ€Œเดšเต‡เดžเตเดšเต เดŸเตˆเด‚เด”เดŸเตเดŸเต เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดฟเดจเต เดถเต‡เดทเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เดนเดพเตปเดกเตโ€Œเดฒเตผเด•เตเด•เต เดšเตเดฎเดคเดฒ เด•เตˆเดฎเดพเดฑเตเด‚. เดšเดฟเดฒ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ, เดนเดพเตปเดกเตโ€Œเดฒเตผ 3 เดŸเดพเดธเตโ€Œเด•เต เด‰เดชเต‡เด•เตเดทเดฟเดšเตเดšเต เดฎเดฏเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดšเตเดšเต; เด…เดคเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฏเดฟ, เด…เดคเต เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ เดฎเดฑเตเดฑเตŠเดฐเต เดนเดพเตปเดกเตโ€Œเดฒเดฑเดฟเดฒเต‡เด•เตเด•เตเด‚ เดŸเดพเดธเตโ€Œเด•เต เด•เตˆเดฎเดพเดฑเดฟ.

เดชเตเดฐเดพเดฅเดฎเดฟเด• เดธเด‚เด—เตเดฐเดนเด‚

เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เด…เดŸเดฟเดธเตเดฅเดพเดจ เดจเดฟเตผเดฎเดพเดฃ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดžเด™เตเด™เตพ เด•เดตเตผ เดšเต†เดฏเตเดคเต, เดŽเตผเดฒเดพเด™เต/เดŽเดฒเดฟเด•เตโ€Œเดธเดฟเดฑเดฟเตฝ เด…เดตเดฏเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏ เดงเดพเดฐเดฃเดฏเตเด‚ เดจเต‡เดŸเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เด‰เดฏเตผเดจเตเดจเตเดตเดฐเตเดจเตเดจ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เดฎเดพเดคเตƒเด•เด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เดชเดฐเดฎเตเดชเดฐเดฏเตเดŸเต† เด…เดตเดธเดพเดจ เดญเดพเด—เดคเตเดคเต, เดธเต‡เดตเดจเด™เตเด™เตพ เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต, เดฌเดพเดฒเตปเดธเต เดšเต†เดฏเตเดฏเตฝ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดชเตŠเดคเตเดตเดพเดฏ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดžเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เดธเตเด•เต‡เดฒเดฌเดฟเดณเดฟเดฑเตเดฑเดฟเดฏเตเดŸเต†เดฏเตเด‚ เดคเต†เดฑเตเดฑเต เดธเดนเดฟเดทเตเดฃเตเดคเดฏเตเดŸเต†เดฏเตเด‚ เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เดตเดถเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเด‚.

เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚.

เดซเต‡เดพเดŸเตเดŸเต‡เดพ เดฎเดพเดฐเดฟเดฏเดธเต เด•เตเดฐเดฟเดธเตเดฑเตเดฑเต†เตปเดธเตป
websequencediagrams.com เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดšเดฟเดคเตเดฐเต€เด•เดฐเดฃเด™เตเด™เตพ

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•