cdn

自建新论坛“冷月清谈”简介

最近一段时间基于discourse上线了一个综合性论坛http://www.xinfinite.net.

目前初期是收集一些私域的数据,并进行加工(主要是导读和互动问答,起名为冷月清谈怜星夜思),并最终呈现。预计涵盖AI,航空、酒店常旅客、信用卡,开发技术,游戏等。

开发

站在巨人的肩膀上,原则就是尽量减少开发工作,主要做了以下几方面的事情。

  1. 数据采集+调度
  2. 数据加工,样式转换,导读和互动问答生成
  3. 数据发布+调度
  4. 自动评论
  5. discourse插件,主要是还原数据采集部分的样式

导读和互动问答,使用了GPT-4-tube,发现成本太高,后换为Gemini-pro-1.5。

部署

考虑到用户体验和成本,方案如下
1. 主站域名解析至香港搬瓦工机房(2C2G),转发请求至oracle cloud(2C12G,ARM)。
2. 对外正式访问的图片和视频使用阿里云的oss,基于discourse的能力,采用s3的api写入,cdn为阿里云的全站加速,源站为oss。
3. 采集的原始资源存储在家用nas上,使用minio方案,对外使用cloudflare的cdn访问。

关于家宽

显然,生产环境使用家宽的不确定性很大。

但由于成本和技术栈等方面因素,我不太想与discourse和阿里云过于耦合,所以采用了家宽这种方案,具体如下。

  1. 数据采集时,将资源上传至本地nas,使用minio提供的s3接口。
  2. 数据的原始html中存储cloudflare的cdn地址,源站指向家宽中的minio地址。
  3. 将html数据写入discourse,discourse会将资源上传至阿里云的oss,并进行优化、压缩和路径替换。

采用这种方案没有浪费阿里云的加速带宽,后期也可以灵活替换服务商。

以上简单介绍了相关工作,如果各位对某些部分感兴趣,欢迎留言讨论。