Akka-Http 每个服务器实例配置

问题描述 投票:0回答:1

我有多个

akka-http
服务器实例作为同一 jvm 进程的一部分在不同端口上运行。服务器实例有不同的性能要求,需要进行不同的配置。

是否可以在每个实例的基础上配置它们。

我在官方文档或其他任何地方都找不到任何内容。

https://doc.akka.io/docs/akka-http/current/configuration.html

java scala akka akka-http
1个回答
0
投票

因为 Akka HTTP 是作为 Akka 扩展实现的(即每个

ActorSystem
最多一个),并且较低级别的配置(调度程序等)是每个
HttpExt
,这是在 JVM 进程中拥有多个 HTTP 服务器的唯一方法将有多个
ActorSystem

多个

ActorSystem
当然是可能的,尽管通常不建议这样做:
ActorSystem
是相当重量级的(例如,具有关联的线程池),但如果小心的话,在这种情况下确实可以提供更高级别的隔离为了防止它们竞争:您可能希望在知道另一个系统存在的情况下为“主”
ActorSystem
和“性能指标”
ActorSystem
配置调度程序(默认值实际上假设每个系统都有一个
ActorSystem
) JVM;不这样做会显着增加线程饥饿的可能性)。

请注意,只要“主要”和“性能指标/运行状况检查”路由的处理表现出合理的异步卫生,可能就不需要这样做:共享

HttpExt
(允许多个服务器,尽管有一些低级共享)在这种情况下应该可以正常工作。我怀疑改进异步卫生以允许不同服务器共存将比采用多个
ActorSystem
路线获得更好的回报。

© www.soinside.com 2019 - 2024. All rights reserved.