ReHTTP.net—HTTP Repeater

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

几周前,我在我的一个网络应用0pdd.com上遇到了一个问题。这个应用应该接收来自GitHub的HTTP请求(也被称为webhooks),但有时应用会崩溃,GitHub会收到一个HTTP错误,然后再也不会发送请求。这个请求就这样丢失了。一旦应用重新启动,就没有任何办法再次接收它。我意识到我需要在GitHub和我的网络应用之间建立一个服务网格,以接受HTTP请求并在无法立即传递时稍后重复传递。

我创建了rehttp.net来实现这个功能。

你看,我一直给GitHub提供的URL是这个:

从现在开始,必须使用新的网址:

看起来非常相似,但以 https://www.rehttp.net/p/ 开头。GitHub将所有Webhook的PUT/POST请求发送到ReHTTP服务器,该服务器将其存储在临时数据库中(我正在使用AWS DynamoDB)。

ReHTTP会立即尝试发送这些请求。如果出现问题,服务器的HTTP响应代码不在200-299范围内,则下一次尝试将在大约一小时后进行。然后它会每小时重试一次,持续大约一天。如果所有尝试都失败,它将放弃该请求,就这样。

有趣的是,现在我可以在这里看到我的API的摘要。我可以看到过去24小时内成功处理的请求数量以及失败的请求数量。此外,我还有这个可爱的按钮:

我有一个用来检查整个API状态的URL。

我将此URL提供给StatusCake,以便每五分钟进行ping测试。如果出现问题,StatusCake将通过电子邮件和手机短信通知我。

ReHTTP是完全免费的。它使用Java编写,代码是开源的。如果您发现任何错误或者只是想添加一个功能,请查看其GitHub存储库并进行贡献。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-27 at 04:49

sixnines availability badge   GitHub stars