Introduction
与varnish类似的HTTP缓存服务器,主要的特性如下:
提供WEB的管理配置界面,简单易上手
支持br与gzip两种压缩方式,根据客户端自动选择。对于可缓存与不可缓存请求使用不同的压缩配置,更佳的时间与空间的平衡
仅基于
Cache-Control
生成缓存有效期,接口缓存完全由接口开发者决定,准确而高效(开发比运维更清楚接口是否可缓存,可缓存时长)配置支持文件与etcd两种形式存储,无中断的配置实时更新
支持H2C的转发,提升与后端服务的调用性能(如果是内网转发,不需要启用)
与upstream的调用支持
gzip
,brotli
,lz4
,snappy
以及zstd
压缩,可根据与upstream的网络线路选择合适的压缩方式支持upstream检测失败时回调告警,可及时获取异常upstream信息
支持自定义日志,可配置按日期与大小分割日志并压缩
LUR与持久化存储(可选)配合使用,可根据内存使用选择更小的LRU缓存并增加持久化存储的方式
持久化存储支持以下形式:badger(文件)、redis以及mongodb
启动方式
启动参数主要如下:
config
配置保存地址,可以指定为etcd或者本地文件,如:etcd://user:pass@127.0.0.1:2379/pike
,本地文件:/opt/pike/config.yml
admin
配置管理后台的访问地址,如:--admin=:9013
log
日志文件目录,支持单文件与lumberjack形式,如/var/pike.log
或lumberjack:///tmp/pike.log?maxSize=100&maxAge=1&compress=true
,lumberjack会根据文件内容大小与时间将文件分割
使用文件保存配置
TODO
缓存查询(如果缓存量较大,有可能导致查询性能较差,暂时未支持)
Last updated