Akka和Netty除了选择语言(Scala vs Java)之外,还有什么区别?[已关闭]

2022-09-03 17:07:35

我想了解Akka和Netty之间的区别。我知道你可以同时使用Scala和Java。我更感兴趣的是知道Netty在哪里更好(如果有的话),而Akka在哪里更好(如果有的话)。换句话说,它们在哪些领域重叠,我可以在哪些领域使用Akka而不是Netty,反之亦然。


答案 1

Akka是一个围绕Actor和可组合未来概念构建的并发框架,Akka受到Erlang的启发,Erlang是围绕Actor范式从头开始构建的。它通常用于用更高级别的异步抽象替换阻塞锁,例如同步锁、读写锁等。

Netty是一个异步网络库,用于使Java NIO更易于使用。

请注意,它们都采用异步方法,并且可以同时使用这两种方法,也可以完全单独使用。

有重叠的地方是Akka也有一个IO抽象,Akka可以用来创建计算集群,在不同机器上的参与者之间传递消息。从这个角度来看,Akka是一个更高层次的抽象,可以(并且确实)在引擎盖下使用Netty。


答案 2

推荐