问题标签 [event-driven]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 通过 TCP 连接由异步事件(xml 消息)驱动的 Java 客户端
我需要编写一个 Java 客户端应用程序,它需要与发送事件(xml 消息)的服务器建立 TCP 连接。在从服务器接收事件之前,客户端还将发送一条 xml 消息以在服务器上创建一个通道,然后服务器将返回一个响应。然后客户端在收到事件消息时,必须处理它们并通过同一 TCP 连接使用 xml 响应消息进行响应。服务器是一个遗留应用程序,我无法控制它。
服务器还发送健康检查消息以评估客户端创建的通道,客户端必须对其做出响应,以保持通道处于活动状态。
我对 Java 中的 NIO/Socket/TCP 编程没有经验,所以想知道什么是实现这个客户端的简单而优雅的方法。
我对 Spring 有很好的经验,我想知道是否可以使用 Spring 连接一些组件,例如 (1) TCP 连接网关/适配器,它将负责打开/监视连接状态 (2) 用于转换的 Marshaller/Unmarshaller从 XML 到 Java 的消息,反之亦然,以及 (3) 消息接收器和发送器,它实际接收/侦听消息并发送响应。
要记住的一件事是,服务器会发送大量事件消息,客户端必须非常快速地处理它们并立即响应。所以消息处理不能连续发生。
非常感谢任何对库或示例代码的建议或指针。
谢谢。
scala - 什么是事件驱动并发?
我开始学习 Scala 和函数式编程。我正在读这本书!Programming scala: Tackle Multi-Core Complexity on the Java Virtual Machine”。在第一章中,我看到了 Event-Driven concurrency 和 Actor 模型这个词。在我继续阅读这本书之前,我想要一个关于事件驱动并发或 Actor 模型的想法。
什么是事件驱动并发,它与 Actor Model 有什么关系?
java - 异步 I/O - Java
我一直在寻找有关 Java 中异步 I/O 优势的详细信息,尤其是从应用程序堆栈设计中。
我遇到了许多事件驱动服务器的例子,比如 Node.js、Tornedo 等。
我不明白的是,为什么有人在 Java EE 中使用 JBoss 或 Weblogic 应用服务器拥有整个应用程序堆栈,但会迁移到事件驱动架构。
甚至这些服务器也支持非阻塞 I/O。是的,他们为每个请求分配了一个线程,但是有了一个线程池,资源不是很好地处于良好的性能参数范围内吗?
请按照以下几行向我提供一些输入。
- 为什么使用 Apache-Tomcat/JBoss/Weblogic 的传统 Java EE 架构考虑转向事件驱动架构。
- 事件驱动架构是否有助于提供与设备无关的网站/应用程序。
- 在云上设计应用程序时,我们会选择异步 I/O。
- 事件驱动的架构性能是优于传统的 Java EE 架构还是一个神话。
rest - 如何使用http实现竞争消费者
我真的很喜欢 James Lewis 的“微服务:Java,Unix 方式”演讲。
在本演示文稿中,James 谈到了通过编写一个队列处理引擎来实现用户注册服务,该引擎从 atom 提要中读取事件并公开一个端点,多个消费者可以从中读取以处理并转换为用户实体。
特定幻灯片上的注释(视频中大约 18:40)说这是使用竞争的消费者 EIP实现的:
“队列处理引擎使用条件 GET、PUT 和 Etags 针对事件队列公开的原子集合实现了竞争消费者模式”
这种队列(以及他们谈论拥有异构消费者的方式)表明它是一个发布-订阅通道。
我真的不明白这是如何实现的,EIP 书说竞争消费者只能工作:
[...] 点对点通道;发布-订阅通道上的多个消费者只需为每条消息创建更多副本
我假设队列处理器公开了一个 REST 资源,竞争消费者调用该资源对新项目发出 GET 请求,但是 PUT 请求和 etags 是从哪里进入的呢?
javascript - Nodejs中是否有任何像django admin一样工作的模块?
我正在搜索一个像 django 这样的管理面板,为什么 nodejs 没有呢?你能给我链接 OA 使用这种管理员的 Benficts 的反馈。nodejs需要吗?
javascript - 如何保护 Nodejs 中的 RestFul Api?
现在我正在使用https://github.com/baugarten/node-restful来帮助我在 API 中工作,问题是?
我在 Express 框架中工作,有没有办法保护从其他站点到我的“GET”请求。
我使用 express 的 CSRF,但只能通过带有 FORbidden 403 消息的 POST、PUT、DELETE 方法工作所有的帖子。
你给我什么建议?还有其他模块可以更好地工作 Api 吗?如何保护 nodejs 中的 Api?拥有者需要学习的最佳实践是什么?
感谢您的帮助。
stream - 序言中的流推理/反应式编程?
我想知道您是否知道使用 prolog 进行流处理的任何方法,即某种反应式编程,或者至少让查询在不断更新(实际上是流)的知识库上运行,并不断输出推理的输出?
在流行的“prologs”中实现了什么,例如 SWI-prolog?
python - Twisted 如何与命令行程序交互?Node.js 可以吗?
我认为我需要的几个项目是事件驱动编程。这让我想到了 Twisted (Python) 和 Node.js (Javascript)。
我需要的一件事是与命令行程序的交互,这些程序需要时间来完成并将内容打印到标准输出。
我没有找到关于 Twisted 的好的教程,也没有找到关于如何通过非网络相关的编程获得 Twisted。
问题:
是否有使用 Twisted 涵盖非网络内容的教程?
我应该更好地看看 Node.js 吗?如果是这样,为什么?
是否有替代事件驱动编程的方法可以更好地抽象问题?(我知道,有很多更糟糕的抽象;请不要提及它们。:-)
jquery - Jquery 定期页面刷新与事件驱动页面刷新
我知道您可以使用 ajax 刷新,定期拉动,给定一个计时器。但是,如何设置页面仅在服务器端触发/发生 http 请求时才更新?
所以你通常会这样做
定期页面更新:
事件驱动页面更新:(仅当服务器发送响应时)
问题:你会怎么做?这可能吗?
closures - 具有事件驱动架构和闭包的 BPM?
我读过Activiti in Action一书,我想我很清楚 BPM 的作用。但是,我并没有喝使用 BPMN2 或 BPEL 作为指定工作流的骨干的帮助。脚本任务在 Java 等静态语言的范围内定义和维护也相当笨拙。
读完这本书后,我想,如果 BPM 系统可以利用事件驱动的架构和闭包来定义活动,那不是很酷吗?最好使用原生支持它们的动态语言?
是否存在这样的 BPM 项目?如果不是,您认为这是个好主意吗?