gpt4 book ai didi

http - Clojure:luminus 框架的默认服务器是什么?

转载 作者:可可西里 更新时间:2023-11-01 16:59:25 26 4
gpt4 key购买 nike

截至目前(2018 年),当您使用默认设置设置 luminus 模板项目时使用的 http/tcp 服务器是什么?

我读到 luminus 使用 immutant,然而,immutant 是其他东西的集合。而且我还读到在 immutant 中使用的底层服务器是 undertow。

我假设默认服务器是 undertow 是否正确?如果是这样,默认设置如何执行非阻塞 IO?该服务器是否提供像 nginx/nodejs 这样的非阻塞事件循环架构?

最佳答案

你是正确的,Immutant 使用 Undertow 作为它的网络服务器。

Undertow 使用非阻塞 IO 线程(通常每个 CPU 核心一个线程)并且还管理工作线程池。引用他们的 documentation :

The XNIO worker manages both the IO threads, and a thread pool that can be used for blocking tasks. In general non-blocking handlers will run from withing an IO thread, while blocking tasks such as Servlet invocations will be dispatched to the worker thread pool.

IO threads run in a loop. This loop does three things:

  • Run any tasks that have been scheduled for execution by the IO thread
  • Run any scheduled tasks that that have hit their timeout
  • Call Selector.select(), and then invoke any callbacks for selected keys

此架构与节点架构之间的明显区别是工作线程池的分离,允许阻塞。

恐怕我不能说比较实际性能,这将是特定用例。

关于http - Clojure:luminus 框架的默认服务器是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com