快速检测应用程序的运行情况而无需深挖代码。
随着应用程序用户量的增多,软件的可用性将面临巨大的考验。让我们来看一看为什么应用程序需要高可用性。
现在我们明白为什么我们需要高可用性了。我们将研究可能导致宕机的常见问题。
显然,我们应该对确保我们的应用程序高可用非常感兴趣。
但是问题是:“应用程序什么时候才是真正的健康?”。这很难去说清楚,也很难实现。这取决于你对健康的定义。所以你必须自己去定义这件事情。
API测试可以作为启动健康检测的入口。然而,也有专门的服务,如Pingdom、New Relic和Freshping,可以持续监控网站和服务的可用性。
这些工具提供通用的数据和功能:
可用性 宕机实际 事件数 平均响应时间(通常为毫秒级别) 事故摘要 根据时间查询相关数据 与其他流行软件工具集成:Slack、Jira、PagerDuty等。// app.js: register the route. In our case, we don't want authorization for this route app.use('/healthcheck', require('./routes/healthcheck.routes')); // healthcheck.routes.js: return a 2xx response when your server is healthy, else send a 5xx response import express from 'express'; const router = express.Router({}); router.get('/', async (_req, res, _next) => {// optional: add further things to check (e.g. connecting to dababase)const healthcheck = {uptime: process.uptime(),message: 'OK',timestamp: Date.now()};try {res.send();} catch (e) {healthcheck.message = e;res.status(503).send();} }); // export router with all routes included module.exports = router; // healthcheck.spec.js (services like Pingdom or Freshping do a similar approach to check whether your server is healthy) describe('Healthcheck', () => {it('returns 200 if server is healthy', async () => {const res = await get(`/healthcheck`, null).expect(200);expect(res.body.uptime).toBeGreaterThan(0);}); });
在这篇教程中,我将使用Freshping去监控托管API的运行情况。以下报告显示了2019年10月的数据。
让我们仔细的看一看这篇报告:
在选择的时间表里,可用性达到了96.58%。通常情况下,你应该以把达到99.90%的可用性为目标。很多软件库保证至少99.90%的可用性,特别是对于企业用户。
乍一看96.58%的可用性听起来不错,但你必须注意宕机时间:将近19个小时的连续停机时间对你的业务而言可能是非常糟糕的。 因此,重要的是在事件发生时及早通知您,以便您快速解决问题。
因此,当事故发送时,及早通知是非常重要的,那样你将能够快速的修复问题。
在所选的时间范围内出现了一个事故。当然,你应该尝试尽可能的使这个数字越小越好。在事故确实发生的情况下,应该尽可能快的解决问题,去减小事故带来的影响。
平均响应时间是539ms,相当稳定。这种一致性是一个好兆头,因为这意味着我们的健康检查工作可靠。
尽管平均响应时间不算太慢,但是也不算太快。因此你应该尽可能缩短响应时间。这可能表明应用程序的健康涉及到很多环节。另一方面,这可能只是基础架构问题(例如,服务器离客户端太远或硬件功能不够强大)。
感觉你阅读这篇文章。你可以看到,Node.js添加健康检测是非常简单的。当然,你也可以(或许应该)添加健康检测,如果你正在使用其他服务端编程语言。像Pingdom或者Freshping这样的工具经常能够检查我们应用程序的健康,同时帮助我们及早的发现问题。
你是如何实现健康检测的呢?还有,你使用什么样的工具?
相关知识
iOS 15健康应用程序添加数据共享功能,可远程监测他人健康
iOS10将增强Health应用程序中的Health Records功能
移动健康应用的用户体验设计
如何在 iPhone 上的健康应用程序中手动添加数据
如何在不使用第三方应用程序的情况下,查看iPad电池的健康状况
iOS8健康怎么用?苹果iOS8健康应用数据添加教程
用什么软件检测手机电池容量
Mac版健康应用程序在哪里?我可以在 Mac 上查看我的健康数据吗?
电池健康用什么软件检测好
基于用户体验评价移动健康类应用程序的研究进展
网址: [译]Node.js应用如何添加健康检测?随着应用程序用户量的增多,软件的可用性将面临巨大的考验。让我们来看一看为什么应 https://m.trfsz.com/newsview1554339.html