2
我正在挖掘Akka,只是看着他们的fault tolerance example,并试图理解它。了解Akka容错
- 为什么我不能只是实现所有这些相同的类型(
Worker
,Listener
,CounterService
等)中的 “纯Java”(无阿卡)。什么基础设施是Akka在这里加入的? - 在该图中,
Storage
代表什么?一个RDBMS?一个Java应用程序监视RDBMS?一个JDBC驱动程序? - 这很好,如果
Storage
是一个Java应用程序,并且可以将StorageException
返回给请求者,但如果Storage
和CounterService
之间的网络被切断或者存在传输级别问题会怎样?这整个图表是否仍然有效(如果是这样,怎么样?!??)还是Akka只提供“应用层”容错?在后一种情况下,Java/Akka如何处理硬件或网络级别的故障?
在此先感谢!
您当然可以在普通的旧Java中实现Akka的大部分功能。您获得的是简洁的表达和基本的构建块的可重用性。对于问题3,网络编程技术通常会通过看门狗定时器捕捉断开的连接。 –
感谢@BobDalgleish(+1) - 2个跟进:(a)您可以权衡“存储”在该图表中的含义吗?了解它是否是Java应用程序/类/服务器或本地RDBMS将帮助我理解Akka的容错性。和(b)当你说“看门狗定时器”是[this](http://docs.oracle.com/javame/config/cldc/rel/3.4/core/da/html/device_access/watchdog.htm)你在说什么?再次感谢! – IAmYourFaja
在该示例中,它被实现为一个Java类,该类持久存储在其中的项目;坚持到节目结束。只要适配器代码实现了模型预期的接口,就没有理由不可能是一个重量级的RDBMS。 b)是的,这是看门狗定时器的一个例子。这是一种常见的设计模式。 –