精选文章
A digital symphony — The architecture of API Fortress.
使用Actor模型来支持基于微服务的大规模分布式软件架构。用实例解释了Actor对于分解复杂系统的好处。
Understanding actor concurrency, Part 1: Actors in Erlang。
但也观点说Actor并不是好的并发模型,Actors are not a good concurrency model。RabbitMQ 3.8 Release Overview.
支持Prometheus and Grafana 监控。我最近打算用Elixir从零写一个HTTP(S) 压力测试工具,前端展示本来是想用Phoenix LiveView来做展示的,但看到这个后,直接替换成Grafana,省掉了非常多的工作,且更图表更专业。Elixir HTTP Benchmark - Ace vs Cowboy.
HTTP Server简单压测结果。图中cowboy-static的静态页面请求比自己想象中的慢很多。Clever use of persistent_term.
比ets:update_counter更快的自增操作!内存分配策略更佳,新版本的logger就是使用的它。····Erlang, pattern matching on a particular map's key?
解释了为什么下面map的匹配模式是编译不过的。
count([], Acc) -> Acc;
count([A|Rest], #{A := N} = Acc) -> count(Rest, Acc#{A := N+1});
count([A|Rest], Acc) -> count(Rest, Acc#{A := 1}).
)