CDN软件 CDN系统 开发进度2

这是一个功能都可以正常使用的产品原形,暂时还无法商用
只是跟大家分享下开发进度

相关介绍见之前的

这次更新实现了
1. 免费LE数字证书支持
这块和域名绑定有冲突, 所以做了个改动, CDN资源附加绑定域名的时候,要求先解析好
这样才能开启免费证书, 不然证书验证会错
解决验证的方式也很暴力, 直接将验证目录反向代理到主控端, 这样就能找到验证文件了
支持HSTS和HTTP2是否开启

2. 安全这个想了个逻辑
预定义2个cname域名, 一个正常服务器群组, 一个高防群组
正常网站解析到 第一个
如果用户选择了 “我正在被攻击”, 就将网站解析更改到第2个高仿
这个可以在ELK的机器学习里进行联动处理, 把日志作为数据源喂给ELK,然后进行学习
比如特定网站同期访问激增,UA或者IP都是带有SPAM标记就切换解析
具体逻辑还需要考虑
WAF 爬虫 跨域鉴权 都设置了选项了

3. 限制
增加了单站点的全局限制, 比如现在速度,突发请求,频率, 月流量限制等等

4 缓存
缓存增加了内容缓存文件失效时间
浏览器缓存失效时间
缓存模式, 动态还是静态 带不带参数这些

还有些杂七杂八的 比如BR压缩, 开发者模式 那些也计划增加

图片就是这些了





关于Helone小伙伴说的问题
1. 为什么使用nginx 而不使用 openresty的问题
这个是可选的,本质上NGINX+LUA模块已经实现lua的正常支持,并无什么区别

2. 这个设计目标本身不是给中小站长用的,是单客户内部使用的

3. 什么方案并不重要, 现阶段主要是实现产品原形
商业用途后端也许会使用其他语言, PHP只是开发快而已

4. 规则如下面的图, 会预定义一些规则
规则这个会非常麻烦
主要涉及 if match action,
比如这里的if 还涉及优先级等等
所以暂时的没那么复杂的计划

5. CF本身就有参考,但是我们和CF不是一个东西
我们的这个没有那么复杂, 毕竟没BGP DNS IP
这个绝对满足不了期待的, 并且就算给开发个CF Clone, 也没人有资金投入硬件和带宽来运营
本身是伪命题

6. MYSQL这个不接受反驳
你对这个日志数据量可能产生误差了, 这个是以大数据标准来做考虑的

首先MYSQL和ELK不是一个级别的东西,本身用途不一样
MYSQL本身不适合存储日志类型的记录
日志类型表现在数据量大并且写入数据量要求高
MYSQL的写入性能有目共睹的, 而且部分操作会锁表,可能产生各种问题

我举个例子,这个是我们其中几台业务服务器, 平均每台处理了5000万请求





这里是5台机器, 5×5000万 = 2.5亿条日志记录
你试试往mysql插2.5亿记录, 试试查询效率
更不要说我们定制的日志格式还包括GEO Ponit 这种行业信息, 比如访客国家,城市,ISP这些

你可能对ELK有些误会, ELK的表现优异在集群上,本身不是为单机设计的东西
如果你做好索引和定义数据类型,100亿条日志,几秒就定位查询出来

这个是本身计划的是行业应用,可选开或者关闭
就拿我们自己来说,对数据的分析需求还是比较大的
通过分析访问日志,我们知道产品使用时间段,设备类型,高峰期时间段
所以目前阶段, 这种还是ELK的方式比较靠谱

相关:

  • mood8m6
  • solidaxh

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to top