初次使用 Golang 语言,编写一个简易的 HTTP 接口,用于接收 EdgeOne CDN 的实时日志。

通过前面的一遍文章可知,其实该建议接口已经编写完成几天的时间,只需不想连续有文章发布就拖延到今天。

月初下定决心注册并使用 EdgeOne 内容分发网络(CDN)服务,期间使用的过程中一切都还算是顺利,就是日志服务中遇到了一点难题。其提供的离线日志功能或因未完善信息无法获取到列表,且基于该原因也无法通过调用相对应的 API 接口获取日志列表。但好在的是当前情况下实时日志功能可以配置一条任务推送日志。

现在的问题就在于 EdgeOne 的实时日志功能当前仅提供‘推送至腾讯云 CLS’、‘推送至 AWS S3 兼容对象存储’、‘推送至 HTTP 服务器’这三种目的地。

针对以上场景诉求,EdgeOne 实时日志服务提供了日志的实时采集与推送的能力,可将您的日志推送到腾讯云日志服务(CLS)或您自建的数据中心内,帮助您自行实现对日志数据的灵活检索与分析。目前 EdgeOne 支持将日志推送到以下目的地:

  1. 推送至腾讯云 CLS:推送至腾讯云提供的一站式日志处理服务(CLS),可用于在 CLS 上进一步对日志做检索分析。
  2. 推送至 AWS S3 兼容对象存储:兼容 AWS Signature V4 鉴权方法的存储桶。
  3. 推送至 HTTP 服务器:通过 HTTP POST 请求将日志推送到指定的后端服务器。

鉴于前不久使用 Fastly CDN 的经验,在使用该 CDN 的实时日志推送时想到的就是‘推送至 AWS S3 兼容对象存储’这一目的地,但在使用中不由得发现貌似其不支持 URL 风格的 S3 的说?对此只有选择另外的方式推送实时日志或者是改用主机风格的对象存储服务。至于是选择什么方式就没过多选择,使用‘推送至腾讯云 CLS’或是换用‘主机风格的对象存储服务’的方式都需要额外的成本支出,最后只好选择‘推送至 HTTP 服务器’这一方式了。

对于‘推送至 HTTP 服务器’方式的文档当中有 Python 语言的简单实例代码,当我在用 AI 比对一下各语言的性能差异后遂决定选用 Go 语言编写一个接收日志推送的轮子。

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!