Mar*_*era 13 java android asynchronous message-queue
在我们开发自定义解决方案之前,我正在寻找某种类型的库,它提供:
HTTP请求的非阻塞队列
具有以下属性:
那么请问,有什么可以正确知道的,有什么可以节省我们整天开发这个?
现在我们不需要对已完成的请求进行任何回调,也不需要保存结果数据,因为不会有这样的回调.
在我看来,一个好的和直接的解决方案是使用复杂的连接处理框架(如Netty https://netty.io/)和复杂的开发层(不应该这么复杂)异步处理框架,如Akka http://akka.io/
让我们首先在http:http ://static.netty.io/3.5/guide/#architecture.8中查看Netty对http的支持:
4.3.HTTP实现
HTTP绝对是Internet上最受欢迎的协议.已经有许多HTTP实现,例如Servlet容器.那为什么Netty在其核心上拥有HTTP呢?
Netty的HTTP支持与现有的HTTP库非常不同.它使您可以完全控制HTTP消息在低级别的交换方式.因为它基本上是HTTP编解码器和HTTP消息类的组合,所以没有限制,例如强制线程模型.也就是说,您可以编写自己的HTTP客户端或服务器,它们可以按照您想要的方式工作.您可以完全控制HTTP规范中的所有内容,包括线程模型,连接生命周期和分块编码.
现在我们来挖掘阿卡吧.Akka是一个框架,它在Java并发API的顶部提供了一个很好的抽象,它带有Java或Scala的API.
一旦熟悉了这两个框架,就会发现您需要的内容可以通过它们轻松编码.
事实上,你需要的是一个在Netty中编码的http代理,根据请求,接收器会立即向FSM类型的Akka Actor发送消息(http://doc.akka.io/docs/akka/2.0.2/java /fsm.html)使用持久邮箱(http://doc.akka.io/docs/akka/2.0.2/modules/durable-mailbox.html)