เดซเต—เดธเตเดฑเตเดฑเดฟเดฒเต† เดชเดถเตเดšเดพเดคเตเดคเดฒ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ, เดญเดพเด—เด‚ I: เด’เดฐเต เด†เดฎเตเด–เด‚

เดซเต—เดธเตเดฑเตเดฑเดฟเดฒเต† เดชเดถเตเดšเดพเดคเตเดคเดฒ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ, เดญเดพเด—เด‚ I: เด’เดฐเต เด†เดฎเตเด–เด‚

เดŽเดจเตเดฑเต† เดœเต€เดตเดฟเดคเดคเตเดคเดฟเดฒเต† เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดžเดพเตป เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดŽเดคเตเดคเดฟเดฏเดคเต?

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

เดžเดพเตป เดฎเตเดฎเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดฐเตเดจเตเดจ เดธเต†เดฒเดฑเดฟ เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเตเดจเต‹เด•เตเด•เดพเตป เดžเดพเตป เด†เดฆเตเดฏเด‚ เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด…เดธเดฟเตปเด•เตเดฐเดฃเดธเต เดธเตเดตเดญเดพเดตเด‚ เด•เดพเดฐเดฃเด‚, เดžเดพเตป เดˆ เดชเตเดฐเดถเตเดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด†เดดเดคเตเดคเดฟเตฝ เด…เดจเตเดตเต‡เดทเดฟเดšเตเดšเดชเตเดชเต‹เตพ เด•เดฃเตเดŸเต เด’เดฐเต เดฒเต‡เด–เดจเด‚, เด’เดชเตเดชเด‚ เดกเตเดฐเดพเดซเตเดฑเตเดฑเต, เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดšเดฏเดฟเดคเดพเดตเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเต.

เดžเดพเตป เด‡เดคเต เดชเดฑเดฏเตเด‚: เดˆ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดตเดณเดฐเต† เดฐเดธเด•เดฐเดฎเดพเดฃเต, เดžเด™เตเด™เดณเตเดŸเต† เดŸเต€เดฎเดฟเดฒเต† เดฎเดฑเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเตฝ เด‡เดคเต เดตเดณเดฐเต† เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เด…เดธเดฟเตปเด•เตเดฐเดฃเดธเต เดชเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เด‰เตฝโ€Œเดชเดพเดฆเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดพเตป เด•เดดเดฟเดžเตเดžเตเดตเต†เดจเตเดจเต เดฐเดšเดฏเดฟเดคเดพเดตเต เดคเดจเตเดจเต† เดชเดฑเดฏเตเดจเตเดจเต. เดชเด•เตเดทเต‡, เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดžเดพเตป เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดคเตเดชเต‹เดฒเต†, เด…เดคเต เดŽเดจเดฟเด•เตเด•เต เด…เดคเตเดฐ เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏเดฟเดฒเตเดฒ. เด’เดฐเต เดชเตเดฐเดถเตเดจเด‚ เด—เตเดฐเต‚เดชเตเดชเต เดŸเดพเดธเตโ€Œเด•เต เดธเดฎเดพเดฐเด‚เดญเดคเตเดคเต‹เดŸเต† (เด•เดพเดฃเตเด• เด—เตเดฐเต‚เดชเตเดชเต). เดŽเดดเตเดคเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต, เด‡เดทเตเดฏเต‚ เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เด…เดŸเดšเตเดšเตเดชเต‚เดŸเตเดŸเดฟ, เดชเด•เตเดทเต‡ เด’เดฐเต เดฎเดพเดธเดฎเดพเดฏเดฟ เดœเต‹เดฒเดฟ เดชเตเดฐเต‹เด—เดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต. เดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚, เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต เด†เดถเด‚เดธเด•เดณเตเด‚ เดŽเดฒเตเดฒเดพ เด†เดถเด‚เดธเด•เดณเตเด‚ เดจเต‡เดฐเตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เดฒเดฟเดฌเดฟเตฝ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด‰เดฃเตเดŸเต... เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ, เด‡เดคเต เดžเดพเดจเดพเดฃเต, เด‰เดชเด•เดฐเดฃเด‚ เดŽเดจเดฟเด•เตเด•เต เด…เตฝเดชเตเดชเด‚ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฏเดฟ เดฎเดพเดฑเดฟ. เด•เต‚เดŸเดพเดคเต†, เดšเดฟเดฒ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพเด•เตเด•เต เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต 2-3 HTTP เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดŸเดพเดธเตโ€Œเด•เต เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเดจเดฟเตฝ เดชเต‹เดฒเตเด‚, เดžเด™เตเด™เตพ เดเด•เดฆเต‡เดถเด‚ เด“เดฐเต‹ 2 เดฎเดฃเดฟเด•เตเด•เต‚เดฑเดฟเดฒเตเด‚ 4 TCP เด•เดฃเด•เตเดทเดจเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต - เด…เดคเตเดฐ เดจเดฒเตเดฒเดคเดฒเตเดฒ... เดตเตผเด•เตเด•เตผเดฎเดพเดฐเต† เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดŸเดพเดธเตโ€Œเด•เต เดคเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดธเต†เดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. aiohttp เดตเดดเดฟเดฏเตเดณเตเดณ เดตเดฒเดฟเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เตเดฑเดšเตเดšเตเด•เต‚เดŸเดฟ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ. เด‡เดตเดฟเดŸเต†.

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

เดจเดฟเด™เตเด™เตพเด•เตเด•เตเด‚ เดจเต‹เด•เตเด•เดพเด‚ เดนเตเดฐเดธเตเดต เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดธเต†เดฒเดฑเดฟเดฏเตเด‚ เดซเต‹เดธเตเดฑเตเดฑเตเด‚ - เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเดจเตเดฑเต† เดธเตเดฐเดทเตเดŸเดพเด•เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต: เด…เดตเดฏเตเดŸเต† เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ, เดฌเตเดฐเต‹เด•เตเด•เตผ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ, เด’เดฐเต เด…เดŸเดฟเดธเตเดฅเดพเดจ เดœเต‹เดฒเดฟเดฏเตเดŸเต† เดจเดฟเตผเดตเตเดตเดนเดฃเด‚. เดŽเดฒเตเดฒเดพเด‚ เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เดซเต‹เดธเตเดฑเตเดฑเดฟเดจเต เด’เดฐเต เดจเดฒเตเดฒ เดธเดตเดฟเดถเต‡เดทเดคเดฏเตเดฃเตเดŸเต: เด’เดฐเต เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดŸเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดค เดกเดพเดฑเตเดฑ.

เดจเดฎเตเดฎเดณเตโ€ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเดพเดจเตโ€ เดชเต‹เด•เตเดจเตเดจเดคเต?

เด…เดชเตเดชเต‹เตพ, เดˆ เดšเต†เดฑเดฟเดฏ เดฒเต‡เด–เดจ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ, เดซเต—เดธเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดถเตเดšเดพเดคเตเดคเดฒ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เดณเดฟเตฝ เดกเดพเดฑเตเดฑ เดŽเด™เตเด™เดจเต† เดถเต‡เด–เดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดžเดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดฟเดšเตเดšเตเดคเดฐเดพเด‚. เดžเด™เตเด™เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด‰เดฑเดตเดฟเดŸเด‚, เดชเต‡เดฐเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต†, เด†เตฝเดซเดพเดตเดจเตเดฑเต‡เดœเต.เด•เต‹เดเดœเดจเตเดฑเตเด•เตพ (เดธเดฟเด™เตเด•เตเด•เตพ, เดตเดฟเดทเดฏเด™เตเด™เตพ, เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด•เตพ) เดŽเด™เตเด™เดจเต† เดŽเดดเตเดคเดพเด‚, เดฑเต†เด—เตเดฒเตผ (เด•เตเดฐเต‹เตบ) เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚, เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดซเต—เดธเตเดฑเตเดฑเต CLI เด•เดฎเดพเตปเดกเตเด•เตพ (เด•เตเดฒเดฟเด•เตเด•เดฟเดจเต เดšเตเดฑเตเดฑเตเด‚ เด’เดฐเต เดฑเดพเดชเตเดชเตผ), เดฒเดณเดฟเดคเดฎเดพเดฏ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเด‚เด—เต เดŽเดจเตเดจเดฟเดต เดžเดพเตป เด•เดพเดฃเดฟเดšเตเดšเตเดคเดฐเดพเด‚, เด’เดŸเตเดตเดฟเตฝ, เดจเดฎเตเดฎเตพ เดกเดพเดฑเตเดฑเดพเดกเต‹เด—เต (เด‡เดคเต เดฌเต‹เด•เตเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต) เดšเต‡เตผเดคเตเดคเต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เดพเดฃเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด‚. เดถเต‡เด–เดฐเดฟเดšเตเดš เดกเดพเดฑเตเดฑเดฏเตเด‚ เด•เดฃเด•เตเดทเดจเตเดณเตเดณ เดฎเต‹เดŸเตเดŸเต‹เดฑเตเด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเตป เดจเดฎเตเดฎเตพ mongodb เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

เดชเดฟ.เดŽเดธเต. เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด–เดฃเตเดกเดฟเด• เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด†เดคเตเดฎเดตเดฟเดถเตเดตเดพเดธเด‚ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดตเดธเดพเดจ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเดคเตเดคเดฟเดฒเต† เดตเดพเดฏเดจเด•เตเด•เดพเดฐเตป เด‡เดชเตเดชเต‹เดดเตเด‚ เด‡เดคเตเดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต:

เดซเต—เดธเตเดฑเตเดฑเดฟเดฒเต† เดชเดถเตเดšเดพเดคเตเดคเดฒ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ, เดญเดพเด—เด‚ I: เด’เดฐเต เด†เดฎเตเด–เด‚

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด†เดตเดถเตเดฏเด•เดคเด•เตพ

เดžเดพเตป เด‡เดคเดฟเดจเด•เด‚ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดค เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเต‡เดตเดจเดคเตเดคเดฟเดจเต เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดชเดŸเตเดŸเดฟเด• เดจเดฎเตเด•เตเด•เต เด’เดฐเตเดฎเดฟเดšเตเดšเต เดšเต‡เตผเด•เตเด•เดพเด‚:

  1. เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟเด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† เด’เดฐเต เด…เดตเดฒเต‹เด•เดจเดตเตเด‚ (เดฒเดพเดญเดจเดทเตเดŸเด‚, เดฌเดพเดฒเตปเดธเต เดทเต€เดฑเตเดฑเต, เด•เดดเดฟเดžเตเดž เดตเตผเดทเดคเตเดคเต† เดชเดฃเดฎเตŠเดดเตเด•เตเด•เต เด‰เตพเดชเตเดชเต†เดŸเต†) เดชเดคเดฟเดตเดพเดฏเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•.
  2. เดšเดฐเดฟเดคเตเดฐเดชเดฐเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดชเดคเดฟเดตเดพเดฏเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• (เด“เดฐเต‹ เดŸเตเดฐเต‡เดกเดฟเด™เตเด™เต เดตเตผเดทเดคเตเดคเดฟเดฒเต†เดฏเตเด‚ เด•เตเดฒเต‹เดธเดฟเด‚เด—เต เดตเดฟเดฒเดฏเตเดŸเต† เดคเต€เดตเตเดฐเดค เด•เดฃเตเดŸเต†เดคเตเดคเตเด•)
  3. เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดŸเตเดฐเต‡เดกเดฟเด‚เด—เต เดกเดพเดฑเตเดฑ เดชเดคเดฟเดตเดพเดฏเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  4. เด“เดฐเต‹ เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟเด•เตเด•เตเดฎเตเดณเตเดณ เดธเต‚เดšเด•เด™เตเด™เดณเตเดŸเต† เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดค เดฒเดฟเดธเตเดฑเตเดฑเต เดชเดคเดฟเดตเดพเดฏเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•.

เดชเดคเดฟเดตเตเดชเต‹เดฒเต†, เดžเด™เตเด™เตพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเต‡เดฐเต เด…เดชเตเดฐเดคเต€เด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต: เดนเต‹เตผเดŸเตเดŸเตบ

เดžเด™เตเด™เตพ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเต—เด•เดฐเตเดฏเด™เตเด™เตพ เด’เดฐเตเด•เตเด•เตเด•เดฏเดพเดฃเต

เดถเต€เตผเดทเด•เด‚ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดถเด•เตเดคเดฎเดพเดฃเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเด™เตเด™เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เด•เดพเดซเตเด• (เด’เดชเตเดชเด‚ เดธเต‚เด•เต€เดชเตเดชเตผ - เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตฝ), เด•เดพเดซเตเดกเตเดฐเต‹เดชเตเดชเต (เดตเดฟเดทเดฏเด™เตเด™เดณเดฟเดฒเต† เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด•เดพเดฃเดฃเดฎเต†เด™เตเด•เดฟเตฝ), เดฎเต‹เด‚เด—เต‹เดกเดฟเดฌเดฟ เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดกเต‹เด•เตเด•เตผ-เด•เด‚เดชเต‹เดธเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดŽเดดเตเดคเตเด• เดŽเดจเตเดจเดคเดพเดฃเต. เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต [เดกเต‹เด•เตเด•เตผ-เด•เดฎเตเดชเต‹เดธเต.เดฏเตเดฎเตเดฒเต](https://github.com/Egnod/horton/blob/562fa5ec14df952cd74760acf76e141707d2ef58/docker-compose.yml) เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณเดคเต:

version: '3'

services:
  db:
    container_name: horton-mongodb-local
    image: mongo:4.2-bionic
    command: mongod --port 20017
    restart: always
    ports:
      - 20017:20017
    environment:
      - MONGO_INITDB_DATABASE=horton
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=admin_password

  kafka-service:
    container_name: horton-kafka-local
    image: obsidiandynamics/kafka
    restart: always
    ports:
      - "2181:2181"
      - "9092:9092"
    environment:
      KAFKA_LISTENERS: "INTERNAL://:29092,EXTERNAL://:9092"
      KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka-service:29092,EXTERNAL://localhost:9092"
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT"
      KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL"
      KAFKA_ZOOKEEPER_SESSION_TIMEOUT: "6000"
      KAFKA_RESTART_ATTEMPTS: "10"
      KAFKA_RESTART_DELAY: "5"
      ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: "0"

  kafdrop:
    container_name: horton-kafdrop-local
    image: 'obsidiandynamics/kafdrop:latest'
    restart: always
    ports:
      - '9000:9000'
    environment:
      KAFKA_BROKERCONNECT: kafka-service:29092
    depends_on:
      - kafka-service

เด‡เดตเดฟเดŸเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด’เดจเตเดจเตเด‚ เดคเดจเตเดจเต†เดฏเดฟเดฒเตเดฒ. เด•เดพเดซเตเด•เดฏเตเด•เตเด•เต เดฐเดฃเตเดŸเต เดถเตเดฐเต‹เดคเดพเด•เตเด•เดณเต† เดžเด™เตเด™เตพ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดšเต: เด’เดจเตเดจเต (เด†เดจเตเดคเดฐเดฟเด•เด‚) เด•เดฎเตเดชเต‹เดธเดฟเดฑเตเดฑเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดจเตเดณเตเดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต (เดฌเดพเดนเตเดฏ) เดฌเดพเดนเตเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เตเดฎเดพเดฏเดฟ, เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เด…เดคเต เดฌเดพเดนเตเดฏเดฎเดพเดฏเดฟ เดซเต‹เตผเดตเต‡เดกเต เดšเต†เดฏเตเดคเต. 2181 เดธเต‚เด•เตเด•เต€เดชเตเดชเต€เดฑเดฟเดจเตเดฑเต† เดชเต‹เตผเดŸเตเดŸเต เด†เดฃเต. เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต.

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด…เดธเตเดฅเดฟเด•เต‚เดŸเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตฝ

เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเดคเดฟเดชเตเดชเดฟเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด˜เดŸเดจ เด‡เดคเตเดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚:

horton
โ”œโ”€โ”€ docker-compose.yml
โ””โ”€โ”€ horton
    โ”œโ”€โ”€ agents.py *
    โ”œโ”€โ”€ alphavantage.py *
    โ”œโ”€โ”€ app.py *
    โ”œโ”€โ”€ config.py
    โ”œโ”€โ”€ database
    โ”‚   โ”œโ”€โ”€ connect.py
    โ”‚   โ”œโ”€โ”€ cruds
    โ”‚   โ”‚   โ”œโ”€โ”€ base.py
    โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
    โ”‚   โ”‚   โ””โ”€โ”€ security.py *
    โ”‚   โ””โ”€โ”€ __init__.py
    โ”œโ”€โ”€ __init__.py
    โ”œโ”€โ”€ records.py *
    โ””โ”€โ”€ tasks.py *

*เดžเดพเตป เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเดคเต†เดฒเตเดฒเดพเด‚ เดžเด™เตเด™เตพ เด‡เดคเตเดตเดฐเต† เด…เดคเดฟเตฝ เดธเตเดชเตผเดถเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดžเด™เตเด™เตพ เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดซเดฏเดฒเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต.**

เดจเดฎเตเดฎเตพ เด˜เดŸเดจ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต. เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚, เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดŽเดดเตเดคเตเด•เดฏเตเด‚, เดฎเต‹เด‚เด—เต‹เดกเดฟเดฌเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดพเด‚. เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดšเตเดฐเตเด•เตเด•เดฟเดชเตเดชเดฑเดฏเดพเตป เดตเต‡เดฃเตเดŸเดฟ, เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเดฒเต† เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดชเต‚เตผเดฃเตเดฃ เดตเดพเดšเด•เด‚ เดžเดพเตป เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเดคเดฟเดชเตเดชเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด•เตพ เดžเดพเตป เดจเตฝเด•เตเด‚.

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเตเด‚ เดฎเต†เดฑเตเดฑเดพเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฎเตเด•เตเด•เต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚ - เดชเตˆเดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต.เดŸเต‹เด‚เตฝ

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดจเดฎเตเดฎเตพ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต เด’เดฐเต virtualenv เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดฏเด‚ venv เดซเต‹เตพเดกเตผ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดธเดœเต€เดตเดฎเดพเด•เตเด•เดพเด‚):

pip3 install poetry (ะตัะปะธ ะตั‰ั‘ ะฝะต ัƒัั‚ะฐะฝะพะฒะปะตะฝะพ)
poetry install

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

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

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดŽเดจเตเดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเด‚?

เดˆ เดฒเต‡เด–เดจเด‚ เด…เดคเตเดฐ เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏเดคเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดžเดพเตป เดชเตเดฐเดšเต‹เดฆเดจเดคเตเดคเต†เดฏเตเด‚ เดคเดฏเตเดฏเดพเดฑเต†เดŸเตเดชเตเดชเดฟเดจเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเดฟเดจเดพเตฝ เดฆเดฏเดตเดพเดฏเดฟ เดŽเดจเตเดจเต‹เดŸเต เด•เตเดทเดฎเดฟเด•เตเด•เต‚ - เด…เดŸเตเดคเตเดค เดญเดพเด—เดคเตเดคเดฟเตฝ เด†เด•เตเดทเดจเตเด‚ เด—เตเดฐเดพเดซเดฟเด•เตเดธเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด…เดชเตเดชเต‹เตพ, เดˆ เด…เดŸเตเดคเตเดค เดญเดพเด—เดคเตเดคเต เดจเดฎเตเดฎเตพ:

  1. เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดŽเตปเดกเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ aiohttp-เดฏเดฟเตฝ เด†เตฝเดซเดตเดพเดจเตเดฑเต‡เดœเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดดเตเดคเดพเด‚.
  2. เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟเด•เดณเต†เดฏเตเด‚ เด…เดตเดฏเตเดŸเต† เดšเดฐเดฟเดคเตเดฐเดชเดฐเดฎเดพเดฏ เดตเดฟเดฒเด•เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดเดœเดจเตเดฑเดฟเดจเต† เดžเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚.

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเต

เดˆ เดญเดพเด—เดคเตเดคเดฟเดจเตเดณเตเดณ เด•เต‹เดกเต

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

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster