我有一个spring boot应用程序,我在openshift集群中的docker容器中运行.在稳定状态下,应用程序有N个实例(比如N = 5),并且请求被负载平衡到这N个实例.一切运行良好,响应时间很短(〜5ms,总吞吐量约为60k).
每当我添加一个新实例时,响应时间会短暂上升(最多约70ms),然后恢复正常.
有什么办法可以避免这种冷启动吗?我尝试通过在发送流量之前依次进行~100次卷曲呼叫来预热应用程序,但这没有用?
我是否需要具有高并发性的更好的预热脚本?有没有更好的方法来处理这个?
谢谢
假设分区有 4 个副本(1 个领导者,3 个追随者),并且所有副本当前都处于同步状态。min.insync.replicas设置为 3 并request.required.acks设置为 all 或 -1。
生产者向领导者发送消息,领导者将其附加到其日志中。之后,其中两个副本在获取此消息之前就崩溃了。剩下的一个副本成功获取了消息并附加到它自己的日志中。
由于不满足 min.insync.replicas 条件,领导者在一定超时后将向生产者发送错误(我认为是 NotEnoughReplicas)。
我的问题是:附加到领导者和副本日志之一的消息会发生什么?
当崩溃的副本重新上线并且代理开始接受和提交新消息(即在日志中转发高水印)时,它会传递给消费者吗?
我有一个春季启动应用程序,它使用国家明智的配置文件.配置文件的结构相同,但不同国家/地区的值不同.
我在资源目录中为每个国家/地区创建了一个目录,并将该国家/地区的配置文件放在那里.
根据请求参数中传递的国家/地区代码,我想使用相应的配置文件.什么是弹簧启动惯用的方法来实现这一点(除了使用像snakeyaml手动加载yaml配置文件)?
谢谢