214 Star 1.6K Fork 380

GVPhappyfish100 / FastDFS

2024-03-17 14:37
happyfish100

FastDFS v6.12.1发布,主要修复了适配IPv6 的bug,修复了生成的文件ID可能重复的问题。

详细的change log 如下:
specify the storage server ID for NAT network
connect to storage server failover with multi IPs
client.conf add config item: connect_first_by
bugfixed: parse ip and port use parseAddress instead of splitEx
bugfixed: fdfs_server_info_to_string support IPv6 correctly
proto fetch storage ids add field allow_empty
check filename duplicate by hashtable instead of file system access
log square quoted IPv6 address

v6.12.1是FastDFS最新稳定版本,建议大家尽快升级到这个版本。

最后提交信息为: remove compile warnings
2023-12-13 15:36
happyfish100

分布式文件系统FastDFS V6.11发布,主要改进包括:
1)支持IPv6,且支持IPv4和IPv6双栈模式。tracker.conf和storage.conf中增加了配置项address_family,默认为IPv4优先,具体配置说明参见源码 conf/下的配置示例。
2)修复了双IP方式支持NAT网络的问题。storage.conf 中增加配置项 server_id用来强制指定 storage server id;客户端支持storage server双IP之间的failover,可以通过client.conf中的配置项 connect_first_by 来设置建连策略。
3)libserverframe网络框架修复了和FastDFS配合不当的问题。

友情提示:

  • FastDFS V6.11依赖 libfastcommon V1.71 and libserverframe 1.2.1;
  • FastDFS server、client SDK和fastdfs-nginx-module需要同步升级(使用最新版本重新编译和安装,FastDFS相关的3个项目都要先执行./make.sh clean)。

FastDFS V6.11解决了V6.9.x遗留的bug,还解决了 NAT 网络IP映射机制导致storage server加入 tracker server失败或者建立连接失败等问题,欢迎有需要的朋友使用当前版本,使用过程中有任何问题和建议,欢迎随时反馈和交流。

2022-09-15 10:44
happyfish100

FastDFS V6.09 发布,主要改进:引入网络框架库 libserverframe,替换原有的 tracker nio 和 storage nio 两个模块。 2015 年 libserverframe 从 FastDFS 的 nio 模块抽取出来,现在 FastDFS 使用 libserverframe,使得代码更加简洁高效,并解决了由来已久的一个 bug:网络线程接收到客户端请求,把文件读写交给磁盘 IO 线程后,在磁盘线程处理过程中如果客户端断开连接,对应的网络线程将空转导致 CPU 跑满。解决方法是 task 对象使用引用计数器,网络线程和磁盘线程分别持有 task 对象(引用计数加一),各自处理完成后释放该 task 对象(引用计数减一),当引用计数为零时,才能将该 task 放回对象池。

V6.09 另外两点改进:
1)tracker server 和 storage server 均支持 -N 选项,表示程序在前台运行,而不采用传统的 daemon 运行方式,以方便和其他运维工具整合;
2)文件上传次数、文件下载次数等计数器不再采用线程锁,而是使用原子操作,这样代码更加简洁且性能更高。

FastDFS V6.09 依赖 libfastcommon 和 libserverframe 这两个基础库,欢迎大家下载使用,建议已有用户尽快升级到最新版本。

最后提交信息为: use atomic counter instead of mutex lock
2021-06-24 12:53
happyfish100

Version 6.07 2020-12-31

  • use libfastcommon V1.44
    NOTE: you MUST upgrade libfastcommon to V1.44 or later
  • correct spell iovent to ioevent follows libfastcommon
C
1
https://gitee.com/fastdfs100/fastdfs.git
git@gitee.com:fastdfs100/fastdfs.git
fastdfs100
fastdfs
FastDFS

搜索帮助