云巴创始人CEO张虎 - 实时系统Erlang实践
2020-02-27 57浏览
- 1.Erlang zhanghu@yunba.io
- 2.• CEO • CTO • : @Tiger_ • Yunba.io Erlang
- 3.• • IoT • MQTT • WebSocket • socket.io
- 4.• • • • • IDC • • 200
- 5.• IO • Libev/epoll • Node.js • • Erlang • Golang • Akka
- 6.Erlang • • • • • • • OTP reduction budget RPC GC GC
- 7.
- 8.OTP Applications • Supervisor) Application • Supervisor • Worker RPC
- 9.• IP • • • • Erlang
- 10.• • • MQ -> RPC • Erlang
- 11.• MQ -> RPC • • • Dispatcher worker • poolboy • Worker worker
- 12.publish • >200 • Worker publish • 200 UID • • Erlang
- 13.• • publish • Write-back cache Couchbase • Raft
- 14.CPU Profiling • fprof/eprof • (http://www.brendangregg.com/flamegraphs.html) • eflame •erlang:trace/3• BEAM Patch trace •https://github.com/TigerZhang/eflame
- 15.• • 10 Munin/influxdb • Grafana • • CPU, mem, network, disk • BEAM github.com/ferd/recon • (msgq length) scheduler usage) CPUhttps://• • Influxdb/grafana
- 16.• list_to_atom/1 • Caveats
- 17.Erlang “ ” • • • Rebar? Rebar3? •
- 18.Q&A