ααα ααααΈααΌαααααΉα
αα αααα·α αα
ααΆαααααααΆααααΌααααα
αααα»αααΆαααααααα
ααααααΆαα’ααααααααααΈαα½ααααααααΈααΈααΆααα
ααΆαααααααααααααααα½αα "ααΆααα·ααααα VTrade" αααααΆααΆαααα»αααααααααααααααααααααααΆααααααααααααΆαα·αααααααα αααααΈαααααΉααα·αα·αααααΎαααααΉααααΈ αα·αααΆαα’αα»ααααααααΆααααΆαααΆαααααΆααααααΌα ααΆαααααααα αα·αα αΆαα αα
α
α»ααααα
ααααα’ααααα αααα»αααΌαα’ααααΎαα’αααα±ααααααααααααΎαααααΆααααααα’αααα
αΆααα’αΆαααααααααα»αα
αααααΊααΆα’αααααα
α»αααααααα
αααα»ααααααΈααααΈααΈαααααα·ααΈααααα·αααααααααΆαα
ααα
αΆααα
αααα»α Erlang/Elixir α IN
αααααααααΎαααΉαααΎααααααα αΆααααΆαα’αα·ααααααααΌαααααΆαααΌα αα·αααααααααΌαα α
α’αααααΆαααααααΆαααα
αα αααα»αααΈαα·ααα·α αα ααααααααΎαααααΆαααααα½α α’αααααααΌααααααα αΌαααααΆααΌαααααΌα’ααααααααααΆα αααΎααα αααα»αα§ααααααααααΆαα½αα α§ααΆα ααα ααααΆααααα’αααααααΎααααΆαα ααααααααααΆααααα αΆααααΆααααααααααααααααα’αααααααΎααααΆαααααααα ααααΌαααααααΎααααα ααΉαααααΎ req-resp αα·αααΆαααΆαααα’αααΈαα αα α»ααααααααΆαααααααααΆαααα pub-sub α ααααΈαααααΊααΆααααααΆααα αα ααΈαααααααΆαααααΎααΆα ααΆαα§ααααααααααΆαα½ααααα’αα»αααααααααα·ααααΆααααΆαααα αα·αααααα»αααααααΆααα αα α»ααααααααΆαα
ααααΆαααΆαααΆαααααααα»αααααΆα αα ααααααααΎαααααΌαα’αα»ααααααααΆααααα ααα αΆααααα’ααα±αα ααααααα α»αα α αΌαααΎααααααααΆαααααΌαααΆααααααΆααα’αααααααΎααααΆααααΆαααααΆααααααΌαα
- α₯α‘αΌααααααααΆαα½αααααααΎαααΆαααααΎαα ααΎ 5 node cluster,
- α’αΆα α’αα»ααααααΆαααΆαααααΎαααΆαααααααΆαααααα,
- α αΎαααα’αΆα ααααααααααααααΈααΆαααΆαααα αΆααααααΆααααΆαα’αΆααααααααααααααααα
αααααΆααα ααΎααα·ααα·αααΈαααα αΆααααΆααααα»αααΆααααααΆ αα·αααΆαα αααααα·ααααααααα α αΌααααααααΆαααα αΆααΆαααααααααΌαααΆααααααααΆααα»αααα α αΎαααααααααααΆααααααΆαααααα»ααααα’αΆα αα»αα α·αααααΆα αα·αα’αΆα ααααΎααΆαααααααΆααα½α α αΎα α αΎαα’ααααααααααΆαααΆαααααααΆαααΎααααΈααααΎα’ααααααααααΆαα½αααΆα
ααΆααα·αααααΆααΆααααΌαααΆαααααααΆααααα’αααααααΎααααΆααααΆαααααααα»αααααΆαα ααΆαααααααααααα’αααααααααααααα·ααΈ ααΆαααααΆααααααΌαααΆααα·α αα½α αααααΆαααΆαααααΎααααΆααααΆαα ααΎααααΈαααααααααΌαααΆαααααΌα ααΎαααααΌαααααααα ααΆαααααααααααα»ααααα α ααα»α ααααΆααααααΌα req-resp α
αααααΌαααΆαααΎααααΈααααΎαααΆααα·α αα ααΆαααααααΆααααααααΎαα‘αΎαααΆααΉαααΆααα αα αααα»αα’αααααααΎααααΆαα ααΆα’αΆα ααΆααΆααααα½ααα·αα·αααα―αααΆαα’αααααααΎααααΆαα ααααΎαααΆααα α»ααααααΆααααααΆαααΆααα α¬ααααΎααααΆααααααα·ααααααααΆαα½αααααααααααααααααααΆααααααα αααααΆαα ααΆααα·α αα ααΆαααααα αΆαααΆα αααααΌαα ααα αΆαααΆαααααααΆαα½ααα αααα»αα ααααα αα·ααααααααΆαααααΆαααααα·ααααα·αααααααΌαααΆααααα½ααα·αα·αααα ααΌα ααααα αΎα ααΎαααΆααααααΎααααααααααΆαααΈαα ααΆααααααΎααααΌααΆαα ααα αΆαααΆααα·α αα ααΈα’ααααααα»α α¬ααααα·αααΎααΆαα·ααααααα ααΌαααααααααααα·ααΈααααααααααΆααα·α αα ααααΆαααααα½ααααααΉαααααααααααααα»αααααΎαααΆαααΆααα·ααΈαααααΎαααααΌαααΆαα
α ααα»α ααΈ 3 ααΆαααΆαααααααααααααααααα pub-sub α α αΎααααααΆααααΆαα’αα»αααα αααααΆααααΈαααααΎαα ααα»α ααααΆααααααΌα pub-sub ααΎαααααΌαααΎαααααΎαααΆαα§ααααααααααΆα ααα»α ααααααααααα αααα»αααααΆααααααααααΎαα ααΌα αααα ααΆααΌα ααΆααΎααααα»αααααΆααααααΌααααααα·ααααΆαααααΆααααααΎαααΆαααΆαααΆα αα·αααΆααααααΆαααΈαααααΆααααααΎααΆααα αααα»αααΆαα’αα»ααααααααα’αααααααΎααααΆααα
ααΆαααααα ααΆααααΆααααααα αΆααΆααααα αΆαααΆ ααΎααααΈαααααααΆααααααΌαααΆα ααΎαααααΌαααΎαααααΎαααΆαααααΆααααα
ααα½α 5 αα
ααΎααααΆααααααααααααΆ αα·ααααααΎαα’αααααΆααααααααα½α - α§ααααααααααΆ pub-sub αααααα½ααα»αααααΌαα
ααααααΆαααΆαα
ααΎααααΈααααΎαααΆα 5 handlers α’ααααα·αα
αΆαααΆα
αααααΆααααααΌααααααΌαααααΆααααααα αααααααΆααααααααααα½ααααααΊααΆααααααΎαα
αααΆαααα»αααααΆααα
α
ααα»α
ααααΆααααααΌααααααΎαααΉααα·ααΆαα’αααΈααααα·α
αααααααα
ααΆααααΆαααΆααααα»αααααΆααααααααααααα α§ααααααααααΆ pub-sub αα·ααααααα·ααΈααααααααααΆααα·α
αα
ααααΆαααααα½αααααΌαααααααΎαααΆααααα»αα
αααΆααα
αααααααα½αα ααΆβααααΈβααααβααα ααααΆβααααΎβααΆαβααΆβααΌαααααΆαβαα½αβααααΌαβααβαααααβααΌαβααααααΆαβαααααΆααβααΆαβααααΎαααΎαβα’αααααΉαααΆαα
ααΆαααααΎαααΎαα’αααααΉαααΆα
αα αααα»αααααααααα ααα αΆα ααΆαααααααααααααΉαααΆαααΊααΆααΈαα·αα·ααΈαααααΆααααΆααααααΆααααααΎαααΆααααα½ααααααα½ααα»αααααΌααααα»αααΆααααααααΆααα·ααΆαααααααΎαααΆαα ααα αΆαααααααα»ααα½αα ααα½αα
αα
αααα»αααααααααααααα·αααΆαααΉαααααΎααααα·ααα·αα αααα½ααααααααΆααααααΆαααΌαααααΆαααΎααΆαααααααα αα·αααα ααΌα
ααΆ paxos α¬ raft ααααΌαααΆαααααΎα
αααααΆαααΆαααααΎααΆαααΊααΆαααα½ααααααΆα αα·αααΆααΆαα»αααααΆα ααΆααΉαα’αααΈα’ααααααα½ααα·αα·αααααααΆααααααΆααα’αα - α’αααααΉαααΆααααααααα ααΆαααααΎααΆαα’αΆα
αααααΆααα’αααααΉαααΆαααααα·αα
αΆαααΆα
αααααααααα
αααααΆααααΈα
αΆααααααΎα αα·αααααΆαααα
α
ααα»α
ααααΆααααααΌα ααααΆααααααΆααα’ααααα½αααΆαααΆααααααααα #'$leader'{exchange = ?EXCHANGE, pid = LeaderPid, servers = Servers}
. ααααα·αααΎ LeaderPid
αααααααααΆαα½α pid
ααααΎαααΆααα
αα
α»αααααα ααΆααααΌαααΆααααααΆααααΆα’αααααΉαααΆα αα·ααααααΈ Servers
αα½ααααα
αΌαααααΆααααΆααα’αα αα·ααααΆαααΆααααααααααααΆα
αα
ααααα½αααααΈααα
α‘αΎα α αΎαααααΆααα
αααααααααΎαααΆαααααΌαααΆαααααΆα
α α§ααααααααααΆααααΆααααααΆααα’ααααα½αααΆα #'$slave_up'{exchange = ?EXCHANGE, pid = SlavePid, options = SlaveOpts}
ΠΈ #'$slave_down'{exchange = ?EXCHANGE, pid = SlavePid, options = SlaveOpts}
αααααααΆα
αα·ααΈααα αααΆαααΆαα»ααΆααα’ααααΉαααΈααΆαααααΆααααααΌαααΆααα’αα α αΎαα αααααααααΌαααΆαααΆααΆααΆααΉαααΆαα’αααααΉαααΆαααααΆαααα αααααΆαα½ααααααΆααααααα
α’ααααααααααα½α
ααΎααααΈα’αα»ααααααααΎαααΆαααααΎαααΆαα
ααα
αΆααααα»αααααΆα ααααΌα
ααΆαααα αΆααααΆααααααΎαααααα·αααααΆαααααΆαααααααααααααΆαααααΆαα ααΆααΆααααα½αααααΎα’ααααααΆααΈα
ααΎααααΈαα»αα±ααααααΆααααααΌααααααΌαααααΆαααα αα·ααααααααΆα α§ααΆα ααα αααα αΆααααααΎαααΆααααααα ααΆααααααααααΌα α¬ααΆαα
αΌαααΆα α’αααα’αΆα
ααΎααααααα·ααΈαααααααααααααΌααααΈ αα»ααααααααΆ αααααΉααααααααΆαααΆαααααααααΆααα’ααα
α§ααΆα ααααα»ααΆαααααΆααααααΎαααααα·αααααΆα pub-sub ααΊααΆαααααα·ααΈα
ααα
αΆααααααΆαααααΌαα’αΆααΈαααααααααααααΎαααααΉαααα·ααΆαααα’αΆααααα ααΌα
ααΆααΆαααααΆααααααΌαααααααα
αααα»αααΈααααΆα αα·ααααααΆααα
αΌαααααΎ - N servers αααααααα websocket API αααααΆαα web clientsα
ααααα·αααΎα’ααααααααα
α
α·ααααααα αααααααΆααααα’αα·αα·ααααΎααα
ααΌα
αααα
- α’αα·αα·αααααααΎαααΆααααααΆααααΆαα½ααααα·ααΆα αα αααααααααΆααααααΆαααΈαααααααα·αα ααΆα ααα ααααΎαααΆααα½αααααΌαααΆαα αΆααααααΎαααΎααααΈαααααΎααΆααααααΆαααααα
- αα αααα»αααα·ααααααααΎαααΆαααααΆαααα ααΆαα’αα»ααααΆα αα·αααΆαααΆαααΎααααΈααααΎαα αα α»ααααααααΆαααΎαα‘αΎαα ααααΎαααΆαα α αα·ααΈααΆαααααααΆααααααΆαααααααΆαααα
- αα ααααααααααΉαααα·ααΆααααα½αααααΌαααΆααααααΎααα αααα»αααΊααα ααΆααααΌαααΆααααααΌααα ααααΎαααΆαααααααααΎααΆααααααΆααα
ααΌααααααααΆααΎαααΆαα’αααααΆα 50000 ααΆααα
αααααααααΆααα "ααααααΆα" α α’αααααΆαααααΌαααΆαα
ααα
αΆαααααΎαααααΆαα
ααΌααΆαα 5 αααΆαααΈαααα ααΆαααααα ααΆαα’αΆαααααααΈαα½ααααααααααα
ααα»α
ααααΌαααααΆααααΉαααααΌαααΆαα
αααα 50000 αα: 10000 αααα
ααΎαααΆαααΈαααααΈαα½αα ααααα
ααΆαα
ααα½αα’αα·αα·αααα
ααΎααΆα αα·ααααααΆαααααααΆαααααααΆαααααα·αααααΆαααααααα?
ααΎααααΈααααΎα²ααααααΆαααΆααααααΎαα‘αΎα ααΌαααααΆαααααΌααααΈαααααΆααααααααΌα
ααααΆααΉαα
ααα»α
ααααΌαααααΆααα α’αααα
α»ααααααΈααααααααααααΌαααα’αΆα
αααα‘ααααααΎαααΆααα·ααααα»αααΆαααααα αααααΆαααΆααααααΆααα
ααΌαααΎαααααΎαααΆαααααΌααααΈααααα
ααΎαααΆαααΈααααααααΆααα
αΌαααααΎαααΆα α αΎαααααΎαααΆαααααααΎαααΆααα’ααααααααααΎ websocket api ααΉαααΆαααΆ α αΎααα·αααααα
α
ααα»α
ααααΆααααααΌα pub-sub ααΎααα
αααα»αααΊααααααααα ααααΌααααΈααΆαααααΌααααα
αααα»αααααΈααααΆαααΆααααα½αααα αα·αα
ααααααΆαα
αΌααα
ααΆααα’αα·αα·ααααΆααα’ααααααααΆα
ααΆαααααα ααΆαα
ααα½α 5 ααΉαααααΌαααΆαααααΎαααΆαααΊααα αα·ααααΆαααΈααα αααα½αα±αα 50000α
ααΆαααααααα·α αα·ααα»αααααΆα
Req-Resp
αα αααα»αααΆαα’αα»ααααααΆαααααΎααΆααα αα α»αααααα ααΆααα»αααααΆαααααα ααα αΆαααααΎα ααα½α 7α
default
. ααααΎααααΌαααΆαααααΎαα α§ααααααααααΆααΆααα’αααround-robin
. ααααΎααααΌαααΆαααΆαααααα αΌα αα·αα ααα αΆαααΆαααααααααΆαα§ααααααααααΆαconsensus
. α§ααααααααααΆααααααααΎααααΆααααααααΌαααΆααααα αααα ααΆα’αααααΉαααΆααα·αααΆαααα ααααΎααααΌαααΆαααααΎαα α’αααααΉαααΆαααααα»ααααααconsensus & round-robin
. αααα»ααααααΆαα’αααααΉαααΆα ααα»ααααααααΎααααΌαααΆαα ααα αΆααααα»αα αααααααΆαα·αααΆααα’αααsticky
. αα»αααΆα hash ααααΌαβααΆαβααααΆ αα·αβαααααβα±ααβα’αααβαααααααΆαβααΆααααΆααα ααααΎααΆαααααααααΆαααααααΆαα αααααααΆααααα ααΆααα’ααααααααααΆαααΌα ααααΆαsticky-fun
. αα αααα αΆααααααΎαα ααα»α ααααΆααααααΌα αα»αααΆαααααΆαααααΆαααααΆααsticky
αα»αααααΆααfun
. ααααααβααΉαβααΆαβαααααΆαβααΈαααΆα ααΆαβααβα’αααβααααααβαααβα’αΆα βααααΌαβαα·α ααα·ααα α¬βααααΎαααΆαβααΆβααΆβαα»αβααΆαα
αα»αααααΆαααααα ααα αΆαααααΌαααΆαααααααα ααααααα ααα»α ααααΆααααααΌαααααΌαααΆαα αΆααααααΎαα
ααααααααΈααΎαα»αααααΆα ααΆαααααΎααΆαα’αα»ααααΆαα±ααα’αααααΆααααααΆαα’αααααΆαα αααααΎαααααααααααΆααααα»αααααααααα
- ααααΆαααΆααααααΆααα α’αα»ααααΆαα±ααα’ααααααααΆααααααΆααααααΆαααααααααΉαααα·ααΆαααααΆαααα ααααΎαα ααααααααααΎαααΆαααααα§ααααααααααΆααααΆαααα α ααα»α ααααΆααααααΌαααΌα ααααΆ ααα»ααααααΆαα½αααΉαααααΆααα α»α ααααΌααααααααααΆα
- ααααΆαααααΆααααα α’αα»ααααΆαα±ααα’ααααααα αΌαααααΆααΌαα§ααααααααααααΆααα ααΆαααα»ααααααΆααααααΆαααααα½α αα·ααααααΈααααααααΆαααααΌα αα·ααα»αααααΆαα αααααΆααααααΆα req-resp ααΆααααααααααΌαααΊααΈααα’αααα ααΎαααααΎααααΎαα α ααα»α ααααΌαααααΆαα αααααΆααααααΆαααααΌαααΆαα ααααΆααααα ααα»ααααααααα·αααΎααΎαααααΌαααΆααααααα’ααααααααααΆααα ααΆαααα»αα‘αΌααΈαα αααααΆααααααααααΌαααΆαααααΎαααααααΎααααΆαα αα ααααααααΆααααααΆα ααααΎααΉαααααΌαααΆαααααΎαα αααα»αααΆααααΆαααα½αααα§ααααααααααΆα
- ααααΎαα»αααααΆαα α’αα»ααααΆαα±ααα’ααααααα αααααΆαα ααααΎαα αααααΆαααααααααααααααΎαααΆαααΆαα’ααααΆα ααΎααααΈααααΎαααΆαααΆαααααΎαααααααΆαααα ααΎαααααΌαα’αΆα αααααΆαα RequestTag αα αααααααΎααααΎα ααΈααΆααΎαααΉαα’αΆα αααααΈα ααααΎαα ααααααααΎααΆαα½ααααααΆαααααααΎαα
Pub-sub
αααααΆαα pub-sub α’αααΈααααααααΆαααΊααΆααααααΆαααααα·α α ααΎαβααΆαβα ααα»α βααααΆααααααΌαβαα½αβαααβααΆαβααααΌαβααΆαβααβαααααααΆαα α ααα»α ααααΆααααααΌαα ααα αΆαααΆααααα»αα ααααα’αα·αα·αααααααΆαααΆα routing keys ααααα½αααααααΌαααΆα (ααΎαα’αΆα αα·ααΆαααΆαααΆααΆαααααααα ααΉααααααΆααα)α
ααΆαααααααΆα αα·αααΆαα’αααααααααααα α»α
ααΆαααααΎααΆαααααααΆαααααααααααααΆααααΌαααΊα’αΆαααααααΎααααα·αααααΆαααααΎααΆαααααααΆααααααααΆαα αα·αααΆαα»ααααααααααααααα
- ααααΆααααβααααΌαβααΆαβααααΎβααΆαααααααΆαβαααβααααααβααααΆααβααααααβαα βαααα»αβα αααααβααΆαα½αβα’αααβαααααααΆαβαααααΆααβααααΆααααβαααα αααα»αα’αα‘α»ααααααααα·ααααα·ααΆαααΆααααα α’αααα’αΆα ααααΎαααΎααααααΆααααααα»αααααααα’αααααΎαα
- ααααΆααααΎααΆαααααααα½αααΆααααΆαααα αααα»αα αααααααΆα ααααα‘αα ααΆααΌαα ααααΌαααΆαααααΎααΆαααααααΆααααααΆαααααΆααααααΌαα ααα»α ααααΆααααααΌααααααΆααααα»αααΆαα·ααααα ααΆααααααΆααα αααααααΆα ααααα‘αα α¬αααααΆαααααααααααΎαααΆαααααΌααααΈαα ααααααααα»αααΆαα·αααααα αααααα
- ααααααΆαααααΎααΆαααααααΆαααααααααααααΆααααΌαααΆααααααα’αΆααααααα ααΎααΆαααααααααααααΆαααααααα αα·ααααααααΆααααα»αααΆααα½ααααα αΌαααααΆααΌαα αααααααΈαα½αααα ααΆααΆαα»α‘αΌααΈααααΌαα αα½αα
ααΆαααααααααααααααααΆααΏααα’αΆαααααααΎααΆαααΆαααα αα·αααααΏαααααΆαααααΎααΆαααααααΆαα ααΆαααααΎααΆααα αααα»ααααααα αα α»ααααααααααααΆααΈαα ααααΎααα½αααΆαα½αααΉααααααα·ααΈα αααααΈααΆααΎαααααα ααααααααΆαααΈα 50-60 ααααα ααΎαα’αΆα ααΆααα αααα αααααα ααΆα’αα»αα αααααΆααααααα αααααααΊα α½αααΈαα·ααΆαααΆαααα’ααααααααα
ααΆαααααα»α
αα ααααα·ααΆααααα»αααααααα»α ααΎαααΆααα·ααΆααααΆαα½α α αΎαα’αααΈααΆααα·αααΌα ααααΆααα§ααααααααααΆααααΆααααα ααααααΆαααΆααααα ααΆαααααΎααΆαααααααΌααααααααΆαα»ααααααα αα αααα»αααααΉαααα·ααΆααααααααΆαααααΆαα α¬αααΆαααΈαααΆαα ααΆαααααΎααΆααα½αααααΎαα‘αΎααα·ααααααααααααααααα· α αΎααααα»αααααααααααααΈαααα»αα
αα
αααα»ααααααααααααααα»α αααα»αααααΎααααΆαααααααααααααααααα»ααααα»αααααΈααΆαααΆαααααΆααα
α»αα Erlang ααΆαααΆαα’αα»ααααααααα
ααα
αΆααααααααΆααααααΆαααααααα·ααΈ OTP α ααααα
ααα
αΆαα’αα»ααααααΆαααΎαα‘αΎααα·ααααα»αααααΈαααΆααααααααΆαααΎαααααΎαααΆααααααα·ααΈααααααΆααααα
ααΎααααΆαααααααΆαααΎαααααΎαααΆαααΈαα»ααα½ααααα ααααΎαααΆααααααΆααααααΆααΆα αααααΆααααΈαααΆααα αααααα·ααΈααΉαααααΆααααΈαααααααααααααααα·αα
ααααΆααααααααΆαααα α’αααα’αΆα
α’αΆαααααααα’αααΈαα»αααΆααααα
ααα·αααΆα
ααΌαααααΆααΆααααΆαα αα
ααΆααααααααααααααΎαααΆααααα rabbitmq αα·αααΆαααααΎααΆαααααΆαααααα½αααααααΎαα
αααα»αβααΆαβααβααΎα
αα
αααα»ααααΆαααα 6.14.1.2.1.2.2 α α―αααΆαααΎααααα αΆαααΈαααααααα RPC CASTα
ααΎαααΉααα·αααααΎααΆαααααααααααααα ααΎααΊααα OS α¬ erlang VM ααΆαα»αααα αααααααααααααΆααααΆαααααΎαααααα
- erl opts: +A1 +sbtu α
- ααΆαααααΎααααααα αααα»αααααΆαα erlang αααα½αααΊααααΎαααΆαααΎαα»αααααΌααααα½ααααααααΆα i7 α αΆαααα αααα»αααααα αααα
- ααΆαααααΎαααααα αααααααααΌαααΆαα’αα»αααααα ααΎαααΆαααΈααααααααΆααααααΆα 10G α
- ααΌαααααΎαααΆααα αααα»ααα»α docker α αααααΆααα αααα»ααααα NAT α
αααααΌαααΆαααααα
req_resp_bench(_) ->
W = perftest:comprehensive(10000,
fun() ->
messaging:request(?EXCHANGE, default, ping, self()),
receive
#'$msg'{message = pong} -> ok
after 5000 ->
throw(timeout)
end
end
),
true = lists:any(fun(E) -> E >= 30000 end, W),
ok.
ααααΆααΈαααΌ α’α ααΆαααααΎααααααααααααΌαααΆαααααΎαααΆαααΎαα»αααααΌααααα½ααααααααΆαααααα ααα i7 α αΆααα ααΆαααααΎααααα ααΆαααααΎααΆα αα·αααααΆααααααααΌαααΆαααααα·ααααα·ααΎααααΆαααα½ααααα»ααα»α Docker αα½αα
Sequential 10000 cycles in ~0 seconds (26987 cycles/s)
Sequential 20000 cycles in ~1 seconds (26915 cycles/s)
Sequential 100000 cycles in ~4 seconds (26957 cycles/s)
Parallel 2 100000 cycles in ~2 seconds (44240 cycles/s)
Parallel 4 100000 cycles in ~2 seconds (53459 cycles/s)
Parallel 10 100000 cycles in ~2 seconds (52283 cycles/s)
Parallel 100 100000 cycles in ~3 seconds (49317 cycles/s)
ααααΆααΈαααΌ α‘α ααααΆαα 3 αααααααΎαααΆαααΎαααΆαααΈααααααααααΆαα ααααα docker (NAT)α
Sequential 10000 cycles in ~1 seconds (8684 cycles/s)
Sequential 20000 cycles in ~2 seconds (8424 cycles/s)
Sequential 100000 cycles in ~12 seconds (8655 cycles/s)
Parallel 2 100000 cycles in ~7 seconds (15160 cycles/s)
Parallel 4 100000 cycles in ~5 seconds (19133 cycles/s)
Parallel 10 100000 cycles in ~4 seconds (24399 cycles/s)
Parallel 100 100000 cycles in ~3 seconds (34517 cycles/s)
αααα»ααααααααααΈααΆααα’αα ααΆαααααΎααααΆαα CPU αα·αααΎαααΈ 250%
αααααα
αααα»ααααααΉαααΆααααααααα·αααΎααα ααΌα ααΆααΆαα αααααα·ααα α αΎααααα·ααααααααααααα»αααΉαααΆαα’ααααααααααααααΆααα·αααααΆααα ααααα’αααααααΆαααααΆαααααααααααα ααα αΆα αα·αα’αααα’αα»ααααααααα ααΎαααααΌαααααΆαααΆααααααααΆααααααααα ααα αΆααααααΆααααααααααα’αΆααΈααααααααααα½ααα α αΎααααα»ααααααΉαααΎα Erlang/Elixir αααα αααΆααα’αΆααααααα ααα»ααααααΆαααΆαααααααααΆααΎααΆααΆαααααα ...
ααΌααα
ααΆαααα’αααααααΎααααΆαααααααΆαα
α»ααααααααα»ααααααααα’αΆα
α
αΌααα½ααααα»αααΆααααααααα·αααα
ααΎαααααΆαααα’αααΈααααααααααα»ααα½ααααααΆαααααα’α·ααααααααααααΆααααααααααααΈ VTrade Experiment?
-
ααααΉααααΈα ααΈααααΆα ααΆααααααΆαα·α αα·ααααααααΆαααααα½αααα DAY, GTD, GTC, IOC, FOK, MOO, MOC, LOO, LOC
-
ααααα αααααΆα ααααΉααααΈ αα·αααΆαα’αα»ααααααααα αααααΆααααΆαααα»α
-
ααΆαααΎαααΎαααααΆααα½αααΌα: ααΈα, αααΆα, αααααααααΆαα αααααααααΆαα»ααα·αααααααΆααα·α
-
ααΆαα·ααΆαααααΆααααααα ααΆαααααΎαααααΆα αα·αααΆαα’αα·ααααααα ααΆααααα½ααα·αα·ααααα»ααααα·α αα·αααΆααααΎαα’αααααα§ααααααα·α ααα»
-
API α αΌαααΎαααααααααααΆααΎα ααα»α αααααΆααα’αααΈαααααααααααΌαααΆα αα·αααααα’αα»αααααα½αααΆ
-
ααΆααααα»αααααααΆαα PostgreSQL, Timescale, Tarantool αα αααα»αααααααααααΆαα·ααααααα
-
ααααα·αααααα αααα»ααααααααααα½αααΌα
-
ααααααααα αααα»αααΉαααααααα αααα»αααα·ααααα
α’αααααααΎααααΆαα 6 ααΆααααΆαααααααααα α’αααααααΎααααΆαα α¦α£ ααΆααααααΌαααΆαα αΆαααΆααα
ααααα: www.habr.com