React App-Include/health-负载平衡器的运行状况端点



我有一个React应用程序,我希望将其部署在负载均衡器后面,负载均衡器定期对应用程序进行ping,以查看它是否健康。我的要求是提供一个/health端点,它可以用于健康检查。

实现健康端点的理想方式是什么?

  • 这是任何计划以自动修复方式部署React应用程序的人都需要的
  • 该应用程序的主页面是/dashboard,这是一个沉重的页面。因此,它不能用作健康端点

即:我见过具有/hello类型端点的react应用程序,这些端点返回类似I am healthy的简单消息。

我将回答我自己的问题。经过大量的研究和经验丰富的React开发人员的询问,以下是在React应用程序中包含健康端点的常用方法。

这个要求是在容器化React应用程序以在Kubernetes环境中使用时提出的。

永远不要尝试将现有页面用作健康检查端点。因为,您的常规页面很重,健康检查端点需要很简单。

因此,使用/health(或首选路径(创建一个新路由,并返回一个简单的HTML元素。下面给出的是简单CCD_ 6组件。

<Route path="/health">
<h3>Hey There!!! The App is Healthy</h3>
</Route>

下面给出了在Routes.js文件中使用的方法。

import React from 'react';
import { Switch, Redirect, Route } from 'react-router-dom';
const Routes = () => {
return (
<Switch>    
{/* This endpoint will just return you to a dummy HTML with a simple heading tag */}
<Route path="/health">
<h3>Hey There!!! The App is Healthy</h3>
</Route>
{/* All other routes will be defined here */}
{/* Finally you will be redirected to a not found page */}
<Redirect to="/not-found" />
</Switch>
);
};
export default Routes;

上面的答案会起作用,但健康端点将包含所有index.html内容,这在技术上对健康端点来说是不必要的。

更好的方法是在公用文件夹中添加一个名为health的文件。然后,当调用/health时,服务将返回文件的内容,这会更快、更小。

最新更新