问题标签 [downtime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wordpress - 当我尝试更新插件时,在我的 wordpress 仪表板中显示错误消息
当我尝试更新插件时,我的网站显示错误消息。错误信息是
更新失败:503 Service Unavailable Service Unavailable 由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试。“网站名称”处的 Apache 服务器
php - 如何以编程方式绘制正常运行时间/停机时间?
我正在构建一个 PHP 应用程序来监控服务的正常运行时间/停机时间。我想用不同颜色的 div 来表示向上或向下,与此类似(https://codepen.io/spglco/pen/yofBp )。
我很难理解代码。
我的数据集目前看起来像这样。这些检查每分钟进行一次,但将来可能有不同的间隔(可能是每 10 或 15 分钟,而不是此处所示的每分钟):
我希望代码具有高性能,因此创建一个循环来输出 4320 个 div(每分钟 72 小时)肯定会使浏览器崩溃。理想情况下,最好按照上面的链接显示(每小时一个 div ——绿色表示未检测到停机时间,黄色表示停机时间 1-10 分钟,红色表示停机时间超过 11 分钟)。
我最初的想法是通过百分比来做到这一点,并相应地为 div 着色,但我仍然不确定这是否是最好的路线。
解决这个问题的最佳方法是什么?
提前致谢!
database - 如何执行重命名列迁移?
我有一个关于如何正确执行数据库迁移的问题,特别是重命名列。
假设表有A列,我想将其重命名为B。如果我重命名然后部署引用B的代码,在执行迁移之后和部署代码之前,我会出错,因为代码不会与架构保持同步。另一方面,如果我先部署代码,也会出现错误,因为代码将引用列 B,直到执行迁移。
所以我认为最好的方法是,在部署代码之前,使用 A 的数据创建一个新列 B,然后部署。起初我以为这样就可以了,但后来我意识到用A的数据制作B列后,可以在表中插入新数据。那么,这样做的标准方法是什么?
提前致谢。
python - 如何防止 python 日志记录模块引发错误,在停机时停止执行、永久重试和缓冲事件
我有一个 Python 进程,其输出在其他处理程序中通过 tcp 记录到 syslog 服务器。系统日志服务器可能会不时发生一些停机时间。无论日志记录机制如何,我都需要运行脚本。是否有任何选项/常用(或内置)库用于缓冲日志并无限重试我可能丢失的,或者我是否需要为我的日志编写一个自定义包装类来处理缓冲和重试?
当我停止 syslog 服务器时会出现问题,在这种情况下,任何“记录器”语句都会引发错误并停止脚本执行。
devops - Jelastic - 使用 PM2 进行零停机部署
从GIT更新应用程序源代码时是否可以不停止nodejs应用程序?
目前 Jelastic 在从 GIT 获取文件之前会停止服务器:
是否可以不停止应用程序?我想调用“pm2 reload app”而不是停止它。
我尝试使用grep
. 不幸的是,没有包含Stopping nodejs server:
line 的文件。
amazon-redshift - 实现 Redshift 的高可用性?
据我了解,Redshift 是为性能而不是可用性而构建的。文档https://aws.amazon.com/redshift/faqs/ 建议一旦任何节点关闭,整个集群都会关闭,直到节点恢复。在 AZ 故障的情况下,您根本没有运气。
这篇文章建议有一个双集群 https://aws.amazon.com/blogs/big-data/building-multi-az-or-multi-region-amazon-redshift-clusters/ 但是,我不清楚如何您是否复制 Looker 的 PDT 表以支持通过 Route 53 到备用集群的即时故障转移?
只是好奇人们如何解决 Redshift 上的 HA 问题?
service - Prometheus / Grafana 计算服务停机时间
我有一个服务指标,它返回一些正值,或者在失败的情况下返回 0。我想计算在某个时间段内我的服务失败了多少秒。
例如表达式:
在 Grafana 中给我一条虚线:
有什么方法可以计算过去 2 小时内我的服务中断了多少秒?
docker - 如何以简单的方式在不停机的情况下更换负载均衡器 Docker 容器
我在同一主机上运行大约 30 个不同的站点,每个站点都使用 docker-compose 进行管理。其中一些使用 Nginx,一些使用 Apache。然后是一个暴露在互联网上的反向代理容器,它运行 Nginx,有一堆虚拟主机,并将流量重定向到正确的容器。那 30 个不同的网站只是我尝试各种想法,他们没有很多客户。
我知道使用 docker-compose 对于生产使用是不明智的,因为使用新版本关闭和重新打开容器仍然需要时间(<3 秒)。我也知道 docker swarm 和 K8S,如果这 30 个不同站点中的任何一个变得足够大,我将使用它们。到那时,我可能会重组一切以实现零停机部署。但我问的是不同的。
我仍然想使用 docker compose 管理普通容器,因为它非常方便,而且因为我只有 1 个节点,所以运行 K8S 将是多余的,并且不会真正实现零停机部署。但是,我想不时更换反向代理容器(可能每周 1-3 次),并且我不希望单个容器有任何停机时间,因为所有这 30 个站点都会受到影响。对于单个站点,我可以接受 <3 秒的停机时间,因为大多数站点根本不会改变,而那些确实是实验性的,但是我开始对反向代理的停机时间 <3 秒感到不舒服。
那么有没有办法让我在不停机的情况下更换反向代理容器?真正简单和轻量级的东西?不必使用 docker compose,但仍应整体使用容器。我正在考虑这些:
- 使用 KIND(Kubernetes IN Docker),它在单个主机上运行并创建容器,以便它们显示为节点。这需要 800MB-1GB 的 RAM,所以它是不可取的
- 无限期保持反向代理容器,更改其中的配置,重新启动 Nginx(<1 秒停机时间),但这严重违背了容器的目的,我不能再不关心容器了,这是最初的我想将应用程序容器化的原因。
还有其他选择吗?
postgresql - 如何以零停机时间向生产 PostgreSQL 的表中添加列?
这里 https://stackoverflow.com/a/53016193/10894456 是为 Oracle 11g 提供的答案,我的问题是一样的:
当该表包含一百万条记录并且它处于活动状态时,在生产 oracle 数据库中添加具有默认值的非空列的最佳方法是什么。如果我们创建列,添加默认值并在单个语句中使其不为空,它会创建任何锁吗?
但是对于 PostgreSQL 呢?