Hi 你好,欢迎访问!登录
当前位置:首页 - Linux - 正文 君子好学,自强不息!

利用Haproxy+Varnish+OpenResty+FastDFS构建企业级图片缓存系统

2017-07-17Linux撒加3435°c
A+ A-

本方案核心基于轻量级分布式文件系统FastDFS构建,实现类似大部分公司对于图片的存储、缩放需求,一般URL类似这样https://xxx.xxx.xxx/group1/MXX/XX/XX/xxxxxxxxx.jpg_580x435.jpg。

方案中各开源组件的角色

1、OpenResty+LUA负责URL的解析以及对图片的原图本地缓存及缩放

2、Varnish负责缓存OpenResty上的原图及缩放图

3、Haproxy负责对Varnish进行负载均衡

4、Keepalived负责对Haproxy实现厘秒级failover的双机热备

5、FastDFS负责图片的存储

方案关键点

1、FastDFS Storage分3个Group,总共可提供裸容量为86.4T的容量,格式化后总容量为79.2T,用于存储数据的容量最大不超过95%。

2、OpenResty服务器可以根据实际需要增加PCIe-SSD硬盘来做图片的本地缓存及缩略图的存放

3、Varnish服务器首选使用内存作为缓存的malloc,当缓存数据超过物理内存时可以考虑增加PCIe-SSD硬盘作为Varnish的缓存malloc

4、Haproxy-->Varnish-->Openresty均启用长连接,降低TW/CLOSE-WAIT的连接数量。

5、Openresty+LUA处理图片可以通过fastdfs_download_file或者直接通过lua-resty-fastdfs访问FastDFS Tracker服务器来下载原图。

技术要点

1、Haproxy使用cpu-map实现多process功能、tcp-keepalive机制、SO_REUSEPORT、HTTP/2 APLN

2、Varnish启用多thread-pool、HTTP/2

3、Openresty启用SO_REUSEPORT功能、HTTP/2

4、服务器使用最新intel网卡驱动,并且做中断绑定

5、Keepalived启用VRRP V3、vmac、garp、snmp、virtual_routes、virtual_rules

6、启用Haproxy、OpenResty的TCP Fast Open功能(可选)


  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
利用Haproxy+Varnish+OpenResty+FastDFS构建企业级图片缓存系统

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录