云巴创始人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