【问题标题】:how to transfer session to another compute node with python?如何使用 python 将会话转移到另一个计算节点?
【发布时间】:2018-08-01 10:25:11
【问题描述】:

以下情况如何用python将会话转移到另一个计算节点?

案例1:如果使用kubernete,

案例 2:或使用自动缩放,

案例 3:如果使用亚马逊,

如何使用 python 将会话转移到另一个计算节点? 这样程序就可以永远运行了

【问题讨论】:

    标签: python kubernetes amazon


    【解决方案1】:

    不,这些东西都不能跨主机传输具有所有内存和磁盘状态的进程。

    如果您已经在研究 Kubernetes,我建议您将应用程序设计为没有任何本地状态。它所知道的一切都存在于一个单独维护的数据库中(如果您使用 AWS,它可能是一个 RDS 托管数据库或其他东西)。然后,您可以轻松地运行它的多个副本(可能是 Kubernetes ReplicaSet 或 Deployment 中的多个副本)并轻松杀死一个副本以在其他地方重新启动它。

    其中一个高端虚拟化解决方案可能能够满足您的要求,但是让程序永远运行是相当困难的,尤其是在 Python 这样的脚本语言中。 (如何更新程序?如何更新底层操作系统,何时需要重新启动以进行内核更新?)

    【讨论】:

    • 我听说我的一位同行说他的老同事这样做了,只是不知道他使用哪种编程语言,他似乎可以在 kubernete 中运行程序并在一个计算时将会话转移到另一个计算节点离开。我很好奇,想知道该怎么做。程序如何知道哪个节点关闭并选择哪个节点将会话转移到另一台计算机节点。然后他说亚马逊有维修服务,我不确定这个服务是否与此有关。
    • 我们处理这个问题的方法之一是使用分布式 kv 存储,如 redis 或 apache ignite。或者,如果会话数据不大且不敏感,我们使用诸如 jwt 之类的令牌作为 http 标头传递。这使进程保持无状态。这反过来又可以通过 Kubernetes 轻松扩展,而用户的停机时间为零。
    猜你喜欢
    • 1970-01-01
    • 2011-08-26
    • 2020-09-04
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2012-03-12
    相关资源
    最近更新 更多