timzaak / blog

8 stars 1 forks source link

Akka 生态圈的感受 #41

Closed timzaak closed 4 years ago

timzaak commented 5 years ago

在刚出 akka stream,也就是距今应该有三年的时间吧,挺失望的。失望的是其复杂度达到了一个新高度,来来回回学习 akka stream 大约有三遍吧,唯一的感受就是:真 NM 复杂。完全不懂 API 是为何这么设计的。当时的 akka http route 也感觉很不爽,动不动 idea 就报红,后来我记得有一次,route dsl 代码报错,改了n次,完全不知道错了啥,重新编译后才好,和 play 的 route 解析完全不在一个可用维度。 对 akka 的感觉也已经从一代异步消息神级框架,变成神级 scala 炫技框架。也就渐渐无感了,甚至后来play framework 底层用 akka io 也是十分拒绝的,尤其是当 websocket api 改成了 akka stream api,完全无力吐槽!怎么一个麻烦了得。

今晚,我闲得无聊,又拿出了 akka 的文档刷了刷,文档依旧是那么详细充实,grpc \ manager \ service discovery 等冒了出来,粗略看来,异步消息神级框架 貌似又要回来了!是时候重新撸一遍 akka 了。

timzaak commented 5 years ago

最近开始基于akka 做链式业务逻辑, 通过akka remote,可以随时侵入进程序中,重新发起消息。

timzaak commented 5 years ago

akka 2.6 版本的 roadmap 有两个核心点,一是: 类型安全编程 API 稳定,二是协议从 tcp 转变成 udp,提升性能。

类型安全编程 API 的使用应该会等到 playframework 先用起来,再看。不确定性能是否会损耗。看文档,感觉整个代码组织结构的核心是围绕这消息,代码看起来会更清晰易读,点一下👍。

tcp 变 udp,这应该是所有的通信敏感类型的框架的趋势吧。毕竟 http3 都要 QUIC 了,除了历史包袱,生态环境,还有什么理由不 udp ?

timzaak commented 4 years ago

Akka 2.7 版本会移除 classic remote,先前写的代码,等等可能要重做了。 2.6.1 版本,撸了一遍文档。从代码组织上讲,会更有规范性。至于其他方面,得等具体使用情况来看了。 预计 2021 年,我先前关于 akka 的代码如果想要跟进版本,要重写 90%。烦人的事情!

timzaak commented 3 years ago

zio 提供了 actor 模型。 小项目的话,它应该更轻量。 目前 typed akka 已用于生产环境。

timzaak commented 1 year ago

Akka 出了商业协议。虽然自己达不到那个量级,但相关生态开始破碎,Akka 不再优先考虑。