ืื ืืืื ืืืืฅ ืืืจื ืื ืื ืืืืื ืืื Lamoda, ืขื ืชืืืื ืืขืื ืืขืฉืจืืช ืฉืืจืืชืื ืืืืืจืื, ืืฉื ืืช ืืืืคื ืืฉืืขืืชื ืืช ืืืืฉื ืฉืื? ืืืืืืืฆืื ืืืืื ืืืืืช ืฉืื ื ืืืืืืื: ืืืงืืงื ืืขื ืืจืฆืื ืืืชื ืกืืช ืืืืืขื ืืื ืืืชืื ืชืื.
ืืื ืื ืื ืืืืจ ืฉืืชื ืื ืืืื ืืกืืื ืขื ืืืืืช ื ืืกืคืืช. ืกืจืืื ืืืืงื ืืืื ืื ืืื ืืืืืง ืชืืื ืืืืืช ืื ืชืืืืข ืืช ื-API ืืื ืื ืืืจืืขืื ืขื ืงืคืงื (
ืืชื ืืืชืืจ: ืืืืจ ืื ืืืืกืก ืขื ืืืืจืื ืืืคืืฉ ืฉืขืจื ืกืจืืื ืื ืืืืืจ 2018 ื-HighLoad++. ืืืืืื ืืืื ืฉื ืืืืื ืืขืืืื ืขื ืงืคืงื ืืฉืื ืืืืื ืื ืื ืคืืืช ืืืืืืืื ืืืจืื ืืืื ืืืื ืื. ืื ื ืืืฉืืื ืฉืื ืืืืื ืืฆืืื ืช ืืขืืืื ืฉืชืืื ืืคืฉืจ ืืฆืจืื ืืืฆืื ืื ืฉืื ืืขืื ืืขืืช ืืืืืช, ืืืืืจืื ืื ืฉื HighLoad++ ืืืฉืืื ืื ืกืืช ืืืฆืืจ ืืืืืจื ืืชืืืื ืืื.
ืืืื ืืชืืืื
Lamoda ืืื ืคืืืคืืจืืช ืืกืืจ ืืืงืืจืื ื ืืืืื ืฉืืฉ ืื ืืจืื ืงืฉืจ ืืฉืื, ืฉืืจืืช ืืฉืืืืื (ืืืจืื ืฉืืชืคืื), ืกืืืืื ืืฆืืืื, ืืืกื ืขื ืง ืืื ืื ืคืืขื ืขื ืชืืื ื ืืฉืื. ืืฉื ื ืขืฉืจืืช ืืืฆืขื ืชืฉืืื, ืฉืืชืคื b2b ืฉืขืฉืืืื ืืืฉืชืืฉ ืืืืง ืื ืืื ืืฉืืจืืชืื ืืืื ืืจืืฆืื ืืืขืช ืืืืข ืขืืื ื ืขื ืืืืฆืจืื ืฉืืื. ืื ืืกืฃ, ืืืืื ืคืืขืืช ืืฉืืืฉ ืืืื ืืช ืืืื ืืคืืจืฆืื ืืจืืกืืช ืืืื ืฉื ืงืฆืช ืฉืื ื. ืืกื ืืื, ืืฉ ืื ืจืื ืืืชืจ ืืืื ืืจืืื ืืืืืืจ ืืืื ื ืืืฉื, ืฉืืฉ ืืขืื ืืืชื ืืืจืื. ืื ืื ืขืืื ืืขืืจืช ืขืฉืจืืช ืฉืืจืืชืื ืฉืืขืืชืื ืืชืงืฉืจืื ืืืจืืื ืื ืืืื ืืช ืืืืืื. ืงืืืืช ืื ืืขืจืืช ืืจืืืืช ืฉืขืืงืจ ืืืจืืืชื ืืื ืกืืืืกื ืืืื ืืช. ืื ืื ื ืงืืจืืื ืื BOB, ืื ื ืขืืื ืืืชื.
ืืื ืืืืจืื ืืกืคืืื ืขื API ืืื ืื ืืืจืืขืื
ืืืืื ืืื ืขืช ืืืจืืขืื ืืื ืื ืืคืืฆืฆืช; ืงืฆืช ืืืชืจ ืจืืืง ื ืืืืจ ืืืชืจ ืคืืจืื ืื ืืืืื ื ืืื. ืืชืืื ืืืงืฉืจ ืฉืื ืืืืื ื ืื ืกืืช ืืช ืืืฉืช ื-API ืืื ืขืช ืืืจืืขืื ืืงืคืงื.
ืืื ืื ืืช, ืื ืืกืฃ ืืืืื ืืช ืขืืืื ืืฉืืืื ืืืงืืืืช, ืืฉื ื ืืงืจืื ืืื ืืื ืืช ื ืืจืฉืช ืืืืืืจ ืืกืฃ ืืืื ืฉืืืืฆืจ ืื ืืชืืื ืืืงืื. ืืืืืจ ืืชืืืื ืงืฆืจ ืืืกืืช: ืื ื ืืืืืจืื ืืช ืืืืืข ืืืืืช ืืฆืืจื ืืืขืืืจืื ืืช ืืืกืฃ.
ืืื ืืืืจื ืืคืื ืืกืืืืช ืืืชืจ ืืืื ืฉืื ืืืื ืืืงืืงื, ืืืืื ื ืฆืจืืืื ืืืืฉื ืขืืืจื ืืืงืจื-ืฉืืจืืช ื ืคืจื.
ืืืืืืืฆืื ืฉืื ื:
- ืืืง FZ-54 - ืืงืืฆืืจ, ืืืืง ืืืืื ืืืืื ืืืก' ืขื ืื ืขืกืงื ืืกืคืืช, ืืื ืื ืื ืืืืจื ืื ืงืืื, ืชืื SLA ืงืฆืจ ืืืื ืฉื ืืกืคืจ ืืงืืช. ืื ืื ื, ืืืืจืช ืืกืืจ ืืืงืืจืื ื, ืืืฆืขืื ืื ืืขื ืคืขืืืืช. ืืืืื ื ืืื ืืช, ืืฉืืขืืช ืืืืจ ืืื ืืืจืืืช ืืืฉื (ืืืื ืฉืืจืืช ืืืฉ) ืืฉืืคืืจืื ืืื ืืืขืจืืืช ืืืขืืจืืืช.
- ืคืืฆืื BOB ืืื ืคืจืืืงื ืคื ืืื ืฉื ืืืืจื ืืื ืืฉืืจืจ ืืช BOB ืืืกืคืจ ืจื ืฉื ืชืืืื ืืืจืืืช ืฉืืื ื ืืืืื ืืืืคืืืช ืืช ืืืืจืืืืช ืืืืืืช ืฉืื.
ืชืจืฉืื ืื ืืฆืื ืืช ืืขืจืืืช ืืืืืื ืืขืืงืจืืืช. ืขืืฉืื ืจืืื ืืืชืจ ืงืืืฆืช ืืืืืื ืฉื 5-10 ืืืงืจื-ืฉืืจืืชืื ืกืืื ืืื ืืืื ืืชืืืืฅ. ืื ืืืืื ืืื, ืืื ืื ืื ื ืื ืกืื ืืืงืืื ืืืชื, ืื ืืคืจืืก ืืช ืืฉืืจ ืฉื ืืืจ ืืืืฆืข ืื ืืคืืื - ืื ืื ื ืื ืืืืืื ืืชืช ืื ืืืคืื. ืื ื ื ืืืฆืื ืืฉืืืจ ืืช ืื ืืืืคืืช (ืืฆืื) ืืืงืืช ืืืฉืืื ืืช ืืขืืืื ืฉืื ืืืช ืืื ืขืฉืืื ืืืชืืจืจ ืืื ืืืื ื.
ื-BOB ืืฉ ืื ืื ืืจืื ืืจืืืืืช: ืืขืจืืืช ืชืฉืืื, ืืขืจืืืช ืืฉืืื, ืืขืจืืืช ืืืืขืืช ืืื'.
ืืืืื ื ืืื ืืช BOB ืืื:
- ~150 ืืืฃ ืฉืืจืืช ืงืื + ~100 ืืืฃ ืฉืืจืืช ืฉื ืืืืงืืช;
- php7.2 + Zend 1 & Symfony Components 3;
- >100 ืืืฉืงื API & ~50 ืืื ืืืจืฆืืืช ืืืฆืืืช;
- 4 ืืืื ืืช ืขื ืืืืืื ืขืกืงื ืืฉืืื.
ืคืจืืกืช BOB ืืื ืืงืจื ืืืืืืช, ืืืืช ืืงืื ืืืืขืืืช ืฉืืื ืคืืชืจืช ืืื ืืื ืฉืืฃ ืืื ืื ืืืื ืืืื ืืก ืืื ืืจืืฉ. ืืืืคื ืืืื, ืืฉ ืืจืื ืกืืืืช ืืคืฉื ืืช ืื.
ืชืืืื ืืืืจื
ืืชืืืื, ืฉืชื ืืขืจืืืช ืืขืืจืืืช ืืชืืืื: BOB ืืชืฉืืื. ืืขืช ืืืคืืขืื ืฉื ืืื ื ืืกืคืื:
- ืฉืืจืืช ืคืืกืงืืืืืฆืื, ืฉืืืคื ืืืขืืืช ืืคืืกืงืืืืืฆืื ืืืชืงืฉืืจืช ืขื ืฉืืจืืชืื ืืืฆืื ืืื.
- Refund Tool, ืฉืคืฉืื ืืืื ืืืืคืืช ืืืฉืืช ืืื ืื ืื ืคื ืืช ื-BOB.
ืืขืช ืืชืืืื ื ืจืื ืื:
- BOB ืืงืื ืืงืฉื ืืืืืจ.
- BOB ืืืืจ ืขื ืืื ืืืืืจ ืืื.
- ืืื ืืืืืจืื ืืืืจ ืืชืฉืืื: "ืืืืจ ืืช ืืืกืฃ".
- ืืชืฉืืื ืืืืืจ ืืช ืืืกืฃ.
- Refund Tool ื-BOB ืืกื ืืจื ืื ืกืืืืกืื ืืื ืขื ืืฉื ื, ืื ืืื ืชืืื ืฉื ืืื ืฆืจืืืื ืืช ืื. ืื ืื ื ืขืืืื ืื ืืืื ืื ืืขืืืจ ืืืืจื ื-Refund Tool, ืฉืื ื-BOB ืืฉ ืืืฉืง ืืฉืชืืฉ, ืืืืืช ืืื ืืืช ืืฉืืื ืืช ืืืืื ืืจืื ื ืชืื ืื ืฉืื ืืคืฉืจ ืืืขืืืจ ืื ืื ืืงืืืช. ืืชื ืฆืจืื ืืฉืืช ืขื ืฉื ื ืืืกืืืช.
- ืืืงืฉื ืืคืืกืงืืืืืฆืื ื ืขืืืช.
ืืชืืฆืื ืืื ืขืฉืื ื ืขื ืงืคืงื ืืขืื ืืืืืืืก ืืืืจืืขืื - ืืืืืืืก ืืืืจืืขืื, ืขืืื ืืื ืืชืืื. ืืื, ืขืืฉืื ืืฉ ืื ื ื ืงืืืช ืืืฉืืื ืืืช (ืกืจืงืื).
ืืืชืจืื ืืช ืืืืกืจืื ืืช ืื ืืจืืจืื. ืขืฉืื ื ืืืืืืืก, ืื ืฉืืืืจ ืฉืขืืฉืื ืื ืืฉืืจืืชืื ืชืืืืื ืื. ืื ืืคืฉื ืืช ืืขืืฆืื, ืืื ืืฆืื ื ืงืืืช ืืฉื ืืืช ืืืขืจืืช. ืงืคืงื ืืชืจืกืง, ืืชืืืื ืืืคืกืง.
ืืื API ืืื ืข ืืืจืืขืื
ืชืฉืืื ืืืื ืืฉืืื ืื ื ืืฆืืช ืืื"ื ืฉื ืืจืืื ืคืืืืจ (GOTO 2017)
ืืงืฆืจื ืื ืขืฉืื ื:
- ืกืืืจ ืืช ืื ืืืืคืืช ืืืกืื ืืจืื ืืืช ืืืืฆืขืืช ืืืกืื ืืืจืืขืื. ืืืงืื ืืืืืข ืื ืฆืจืื ืืชืขื ืืื ืขื ืฉืื ืื ืกืืืืก ืืจื ืืจืฉืช, ืื ืื ื ืืืชืืื ืืืจืืข ืขื ืฉืื ืื ืกืืืืก ืืืืกืื ืืจืืื, ืืฆืจืื ืื ืืืชืขื ืืื ืื ืื ืืฉื ืงืืจืืื ืืช ืื ืื ืฉืืืคืืข ืืฉื.
- ืืืืจืืข ืืืงืจื ืื ืืื ืืืืขื (ืืืืขืืช) ืฉืืฉืื ืืฉืชื ื ืืืคืฉืื. ืืืืืื, ืกืืืืก ืืืืื ื ืืฉืชื ื. ืฆืจืื ืืืขืื ืืื ืื ืชืื ืื ืืกืืืืื ืื ืืืืื ืืฉืื ืื ืืกืืืืก ืฉืืื ื ืืืืืื ืืืืืขื ืืืื ืืืจืจ ืืช ืืฆืื ืืขืฆืื.
- ืืืืคืฆืื ืืืงืกืืืืืช ืืื ืืืงืืจ ืืืืจืืขืื ืื ืืื ืืื, ืืขืืจื ืืืื ื, ืืืืื ืืืจืืข ืืืื ืืช ืื ืืืืืข ืืืจืืฉ ืืขืืืื: ืืืืคื ืืื ืืืืข ืืืืืื ืืฆื ืืื ืืืืข, ืืื ืืืืืง ืืฉืชื ื ืื ืชืื ืื ืืื'. ืืฉืืื ืืืืืื ืืื ืืืชืื ืืช ืืืืืช ืืืืืข ืฉืืชื ืืืื ืืืจืฉืืช ืืขืฆืื ืืืืกื.
ืืืืง ืืืฉืงืช ืืื ืืืืืจืื, ืืฉืชืืฉื ื ืืืคืฉืจืืช ืืฉืืืฉืืช. ืื ืคืฉื ืืช ืขืืืื ืืืืจืืขืื ืืืืืื ืฉืื ืืื ืฆืืจื ืืืืฅ ืืืืข ืืคืืจื, ืื ืืกืฃ ืืื ืืืื ืืช ืืชืจืืืฉ ืฉืื ืื ืืืจืืข ืืืฉ ืืืฆืจ ืคืจืฅ ืฉื ืืงืฉืืช ืงืืืช ืืืืจื ืืฆืจืื ืื.
ืฉืืจืืช ืืื ืืืืจืื ืืกืคืืื ืื ืืขืื, ืื ืงืคืงื ืืฉ ืืืชืจ ืืขื ืืืขื ืืืฉืจ ืืืจื. ืื ื ืื ืืืฉื ืฉืื ืฉืืจืืช ืืืืืจืื ืืืคืื ืืคืจืืืงื ืืขืืืก ืืืื, ืืขืกืง ืืื ืฉืื.
ืืืืคื ืืกืื ืืจืืช ืืืืช ืฉืืื
ืขืืืจ ืืืืืคืื ืืกืื ืืจืื ืืื, ืืืืงืช PHP ืืฉืชืืฉืช ืืืจื ืืื ื-RabbitMQ. ืืกืคื ื ืืช ืื ืชืื ืื ืืืงืฉื, ืืขืืื ื ืืืชื ืืชืืจ, ืืืฆืจืื ืฉื ืืืชื ืฉืืจืืช ืงืจื ืืืชื ืืฉืื (ืื ืื ืฉืื). ืขืืืจ ื-API ืขืฆืื, Lamoda ืืฉืชืืฉืช ืืืืคื ืคืขืื ื-Swagger. ืื ื ืืขืฆืืื API, ืืชืืจืื ืืืชื ื-Swagger ืืืืืฆืจืื ืงืื ืืงืื ืืฉืจืช. ืื ื ืืฉืชืืฉืื ืื ื-JSON RPC 2.0 ืืฉืืคืจ ืืขื.
ืืืงืืืืช ืืกืืืืื ืืฉืชืืฉืื ืืืืืืืืกื ESB, ืืืงื ืืืื ื-activeMQ, ืืื, ืืืืคื ืืืื, RabbitMQ - ืกืื ืืจืื.
ืืืจืกื ืืกืื ืืจืื ืืช TO BE
ืืืฉืจ ืืชืื ื ืื ืืืืคืื ืืืืฆืขืืช ืืืืืืืก ืืืจืืขืื, ื ืืชื ืืขืงืื ืืืจ ืื ืืืืื. ืื ื ืืชืืจืื ืืืืคื ืืืื ืืืืืคื ื ืชืื ืื ืขืชืืืืื ืืืืฆืขืืช ืชืืืืจื ืืื ื ืืืจืืขืื. ืคืืจืื yaml, ืืืื ื ืฆืจืืืื ืืขืฉืืช ืืช ืืฆืืจืช ืืงืื ืืขืฆืื ื, ืืืืืื ืืืฆืจ DTO ืืคื ืืืคืจื ืืืืื ืืงืืืืช ืืฉืจืชืื ืืขืืื ืืืชื. ืืืืจ ืขืืืจ ืืฉืชื ืฉืคืืช - ืืืื ื ื-php. ืื ืขืืืจ ืืฉืืืจ ืขื ืขืงืืืืช ืฉื ืกืคืจืืืช. ืืืืืื ืืชืื ืืืืื ื, ืืืื ืืื ืงืืื ืืช ืืฉื gogi.
ืืืงืืจ ืืืจืืขืื ืขื ืงืคืงื ืืื ืืืจ ืืืคืืกื. ืืฉ ืคืชืจืื ืืืืจืกืช ืืืจืืื ืืช ืืจืืฉืืช ืฉื ืงืคืงื ืงืื ืคืืืื ื, ืืฉ
ืื ืืืจืื ื ืฉืื ืืืงืจื ืืฉืื ืฉืืื, ืืฉืืฉ ืขืกืง ืืืื ืืขืจื, Zalando, ืฉืขืฉื ืคืชืจืื ืืืื ืืขืจื, ืื ืื ื ืื ืืืืืื ืืืฉืชืืฉ ืื ืืืขืืืืช.
ืืืคืืก ืืืืจืืืื ืืืฉืงื ืืื ืืืืงืื: ืื ื ืงืืจืืื ืืฉืืจืืช ืืงืคืงื, ืื ืืืชืืื ืจืง ืืจื ืืืืืืืก ืืืจืืขืื. ืืฉ ืืจืื ืืืื ืื ืืงืจืืื ืืงืคืงื: ืืจืืงืจืื, ืืืื ืื, ืืืื ืคืืืช ืื ืืืชืจ ืืืื ืืงื ื ืืืื ืืืคืงื, ืจืฆืืชื ืืฉืืืจ ืืช ืื. ืจืฆืื ื ืืืฉืืื ืืช ืืืงืืื ืืจื Gateway ืืื aka Events-bus, ืืื ื ืืกืืื.
ืืืจืืขืื-ืืืืืืืก
ืื ืืืืืืืก ืืืืจืืขืื. ืืื ืคืฉืื ืฉืขืจ http ืืกืจ ืืืื ื, ืฉืืืงื ืขื ืขืฆืื ืืกืคืจ ืชืคืงืืืื ืืฉืืืื:
- ืืคืงืช ืืืืืช - ืื ื ืืืืงืื ืฉืืืืจืืขืื ืขืืืืื ืืืคืจื ืฉืื ื.
- ืืขืจืืช ืืืกืืจ ืืืจืืขืื, ืืืืืจ, ืื ืืืขืจืืช ืืขืืงืจืืช ืืืืืืื ืืืืจื ืฉืขืื ื ืขื ืืฉืืื ืืืื ืืืจืืขืื ืขื ืืืื ืืื ืื ื ืืฉืืื ืชืงืคืื. ืืืืืช ืคืฉืื ืืจืื ืืกืืื ื ืชืื ืื ืืืื ืื ืืฆืืื ืงืคืื ื ืฉื ืชืืื.
- ืคืื ืงืฆืืืช Hash ืืจืืกืืง - ืืื ื ืืืกืจ ืฉื ืงืคืงื ืืื ืืคืชื-ืขืจื ืืืืืฆืขืืช ื-hash ืฉื ืืืคืชื ืืืืฉื ืืืื ืืฉืื ืืืชื.
ืืื
ืื ื ืขืืืืื ืืืืจื ืืืืื ืขื ืชืืืื ืืขืื. ืืื ืืฉื ืืช ืืฉืื? ืืื ื ืืกืื, ืืื ื ืืฆืคืื ืืืคืืง ืืื ืืชืจืื ืืช.
ืืืืืคื 1:n+1 (ืืื ืืจืืื)
ืงืคืงื ืืงื ืืืื ืืืืจ ืฆืจืื ืื ืืืฉืื ื-API.
ื ื ืื ืฉืืฉ ืื ืกืคืจืืื ืฉืืชื ืฆืจืื ืืขืืื ืืืื ืืขืจืืืช ืื ืืื ืืช (ืืืืืงื ืืืฉืืช). ืืขืืจ ืืืฆืื ื ืืืืื ืฉืืืืืขื ืืช ื-set-API, ืืืขืจืืช ืืืืกืืจ ืงืืืื ืืืืข ืขื ืืชืืืืช ืฆืจืื ืื. ืืขืช ืืขืจืืช ืืืืกืืจ ืฉืืืืช ืขืืืื ืื ืื ืืฉื, ืืื ืื ืฉืืชืขื ืืื ืงืืจื ืืืชื. ืืขืจืืช ืืืฉื ืืืคืืขื - ืจืฉืื ื ืืืชื ืื ืืฉื. ืื, ืื ืฆืจืืจ, ืืื ืืืชืจ ืคืฉืื.
ืืืงืจื ืฉื ืืืืจ-ืืื, ืฉืืื ืืชืืืช BOB, ื ืื ืื ื ืืฉืืืจ ืืืชื ืืกืื ืืจื ืื ืืจื ืงืคืงื. ืืชืฉืืื ื ืืชื ืฉืืืกืฃ ืืืืืจ: BOB, RT ื ืืืข ืขื ืื, ืฉืื ื ืืช ืืกืืืืกืื ืฉืืื, ืฉืืจืืช ืืคืืกืงืืืืืฆืื ื ืืืข ืขื ืื ืืืืฆืื ืฆ'ืง.
ืืฉ ืื ื ืชืืื ืืืช ืืืฆืืจ ืฉืืจืืช ืืืืขืืช ืืืืื ืฉืืืืืข ืืืงืื ืขื ืืืฉืืช ืื ืืืข ืืืืื ื/ืืืืจืืช ืฉืื. ืืขืช ืืืืจืืืช ืืื ืืคืืืจืช ืืื ืืืขืจืืืช. ืืกืคืืง ืื ื ืืืื ืืช ืฉืืจืืช ืืืชืจืืืช ืืชืคืืก ืืืืข ืจืืืื ืื ืืงืคืงื ืืืืืื ืื (ืืืืฉืืืช ืืช ืืืชืจืืืช ืืืื ืืืขืจืืืช ืืืจืืช). ืื ืืืืจืฉื ืืืืคืืช ืืฉืืจืืช ืืืฉืืช.
ืืื ืข ื ืชืื ืื
ืืืืข ืืื ืืขืจืืืช ืืืคื ืืฉืงืืฃ - ืื ืืฉื ื ืืืื "ืืคืขื ืืืื" ืืฉ ืื ืืื ืืฉื ื ืืื ืฆืืจ ืืืืื ืืช ืฉืื ืฉืื ืื. ืืืืืื ืืฉ โโืืืืงืช Data Analytics ืฉืืืกืคืช ื ืชืื ืื ืืืขืจืืืช ืืืื ืืกื ืืืชื ืืฆืืจื ืืฉืืืืฉ ืืืืจ, ืื ืืขืกืง ืืื ืืืขืจืืืช ืืืืืช. ืงืคืงื ืืืคืฉืจ ืื ืืชืช ืืื ืืืืืจืืช ืืจืื ื ืชืื ืื ืืืฉืืืจ ืขื ืืจืืืช ืืืืืข ืืขืืืื ืช.
ืืืื ืฉืืคืื
ืืืืขืืช ืืื ื ื ืขืืืืช ืืืืจ ืงืจืืืชื, ืืื ื- RabbitMQ. ืืืฉืจ ืืืจืืข ืืืื ืืกืคืืง ืืืืข ืืขืืืื, ืืฉ ืื ื ืืืกืืืจืื ืฉื ืฉืื ืืืื ืืืจืื ืื ืืืืืืืงื, ืืื ืชืจืฆื, ืืช ืืืืืืช ืืืืื ืฉืื ืืืื ืืื.
ืชืงืืคืช ืืืืกืื ืฉื ืืืื ืืฉืืคืื ืชืืืื ืืขืืฆืืช ืืืชืืื ืื ืืฉื ืื; ืงืคืงื ืืืคืฉืจ ืื ืืืืืืจ ืืืืคื ืืืืฉ ืืืืืืช ืขื ืืื ืืืกืื ืื ืคื ื ืชืื ืื. ืื ืืฉืืื ืืื ืื ืกืืืืื, ืืฉืื ืฉืื ืืฆืจืื ืื ืืกืคืืงื ืืงืจืื ืืช ืืืืืข ืืคื ื ืฉืืื ืืืขืื, ืื ืืืงืจื ืฉื ืื-ืคืขืืื ืืืืื ืงืฆืจ. ืืืจื ืืื ื ืืชื ืืืืกื ื ืชืื ืื ืขืืืจ ืืืืืืช ืืืื, ืืื ืื ืืกืคืืง ืืชืืืื.
ืืืืจ ืืื, ืฉืืืืจ ืงืื ืฉื ืืชืืขืื, ืืื ืฉืื ืืืืจ ืืช ืงืคืงื (ืื ืืชืืื ื ืืชืื ืืชืืขืื)
ื-AMQP ืืฉ ืชืืจืื: ืื ืื ื ืืืชืืื ืืืืขืืช ืืชืืจ ืืฆืจืื. ืืืจื ืืื, ืชืืจ ืืื ืืขืืื ืขื ืืื ืืขืจืืช ืืืช ืขื ืืืชื ืืืืืื ืขืกืงื. ืื ืืชื ืฆืจืื ืืืืืืข โโืืืกืคืจ ืืขืจืืืช, ืืชื ืืืื ืืืื ืืช ืืืคืืืงืฆืื ืืืชืื ืืืกืคืจ ืชืืจืื ืื ืืืืืืจ ืืืืืคืื ืขื ืื ืื ืื ื-fanout, ืฉืืฉืื ืืืชื ืืขืฆืื.
ืืงืคืงื ืืฉ ืืคืฉืื ืืืื ื ืืฉื, ืฉืืื ืืชื ืืืชื ืืืืขืืช, ืืื ืื ืื ื ืขืืืืช ืืืืจ ืืงืจืืื. ืืืจืืจืช ืืืื, ืืฉืืชื ืืชืืืจ ืืงืคืงื ืืชื ืืงืื ืืช ืื ืืืืืขืืช ืืืฉ ืื ืืคืฉืจืืช ืืฉืืืจ ืืืืคื ืฉืืคืกืงืช. ืืืืืจ, ืืชื ืงืืจื ืืจืฆืฃ, ืืชื ืื ืืืื ืืกืื ืืช ืืืืืขื ืืงืจืืื, ืืื ืืฉืืืจ ืืช ืืืืื ืืื ื ืชืืื ืืืืฉืื ืืงืจืื. ืืืืื ืฉืงืืขืชื ืขืืื ื ืงืจื offset, ืืืื ืื ืื ืืื commit offset.
ืืืชืื, ื ืืชื ืืืืฉื ืืืืืื ืฉืื ื. ืืืืืื, ืืฉ ืื ื BOB ื-4 ืืงืจืื ืขืืืจ ืืืื ืืช ืฉืื ืืช - Lamoda ื ืืฆืืช ืืจืืกืื, ืงืืืกืื, ืืืงืจืืื ื, ืืืืจืืก. ืืืืืื ืฉืื ืคืจืืกืื ืื ืคืจื, ืืฉ ืืื ืืืืจืืช ืืขื ืฉืื ืืช ืืืืืืื ืขืกืงื ืืฉืืื. ืื ื ืืฆืืื ืื ืืืืืขื ืืืืื ืืืื ื ืืื ืืชืืืืก. ืื ืฆืจืื BOB ืืื ืืืื ื ืงืืจื ืขื groupId ืืืจ, ืืื ืืืืืขื ืื ืืื ืขืืื, ืื ืืืืืื ืขืืื, ืืืืืจ. ืืืฆืข ืืื ืงืืืื +1. ืื ืืืชื ื ืืฉื ื ืงืจื ืขื ืืื ืฉืืจืืช ืืชืฉืืืืื ืฉืื ื, ืืื ืขืืฉื ืืืช ืขื ืงืืืฆื ื ืคืจืืช, ืืืื ืืงืืืืืื ืืื ื ืืฆืืืืื.
ืืจืืฉืืช ืืืจืืข:
- ืฉืืืืช ืื ืชืื ืื. ืืืืชื ืจืืฆื ืฉืืืืจืืข ืืืื ืืกืคืืง ื ืชืื ืื ืืื ืฉื ืืชื ืืืื ืืขืื ืืืชื.
- ืืืฉืจื ืื ื ืืืฆืืืื ื-Events-bus ืืช ืืืืืืช ืฉืืืืจืืข ืขืงืื ืืืื ืืืื ืืขืื ืืืชื.
- ืืกืืจ ืืฉืื. ืืืงืจื ืฉื ืืืจื, ืื ืื ื ื ืืืฆืื ืืขืืื ืขื ืืืืกืืืจืื. ืืืชืจืืืช, ืืืืื ื ืืื ื ืืฉืืื, ืื ืืืืืจ ืืืืืขืืช ืืืืืื ืืืช, ืืืืื ืืืื ืืื ืืื ืงืฉืจ ืืืืื ื ืฉืืืืขื ืจืืฉืื ื. ืืืงืจื ืฉื ืืืืจ, ืืฉ ืชืืืื ืืจืืจ, ืื ื ืฉื ื ืืช ืืืืื ื, ืืฆืืฆื ืืจืืืื, ืืืืืจ ืื ืืืืืฆืจ ืืื ืืขืืื - ื ืืืข ืืืฆื ืืืจ.
- ืขึฒืงึตืึดืืึผืช. ืืฉ ืื ื ืื ืืช, ืืขืืฉืื ืื ืื ื ืืืฆืจืื ืืืจืืขืื ืืืงืื API. ืื ืื ื ืฆืจืืืื ืืจื ืืืขืืืจ ืืืืืจืืช ืืืืื ืืืืข ืขื ืืืจืืขืื ืืืฉืื ืืฉืื ืืืื ืงืืืืื ืืฉืืจืืชืื ืฉืื ื. ืื ืืืฉื ืืืืฆืขืืช ืืคืจื ืืฉืืชืฃ ืืืืืจ git ื ืคืจื ืืืืืืื ืงืื. ืืื, ืืงืืืืช ืืฉืจืชืื ืืฉืืจืืชืื ืฉืื ืื ืืชืืืืื.
ืงืคืงื ืืืืืื
ืืฉ ืื ื ืฉืืืฉื ืืืฆืืื ืฉื ืงืคืงื:
- ืืืื ืื;
- ืืืงืจ ืืคืืชืื;
- ืืืจืืขืื-ืืืืืืืก.
ืืืื ืื ืื ื ืืืืจืื ืจืง ืขื ืื ืงืืื ืืืืจืื ื. ื-events-bus ืืื ืื ื ืืชืงื ืืช ืืืืืืช ืืืืืื - 3 ืืชืืืืื (ืฉืจืชืื) ืืจืง 27 ื ืืฉืืื. ืืืื, ื ืืฉื ืืื ืืื ืชืืืื ืืื. ืืื ืื ื ืงืืื ืขืืื ื, ืืื ืื ื ื ืืืข ืื ืขืืฉืื.
ืืืขืื ื ืืฆื ืืจืฃ ื-rps. ืชืืืื ืืืืืจืื ืืกืืื ืืงื ืืืจืงืื (ืื, ืื ืขื ืฆืืจ X), ืืืงื ืืืืจืื ืืื ืชืืืื ืขืืืื ืืชืืื.
ืงืืืื ืืืืื ืืืื ืืืืืื ื ืืืฆืจืื, ืืื ืชืื ืื ืืชืขืืื ืื ืื ืืืื. ืืืง ืืืงืืืงืฆืืืช ืืืฆืืืช ืืืืืคื ื, ืืืฉืืช ืืืฆืืืช ืืืืืคืชื, ืืื ืืืื ืืืคืืขืื ืืืืื ืืืฉืื ืืงืืืื. ืื ืื ื ืื ืกืื ืืืืืช ืื ืืืื ืืขื ืืื ืขืืืจ ืืืงืืืืช ืฉืื ื ืืืจ, ืืืื ืื ืื ื ืื ืืืื ืจืืืฉืื ืืืจืื ืืืฉืื, ืืฆืืืื ืืืชื ืืืขืืื ืื ืืช ืืืืืืจืื ื.
ืคืืงืื ืืจืืืื ืื ืขืืืื ื ืืืฆืจืื, ืืืืืจ ืฉืื ืืืื ืืืืฆืจืื. ื ืืชื ืืจืืืช ืฉืืืืจ'ื ืฆืืืื, ืฆืืืื, ืืื ืฉืื! - ืืขื ืืืืืช ืืืจืืขืื.
ืืงืจื ืฉืืืืฉ ืฉื Lamoda Events
ืื ื ืืฉืชืืฉืื ืืืจืืืืงืืืจื ืืื ืืื ืขืืืจ ืืคืขืืืืช ืืืืืช:
- ืืขืงื ืืืจ ืืฆื ืืืืจื: ืงืจืืื ืืคืขืืื ืืืขืงื ืกืืืืก ืืื ืืืขืจืืืช ืืืขืืจืืืช. ืชืฉืืื, ืกืืืืกืื, ืคืืกืงืืืืฆืื, ืืืืขืืช. ืืื ืืืงื ื ืืช ืืืืฉื, ืืื ื ืืืื, ืืกืคื ื ืืช ืื ืืืืืื, ืืชืื ื ืชืืขืื ืืกืืคืจื ื ืืขืืืชืื ื ืืืฆื ืืืฉืชืืฉ ืื.
- ืขืืืื ืืจืืืกื ืืืฆืจ: ืชืฆืืจื, ืืื-ื ืชืื ืื, ืืืคืืื ืื. ืืขืจืืช ืืืช ืงืืจืืช (ืืฉืจ ืืฆืืื), ืืืื ืืืชืืืช.
- ืืืืืื, ืืืืคื ื-SMS: ืืืืื ื ื ืืกืคื, ืืืืื ื ืืืืขื, ืืืืืจื ืืชืงืืื ืืื', ืืฉ ืืจืื ืืืื.
- ืืืื, ืืืืืฉ ืืืกื โ ืขืืืื ืืืืชื ืฉื ืคืจืืืื, ืจืง ืืกืคืจืื: ืืืขื ืืืืกื, ืืืืจื. ืืฉ ืฆืืจื ืฉืื ืืืขืจืืืช ืืงืฉืืจืืช ืืฉืืืจืช ืกืืืจืืช ืืคืขืื ืขื ืื ืชืื ืื ืืขืืื ืืื ืืืืชืจ. ื ืืื ืืขืืฉืื, ืืขืจืืช ืขืืืื ืืื ืืืช ืืืจืืืช ืืืื; ืงืคืงื ืืคืฉื ืืืชื.
- ื ืืชืื ื ืชืื ืื (ืืืืงืช ืื"ืค), ืืื ML, ืื ืืืืืงื, ืกืืืืกืืืงื. ืื ืื ื ืจืืฆืื ืฉืืืืืข ืืืื ืฉืงืืฃ - ืงืคืงื ืืชืืื ืืื.
ืขืืฉืื ืืืืง ืืืขื ืืื ืืืชืจ ืืืื ืืืืืืจืืช ืืืืืืืช ืืืชืืืืืช ืืืขื ืืื ืืช ืฉืืชืจืืฉื ืืืืื ืฉืฉืช ืืืืืฉืื ืืืืจืื ืื.
ืืขืืืช ืขืืฆืื
ื ื ืื ืฉืื ืื ื ืจืืฆืื ืืขืฉืืช ืืืจ ืืืฉ โ ืืืฉื ืืืขืืืจ ืืช ืื ืชืืืื ืืืฉืืื ืืงืคืงื. ืืขืช ืืืง ืืืชืืืื ืืืืฉื ื- Order Processing ื- BOB. ืงืืื ืืืื ืกืืืืก ืืืืืจื ืืขืืจืช ืืืื ื ืืฉืืจืืช ืืืฉืืืืื, ืืขืืจ ืืืืกื ืืื ืืื ืืืืืื. ืืฉ ืืื ืืืื ืฉืื, ืืคืืื ืฉื ืืื, ืืชืืกืคืช ืืืืจื ืฉื ืืืฉืงื API ืืืืงืืฉืื ืืืฉืืื. ืื ืืืืขืื ืืจืื ืืืชืจ ืขื ืืฉืืื.
ื ืจืื ืื ืืืืืจ ืืชืืืืื ืืืืื, ืื ืืขืืืื ืืืืื ืืช ื-BOB ืืืืขืจืืช ืืฉืืืื ืืฉ ืกืืืืกืื ืฉืื ืื. ืืืืืื, ืืืง ืืฉืืจืืชื ืืฉืืืืืืืช ืืื ื ืฉืืืืื ืกืืืืกื ืืื ืืื, ืืื ืจืง ืืช ืืกืืคืืื: "ื ืืกืจ" ืื "ืืืื". ืืืจืื, ืืืืคื, ืืืืืืื ืืคืืจืื ืจื ืขื ืชื ืืขืช ืกืืืจืืช. ืืื ืืื ืืฉ ืืืื ืืืืืช ืืฉืื: ืขืืืจ ืืืงื, ืืืืื ืชืงืฃ, ืื ืฉืืืืจ ืฉืืื ืืขืืื; ืืืืจืื ืื ืื ืชืงืฃ, ืืื ืืืืื ื ืขืืืื ืชืืืคื ืื ืืฉ ืืกืคืจ ืืืคืื ืืืฆืืจืช ืงืฉืจ, ืืืืฉืื ืืืื ืฉืืืื ื ืืื ืื ืชืืืคื ืืืื.
ืืจื ื ืชืื ืื
ืืืงืจื ืฉื ืงืคืงื, ืขืืื ืฉืืืช ืืจืืื ืืจืืืช ืื ืชืื ืื. ืืฉืืื ืื ืืืืืช ืืืืจืช ืืกืืจืืืื ืืืืืกืกืช ืขื ืืกืคืจ ื ืงืืืืช; ืืืื ื ืขืืืจ ืขื ืืืื.
ืื ืืฉื ืืื ืื ืื ืืฉืืื ืฉืื ืื?
ืืฉ ืื ื ืืคืจื ืืืจืืข. ื-BOB ืื ืื ื ืืืชืืื ืฉืฆืจืื ืืกืคืง ืืืื ื ืืื ืื ืืืจืช, ืืืฆืืื ืื: ืืกืคืจ ืืืืื ื, ืืจืืื, ืืื ืืง"ืืื ืืืจืงืืืื ืืื'. ืขื ืืืขืช ืืกืืืจื ืืืืกื ืืืฉืืื ืืืื ืืงืื ืกืืืืกืื, ืืืชืืืช ืืื ืืื ืื ืฉืฆืจืื. ืืื ืื ืื ืื ื ืจืืฆืื ืืงืื ืขืืืื ืื ืขื ืื ืชืื ืื ืืืื ื-BOB. ืืฉ ืื ื ืชืืืื ืืคืื ืฉื ืงืืืช ื ืชืื ืื ืืืืกืืจื. ืืื ืื ืืืชื ืืืจืืข? ืื ืฉืื ืืืืืคื ืืืจืื ื ืคืจืืื ืฉืจืืืืื ืื ืืฉื ืืฉืื?
ืกืืืจ ืืื ืื ืฉืื ืืืื ืืืื ืืืืื, ืืืคืืชืื ืืืฆืืจ ื ืืฉื ืืื ืืื ื ืืืคืจื, ืื ื ืืฉื ื ืคืจื ืคืืจืืฉื ืฆืจืื ืื ื ืคืจืืื, ืืืืจืืช ื ืคืจืืืช, ืืืจ ื ืคืจื ืฉื ืื ืื. ืืื ืื ืขืืืื.
ืชืืื ืืืฉ ืื ืืืจืืข ืืืฉ?
ืืื ืื ืืชื ืืฉืชืืฉ ืืืืชื ืืืจืืขืื, ืื ืืชืขืืจืจืช ืืขืื ื ืืกืคืช. ืืืืืื, ืื ืื ืืขืจืืืช ืืืกืืจื ืืืืืืช ืืืฆืืจ DTO ืืืกืื ืฉ-BOB ืืืื ืืืฆืืจ. ืื ืื ื ืฉืืืืื ืืื ืืช ืืืืื, ืืื ืื ืื ืฉืืืจืื ืืืชื ืื ืื ืื ืฆืจืืืื ืืืชื, ืืื ืงืืืช ืืืื ืฉื ืืชืืืช ืชืืืื ืืืืืืืืก ืืืืจืืขืื, ืืฉืื ืืื ื ืืจืฉ.
ืื ืื ื ืืฆืืืื ืืื ื-event-bus ืฉืฉืื ืื ื ืืจืฉ, ืืื ื ืืืฅ ืืืืืืจ ืืืื ืืืืืช ื ืืกืคืื ื-BOB ืื ื-start event handler. ืืืืืืช ืืชืืื ืืืชืคืฉื ืืืืจื ืืฉืืจืืช - ืื ืื ืืืื ื ืื.
ืืขืื ื ืืกืคืช ืืื ืืคืืชืื ืืืชืคืชืืืช ืืฆืืืจืช. ืืืืจืื ืื ื ืฉืฆืจืื ืืืืกืืฃ ืืฉืื ืืืืจืืข, ืืืืื, ืื ื ืืฉืื ืขื ืื, ืื ืืื ืฆืจืื ืืืืืช ืืืจืืข ื ืคืจื. ืืื ืืชืื ืืช ืฉืื ื, ืืืจืืข ื ืคืจื ืืื ื ืืฉื ื ืคืจื. ื ืืฉื ื ืคืจื ืืื ืื ืืชืืืื ืฉืชืืืจืชื ืืืขืื. ืืืคืชื ืืชืคืชื ืคืฉืื ืืืืกืืฃ ืฉืื ื ืืกืฃ ืืกืืืืช JSON ืืืืฆืืจ ืืืชื ืืืืฉ.
ืืืงืจื ืฉื ืืืืจืื, ืืืขื ื ืืืืจืืข ืืืจืืขืื ืืขืื ืืฆื ืฉื ื. ืืื ืื ื ืืื-ืืืจืืข ืืื ืฉื ืงืจื ืขืืืื ืืืืจ, ืฉืืื ืื ืฉืื ืกืื ืืืชืืจ ืื ืืื ืืขืืืื ืืื ืืขืฆื. ืืืื ืื, ืืื ืื ื ืืชืืื "ื ืคืืืื" ืขื ืืืืชืื ืฉืืืจื ืื ื ืืื ืืืืช ืืช ืืืืจืืข ืืื ืขื ืืกืื ืืื.
ื ืืืื ืืจืกืืืช ืืืืจืืขืื
ืืื ืืืืช ืืืืขืืช ืืงืคืงื ืืชื ืืืื ืืืฉืชืืฉ
ืกืืจ ืงืจืืื ืืืืื ืฉื ืืืืฆืืช
ื ืืฉืืื ืืชืื ืงืคืงื ืืืืืงืื ืืืืืฆืืช. ืื ืื ืืืื ืืฉืื ืืืื ืฉืื ืื ื ืืขืฆืืื ืืฉืืืืช ืืืืจืกืืช, ืืื ืื ืืฉืื ืืฉืืืืืืื ืืื ืืฆืจืื ืืืืืืื ืืช ืื.
ืืืงืจื ืืจืืื, ืืชื ืืืชื ื ืืฉื ืืื ืืงืคืงื. ืืืจืืจืช ืืืื, ื ืขืฉื ืฉืืืืฉ ืืืืืฆื ืืืช, ืืื ืืืืืขืืช ืื ืืฉื ืื ืขืืืจืืช ืืืื. ืืืชืืฆืื ืืื ืืฆืจืื ืงืืจื ืืช ืืืืืขืืช ืืืื ืืจืฆืฃ. ื ื ืื ืฉืขืืฉืื ืื ืื ื ืฆืจืืืื ืืืจืืื ืืช ืืืขืจืืช ืื ืฉืืืืขืืช ืืืงืจืื ืขื ืืื ืฉื ื ืฆืจืื ืื ืฉืื ืื. ืื ืืืฉื ืืชื ืฉืืื SMS, ืื ืืชื ืืืื ืืืืื ืืงืคืงื ืืขืฉืืช ืืืืฆื ื ืืกืคืช, ืืงืคืงื ืืชืืื ืืคืฆื ืืช ืืืืืขืืช ืืฉื ื ืืืงืื - ืืฆื ืืื, ืืฆื ืืื.
ืืื ืงืคืงื ืืืืง ืืืชื? ืืื ืืืืขื ืืฉ ืืืฃ (ืื ืื ื ืืืืกื ืื JSON) ืืืคืชื. ื ืืชื ืืฆืจืฃ ืืืคืชื ืื ืคืื ืงืฆืืืช Hash, ืฉืชืงืืข ืืืืื ืืืืฆื ืืืืืขื ืชืืื ืก.
ืืืงืจื ืฉืื ื ืขื ืืืืจืื ืื ืืฉืื, ืื ื ืืงื ืฉืชื ืืืืฆืืช ืื ืืฉ ืกืืืื ืฉืฆืจืื ืืงืืื ืืขืื ืืช ืืืืจืืข ืืฉื ื ืืคื ื ืืจืืฉืื ืืืืื ืฆืจืืช. ืคืื ืงืฆืืืช ื-hash ืืืืืื ืฉืืืืขืืช ืขื ืืืชื ืืคืชื ืืืืขื ืืืืชื ืืืืฆื.
ืืืจืืขืื ืืขืืืช ืคืงืืืืช
ืื ืืขืื ื ืืกืคืช ืฉื ืชืงืื ื ืื. ืืืจืืข ืืื ืืืจืืข ืืกืืื: ืื ืื ื ืืืืจืื ืฉืืฉืื ืงืจื ืืืงืื ืืืฉืื (ืืฉืื_ืงืจื), ืืืฉื, ืคืจืื ืืืื ืื ืืืืจ ืืกืคื. ืื ืืืฉืื ืืงืฉืื ืืืืจืืขืื ืืืื, ืื ืืคื "ืืคืจืื ืืืื", ืชืืืืฆืจ ืืฉืืช ืืืืืจ, ื"ืืืืจ ืืชืจืืฉ" ืืืืชื ืืืคืฉืื ืืืืืจืืช.
ืืื ืืืจื ืืื, ืืฉืืชื ืืขืฆื ืืืจืืขืื, ืืชื ืื ืจืืฆื ืืืชืื ืืืชื ืืฉืืื - ืืชื ืืกืชืื ืขื ืืขืืืื ืฉืืืฉืื ืืงืจื ืืืชื. ืืฉ ืคืืชืื ืืืื ืืืชืื ืื ืืฉืื_ืงืจื (ืคืจืื_ืืืืื, ืืืืจ_ืืืืจ), ืืื ืืฉืื_ืฆืจืื_ืืขืฉืืช. ืืืืืื, ืืคืจืื ืืืื ืืืืืจื.
ืืฆื ืืื, ืืื ืืฆืืข ืืืฆื ืืฉืืฉ ืืืืจืืข. ืืฆื ืฉื ื, ืื ื ืฉืืข ืืจืื ืคืืืช ืืื ืฉื ืืืจืืข ืจืืื. ืืืฅ ืืื, ืื ืื ืจืืืง ืืืื ืืคืงืืื ืขืฉื_ืืฉืื. ืืื ืืื ืื ืขืจืืื ืฉืืืฉืื ืืงืจื ืืช ืืืืจืืข ืืื; ืืื ืืชื ืงืืจื ืืืชื, ืื ืืชื ืงืืจื ืืืชื ืืืฆืืื; ืืื ืงืจืืช ืืืชื ืืืฆืืื, ืื ืขืฉืืช ืืฉืื, ืืืืฉืื ืืื ืืฆืืื. ืืจืืข ืฉืืืจืืข ืืืคื ืืขืฉืืช_ืืฉืื, ืืฉืื ืืืคื ืืืจืื, ืืื ืืขืื.
ืืืืืคื ืืกืื ืืจืื ืืช ื-RabbitMQ, ืืฉืืชื ืงืืจื ืืช ืืืืืขื, ืื ืก ื-http, ืืฉ ืื ืชืืืื - ืืคืืืช ืฉืืืืืขื ืืชืงืืื. ืืฉืืชื ืืืชื ืืงืคืงื, ืืฉ ืืืืขื ืฉืืชืืช ืืงืคืงื, ืืื ืืชื ืื ืืืืข ืืืื ืขื ืืืคื ืืขืืืื ืฉืื.
ืืื, ืืืงืจื ืฉืื ื, ืืืื ื ืฆืจืืืื ืืืื ืืก ืืืจืืข ืชืืืื ืืืืืืืจ ื ืืืืจ ืื ืฉืื ื ืฉืืื ืื ืื ืืจืื ืืืจืืขืื, ืืืืจ ืืื ืืื ืืืืจ ืืืืจ ืืืืืข ืืืชื ืืกืคืจ ืืืจืืขื ืชืืืื. ืื ืื ืื ืืงืจื, ื ืจืื ืฉืืฉืื ืืฉืชืืฉ. ืืืืืื, ืื ืฉืืื ื ืืช ืืืจืืข "ืคืจืื_ืืืื_ืืืืืจ", ืื ื ืืฆืคืื ืฉืืืืืฆืจ ืืืืจ ืืกืคื, ืืืกืฃ ืืืืืจ ืืืงืื ืืืืจืืข ื"ืืกืฃ_ืืืืืจ" ืืืฉืื ืืืื ื. ืืื ืื ืื ืืืื, ืื ืืฉ ืฆืืจื ืืืขืงื.
ื ืืืื ืกืื
ืืฉ ืืขืื ืื ืืจืืจื: ืื ืืชื ืงืืจื ืืชืื ื ืืฉื ืืจืฆืฃ, ืืืฉ ืื ืืกืจ ืจืข, ืืฆืจืื ืืืคืื, ืืื ืชืืฉืื ืืืื. ืืชื ืฆืจืื ืืขืฆืืจ ืืช ืื ืืฆืจืื ืื, ืืฆืข ืงืืืื ื ืืกืฃ ืืื ืืืืฉืื ืืงืจืื.
ืืืขื ื ืขื ืื, ืกืืื ื ืขื ืื, ืืืื ืืืช ืื ืงืจื. ืืื ืงืจื ืืืื ืฉืืืืจืืข ืืื ืชืงืฃ ืื ืงืืืช ืืืื ืฉื ืืืจืืขืื-ืืืืืืืก, ืืืืจืืข ืืื ืชืงืฃ ืื ืงืืืช ืืืื ืฉื ืืืืช ืืืคืืืงืฆืื, ืืื ืืื ืื ืืื ืชืงืฃ ืื ืงืืืช ืืืื ืฉื PostgreSQL, ืื ืืืขืจืืช ืืืืช ืฉืื ื MySQL ืขื UNSIGNED INT, ืืืืืฉ ืฉื ืืชื ืืืขืจืืช ืืื PostgreSQL ืจืง ืขื INT. ืืืืื ืฉืื ืงืฆืช ืืืชืจ ืงืื, ืื-ID ืื ืืชืืื. ืกืืืคืื ื ืืชื ืขื ืืืฆื ืื ืืืื. ืื ืื ื, ืืืืื, ืชืคืกื ื ืืช ืืืจืื ืื ืืกืชืืื ื ืขืืื, ืืืชืืืื ื ืืืฆืข ืืช ืืงืืืื ืืื, ืืื ืืคื ื ืื ืจืฆืื ื ืืืืืื ืืช ืืื ื ืืืขืืืช, ืืืืืื ืฉืืืืืขื ืขืืืื ืืื ืืฆืืื. ืื ืืืื ืื ืืคืจืืืงื ืืื ื ืืฆืืื ืืืกื ืื ืชืื ืื, ืืกืืืคืื ื ืืืจ ืกืืจื ืชืงืฉืืจืช ืขื ืืกื ืื ืชืื ืื, ืืืืจืื ืืฉื ื ืืจื ืืช ืื ืืชืืืื ืืื ืกืืืื ืืืฆืข ืงืืืื.
ืืฉืืจืืช ื ืฉืื ืืื ืื - ืืืจืื ืืืื, ืขื ืงืคืงื ืื ืื ืื ืื ื ืืจื, ืื ืืืกืจืื ื ืฉืืจืื. ืืืฉืจ ืืขืืืื ืืฉืืืืจืช, ืืชื ืืืื ืืกืืื ืืงืจืื ืืืชื. ืื ื ืื.
ืืงืคืงื ืืฉ ืืช ืืืืืืช ืืงืืืข ืงืืืื ืฉืจืืจืืชื ืืืืฆืขืืช ืืื ืขืืืื. ืืื ืืื ืืขืฉืืช ืืืช, ืืชื ืฆืจืื ืืขืฆืืจ ืืช ืื ืืฆืจืื ืื - ืืืงืจื ืฉืื ื, ืืืืื ืฉืืจืืจ ื ืคืจื ืฉืื ืื ืืืื ืฆืจืื ืื, ืคืจืืกื ืืืืฉ. ืืื ืืงืคืงื ืืชื ืืืื ืืืขืืืจ ืืช ืืืืกื ืืืืฆืขืืช ืืื ืขืืืื, ืืืืกืจ ืืขืืืจ.
ื ืืืื ืก ื ืืกืฃ - ืืืื ืฉืืคืื ืืขืืืช rdkafka.so - ืงืฉืืจ ืืคืจืื ืืคืจืืืงื ืฉืื ื. ืื ื ืืฉืชืืฉืื ื-PHP, ืื-PHP, ืืืื, ืื ืืกืคืจืืืช ืืชืงืฉืจืืช ืขื ืงืคืงื ืืจื ืืืืจ rdkafka.so, ืืื ืืฉ ืกืื ืฉื ืืขืืคืช. ืืืื ืืื ืืงืฉืืื ืืืืฉืืื ืฉืื ื, ืืื ืืชืืจืจ ืฉืคืฉืื ืืงืจืื ืืืืฉ ืงืืข ืืื ืฉืืืจ ืงืจืื ื ืื ืื ืื ืื ืงื. ืืืืคื ืืืื, ืืื ืืขืืืช ืชืืื ื.
ืื ื ืืืืจ ืืคืจืืื ืฉื ืขืืืื ืขื ืืืืฆืืช, ืื ืืชืื ืืืฉ ืืชืืขืื ืฆืจืื ืื >= ืืืืฆืืช ื ืืฉื. ืืื ืืืืืชื ืขื ืื ืืจืื ืืืชืจ ืืืืืจ ืืื ืฉืืืืชื ืจืืฆื. ืื ืืจืฆืื ื ืืืฆืข ืงื ื ืืืื ืืืฉ ืื ืฉื ื ืฆืจืื ืื, ืืชื ืฆืจืื ืืคืืืช ืฉืชื ืืืืฆืืช. ืืืืืจ, ืื ืืืืชื ืืื ืืืืฆื ืืืช ืื ืืฆืืืจื 20 ืืืฃ ืืืืขืืช, ืืืื ืชื ืืืช ืืืฉื, ืืกืคืจ ืืืืืขืืช ืื ืืฉืืืื ืืงืจืื. ืืื, ืืื ืืงืื ืฉื ื ืฆืจืื ืื ืืงืืืืื, ืืชื ืฆืจืื ืืืชืืืื ืขื ืืืืฆืืช.
ื ืืืืจ
ืื ื ืืืฉื ืฉืืืจื ืฉืื ื ื ืืจ ืืช ืื ืชืืื ืืจืืจื ืขืื ืืืชืจ ืืืื ืืขืืืช ืืฉ ืืืืฉื ืืงืืืืช.
ืืืืืื, ืื ื ืืืฉืืื ืืื ืืืฆืจืื ืืืืืจ ืฉืื ื ืืืืจืื ื ืืช ืืกืืืืก ืฉืืื, ืืืืชืื, ืืืจืืขืื ืืื ืฆืจืืืื ืืืชืจืืฉ ืขื ืกืื ืืฉืื ืืืื ืืืื, ืืื ืื ื ืฉืืืืื ืืช ืืืกืคืจ ืืื ืืืขืจืืช ืื ืืืืจ ืฉืื ื. ืืื ืืงืคืงื ืื ืื ื ืืงืืืื ืืช ืืืกืคืจ ืืฉื ื, ืืื ืืืจืืขืื ื ืจืฉืื ืืคืืขื. ืืจืืจ ืฉืืืืื ืืื ืฉื ื ืืืกืคืจืื ืืืื ืฆืจืื ืืืืืช ืชืืื ืืคืก.
ืื ืืกืฃ, ืืชื ืฆืจืื ืืขืงืื ืืืจ ืืื ืืืคืืง ืืกืชืืจ, ืืื ืืืจืืขืื-ืืืืืืืก ืงืืืื ืืืืขืืช, ืืืื ืืฆืจืื ืืกืชืืจ. ืืืืืื, ืืชืจืฉืืืื ืืืื, ืืืื Refund Tool ืคืืขื ืืืื, ืื ืืจืืจ ืฉืืฉ ื-BOB ืืื ืืขืืืช (ืคืกืืืช ืืืืืืช).
ืืืจ ืืืืจืชื ืคืืืืจ ืฉื ืงืืืฆืช ืฆืจืื ืื. ืืืืคื ืืก, ืืื ืืกืคืจ ืืืืืขืืช ืฉืื ื ืงืจืื. ืืืืคื ืืืื, ืืฆืจืื ืื ืฉืื ื ืขืืืืื ืืืจ, ืื ืฉืืคืืืืจ ืืื ืืืจื ืืื 0, ืืื ืืคืขืืื ืืืื ืืืืืช ืฉืื ืืืืื ืงืฆืจ. ืงืคืงื ืืืื ืืขืฉืืช ืืืช ืืืืฅ ืืงืืคืกื, ืืื ืืชื ืฆืจืื ืืืืืืจ ืืจืืื ืืกืืื.
ืืฉ ืคืจืืืงื
ืื ื ืจืืืช ืชืืืืช ื-API. ืื ื ืืงืืืฆื bob-live-fifa, partition refund.update.v1, status OK, lag 0 - ืืงืืืื ืืกืืคื ืืืืจืื ืืื ืืืื.
ื ืืืืจ updated_at SLA (ืชืงืืข) ืืืจ ืืืืจืชื. ืืืืืื, ืืืืฆืจ ืืฉืชื ื ืืืฆื ืฉืืื ืืืื ืืืืืจื. ืื ืื ื ืืชืงืื ืื ืืช Cron, ืฉืืืืจ ืฉืื ืชืื 5 ืืงืืช ืืืคืฅ ืืื ืื ืืื ืืืืืจ (ืื ืื ื ืืืืืจืื ืืกืฃ ืืจื ืืขืจืืืช ืชืฉืืื ืืืจ ืืืื), ืื ืืฉืื ืืืืื ืืฉืชืืฉ, ืืื ืืืืื ืืงืจื ืืชืืืื. ืืื, ืื ืื ื ืคืฉืื ืืืงืืื ืืช Cron, ืฉืงืืจื ืืืจืื ืืืื, ืืื ืื ืืืืืื ื-0, ืื ืืื ืฉืืื ืืชืจืื.
ืืกืืืื, ืืฉืืืืฉ ืืืืจืืขืื ื ืื ืืชื:
- ืืืืข ืืจืืฉ ืืืกืคืจ ืืขืจืืืช;
- ืชืืฆืืช ืืขืืืื ืืื ื ืืฉืืื;
- ืืฉ ืืขื ืืืจืืขืื ืื ืืืจืืขืื ืงืื ืื.
ื ืจืื ืฉืืืืืจ ืืฉ ื ืืฉื ืืืื ืกืคืฆืืคื - API ืืกืื ืืจืื ื ืขื ืงืคืงื, ืืื ืืงืฉืจ ืืืื ืื ื ืจืืฆื ืืืืืืฅ โโืขื ืืจืื ืืืจืื ืืืช ืืืช.
ืจืืฉืืช, ืืืHighLoad ++ ืื ืื ื ืฆืจืืืื ืืืืืช ืขื ื ืืืืืจ; ืืืคืจืื ืชืืื ืืจืกื ืฉื ืกื ื ืคืืจืกืืืจื, ืืืืื ื ื ืืืจ ืขื ืขืืืกืื ืืืืืื ืื ืืืืกืืืืจืกืง.
ืฉื ืืช, ืืืืจ ืืื"ื, ืกืจืืื ืืืืงื, ืืื ืืืจ ืืืืขืืช ืืชืืื ืืช ืฉื ืืื ืก ืืืืฉ ืฉืื ื ืื ืืืื ืืืขKnowledgeConf . ืืื ืก ืืื ืื-ืืืื, ืืชืงืืื ื-26 ืืืคืจืื, ืื ืชืืื ืืชื ืืื ืื ืกืืืืช ืืืื.
ืืื ืืืื ืืืืPHP ืจืืกืื ะธRIT++ (ืขื DevOpsConf ืืืื) - ืืชื ืืืื ืื ืืืฆืืข ืืช ืื ืืฉื ืฉืื ืฉื, ืืืืจ ืขื ืื ืืกืืื ืฉืื ืืืืชืืื ื ืขื ืืงืื ืืกืื ืืืืืืืื ืฉืื.
ืืงืืจ: www.habr.com