开发者社区 > 云原生 > Serverless > 正文

我的db用长连接, 实例被冻结的时候长连接还能维持吗?

我的db用长连接, 实例被冻结的时候长连接还能维持吗?

展开
收起
函数计算小白 2023-05-18 18:40:43 12496 0
8 条回答
写回答
取消 提交回答
  • 在函数计算中,如果实例被冻结,那么该实例上的所有长连接都将被断开。这是因为,当一个函数实例被冻结时,它的所有资源(包括内存、CPU等)都会被释放,同时该实例也无法接收新的请求,因此所有长连接都将失效。

    需要注意的是,在函数计算中,实例的生命周期比较短暂,通常只有数秒钟到数分钟不等。在这段时间内,函数实例可以处理多个请求并保持数据库长连接。但是一旦实例被冻结,所有长连接都将被关闭,可能会导致对数据库的操作失败或者出现未知错误。因此,建议在编写函数代码时,尽量避免使用长连接的方式来操作数据库,并采用短连接的方式来进行数据库访问,以提高可靠性和稳定性。

    另外,在使用长连接时,需要注意长时间不活跃的连接可能会被数据库服务器主动关闭,从而导致连接失效。因此,建议周期性地向数据库发送心跳包来维持连接,防止长时间不活跃导致连接断开。

    2023-05-20 08:44:24
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    当阿里云数据库实例被冻结时,长连接会断开。因为冻结会导致实例暂停服务,数据库连接被切断,这样长连接也会随之断开,需要重新建立连接。建议在实例即将被冻结之前,应该及时释放连接资源避免出现连接数达到上限等问题。同时,在客户端应用代码中,应该对数据库连接的断开做好相应的处理,比如重试或者重新连接等。

    2023-05-19 14:12:50
    赞同 展开评论 打赏
  • 当使用长连接连接数据库时,数据库实例被冻结可能会影响连接的状态。具体而言,如果数据库实例被冻结,则不再能够向数据库发出任何查询请求,因此如果此时长时间没有任何查询请求,则数据库连接可能会断开其长连接,从而导致无法维持连接。

    实际上,大多数数据库客户端在长时间没有发出任何查询请求时,通常会尝试向数据库发出一个心跳请求,以确保连接保留。这些心跳请求通常包含简单的SQL语句或者PDU(Protocol Data Unit)数据包,而数据库服务器通常会在接收到这些请求时返回一个简单的响应,以表示连接仍然处于活动状态。因此,如果您的数据库客户端在实现长连接时,在长时间空闲时周期性地发送心跳请求,则长连接可能会保持活动状态,即使数据库实例被冻结并限制了查询请求的执行。

    需要注意的是,无论长连接是否仍然维持,数据库实例被冻结都可能会影响您应用的性能和可用性。如果数据库实例被长时间冻结,则您的应用可能会因为无法连接数据库而无法正常进行查询或修改操作。因此,在使用长连接时,建议您在应用代码中添加适当的重试逻辑,以确保即使数据库连接断开,应用也能够自动重新连接并继续运行。同时,您还可以考虑使用数据库连接池等工具来优化长连接的使用和管理,以提高应用的可用性和性能。

    2023-05-19 09:35:37
    赞同 展开评论 打赏
  • 当阿里云数据库实例被冻结时,所有现有的数据库连接都会被断开,包括短连接和长连接。阿里云数据库的冻结操作是为了保证数据的安全性,避免数据被误操作。

    由于长连接通过在客户端和数据库之间创建的套接字维持连接,同时在需要的时候保持连接状态,这种连接方式相较于短连接所需要建立和断开连接的操作更少,所以在性能上更优秀。但即便是长连接,一旦实例被冻结,已经建立的长连接也会被终止。

    因此,为了避免长时间占用数据库资源,阿里云建议在使用完毕后关闭数据库连接,以释放资源,同时也可以避免类似实例冻结等问题带来的影响。

    2023-05-19 09:06:23
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果你的数据库使用长连接,当实例被冻结时,长连接仍然可以保持。

    长连接是在建立后一直保持打开状态,直到显式断开连接或者达到连接超时时间。尽管实例冻结可能会导致无法从该实例读取或写入数据,但已经建立的长连接将继续存在,并且在实例解冻后将继续处理请求。

    但是,需要注意的是,在实例被冻结期间可能会发生连接中断的情况,具体情况取决于实际使用的数据库系统和连接方式。在实例重新启动之前,长连接将无法恢复。

    因此,当实例被冻结时,你应该考虑主动关闭与数据库的连接,以避免长时间等待连接不可用的情况。同时,在实例解冻后,需要确保重新建立连接并进行必要的错误处理。

    2023-05-19 08:32:04
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    如果您的数据库实例被冻结,长连接可能会被断开。当数据库实例被冻结时,它会停止响应所有的请求,包括长连接。因此,当您的数据库实例被冻结时,您需要重新建立连接。

    建议您在使用长连接时,定期检查连接是否仍然有效,并在需要时重新建立连接。这可以确保您的应用程序在数据库实例被冻结或其他问题发生时能够正常工作。

    2023-05-19 08:31:37
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    当您的阿里云函数计算实例被冻结时,长连接可能会受到影响。因为阿里云函数计算实例被冻结时,会暂停所有正在执行的代码,并且断开网络连接。这可能会导致您的长连接被中断,从而影响您的应用程序。

    建议您在使用长连接时,考虑实现自动重连机制,以便在连接中断后能够自动重新连接到数据库。此外,您还可以在函数计算控制台中设置函数服务的超时时间和最大内存限制,以避免因资源占用过高而导致实例被冻结的情况发生。

    2023-05-18 20:16:01
    赞同 展开评论 打赏
  • 可以的 不过远端不知道会不会有什么心跳,远端给断开了

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-05-18 20:09:29
    赞同 展开评论 打赏
滑动查看更多
问答地址:

快速交付实现商业价值。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载