免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2976 | 回复: 5
打印 上一主题 下一主题

[FastDFS] 希望余大能解惑一下,关于部署架构的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-11 21:04 |只看该作者 |倒序浏览
本帖最后由 chenhaimingwork 于 2014-07-11 21:05 编辑



最近 对 fastdfs 关注很多,准备生产环境使用 ,部署了测试环境:

1,使用了最新的 v5.0.1 版本 + centos6.5 x64 + LVS (vip ,port 80)
2,【tracker server】nginx 1.6(port 80,接受lvs 分发过来的请求,并反向代理到storage) + trackerd
3,【storage server】nginx 1.6(port 8080 ,最终返回结果给client)  + fastdfs-nginx-module_v1.16.tar + storaged



测试安装部署过程比较顺利,没啥问题 ,测试时的简易架构如下:

LB 负载均衡层 (就1台)          --------LVS vip -------  (port 80)

tracker group 层(就1组2台)  -----tracker A  ------ tracker B -------- (port 80 + 22122)

storage group 层(就1组2台) -----storage A  ------ storage B -------  (port 80 + 23000)



【测试结果】
测试上传 client.conf 填的2台tracker 的ip +port ,fdfs_upload_file 测试上传正常 !
测试访问 ,URL访问 lvs vip(port 80) 正常 ,访问任意tracker(port 80 )正常,访问任意storage(port 8080) 正常 ,整个流程都正常 !!!


然后我做了一个操作,把tracker 层和 storage层对应的fdfs_trackerd ,fdfs_storaged 服务都关闭 !!上传不行了(这个肯定的) ,但是读取访问居然还是一切正常 !
我就觉得完全是tracker上的nginx在起作用 ,尝试把tracker nginx分离出去,架构改成如下

-------------------- LVS ( vip  port 80  + port 22122)  -----------#代理了http 80 和  上传 22122


------------------- nginx proxy A ----------- nginx proxy B  ------------- #新增2台机器,这一层 nginx 反向代理是从tracker 独立出来的 !


-------------------- tracker A  --------- tracker B  --------------  #tracker 上不再有nginx ,只跑 fdfs_trackerd (port 22122)


-------------------- storage A ----- storage B  -------------- #这层没有变化


这样就是两条通路:
1, 上传 :   LVS vip (port 22122) --------> tracker 层fdfs_trackerd(port 22122) -----> storage 层fdfs_storaged(port 23000)
2, 访问 :   LVS vip (port 80)  ----------> nginx proxy (port 80) -----> storage 层nginx (port 8080)

    改成这样后,整个流程也测试OK  !!!

   所以请教余大 :

1,我看v5.0.1 版本配置文件里还有关于http的配置,这个版本还能用自带的web容器吗 ?我一直没配置成功   

2,读取访问难道完全和 fdfs_trackerd,fdfs_storaged 没有关系吗?(现在看到的现象完全是nginx在处理)
也就是说,完全是nginx 在实现整个fastdfs分布式系统 【读取访问】的负载均衡和高可用 !

而很多fastdfs技术文章里都有提到:客户端发出一个访问请求时,tracker因为会周期性收到storage 汇报的状态信息,【tracker 会查询可用的storage server 并返回其 ip  port给客户端】 ,这个过程是怎么实现的 ? 只是 nginx 在处理 ? 我上面第二个架构图,这么做对吗有问题吗 ?





















-------------------------------

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
2 [报告]
发表于 2014-07-13 11:35 |只看该作者
我说明一点,应该可以解决你的疑惑。
FastDFS for  nginx扩展模块并非强依赖FDFS集群。
只有在扩展模块启动的时候,会去询问tracker获取几个参数。除此以外,和FDFS集群再无交互。

论坛徽章:
0
3 [报告]
发表于 2014-07-25 16:16 |只看该作者
本帖最后由 chenhaimingwork 于 2014-07-25 16:17 编辑

回复 2# happy_fish100


   

余大 , 在 centos 5.6 x64 平台部署遇到下面错误, 版本 FastDFS_v5.01.tar.gz ,storage 和 tracker 2个角色在这一台上 !
(前期在centos 6.5 ,5.10 部署了好几套都正常OK ! ) :


tracker.log:

[2014-07-25 16:09:09] ERROR - file: tracker_nio.c, line: 225, client ip: 1.1.1.86, recv error event: 25, close connection


storage.log 对应的日志:

[2014-07-25 16:08:39] ERROR - file: tracker_proto.c, line: 37, server: 1.1.1.86:22122, recv data fail, errno: 4, error info: Interrupted system call



麻烦余大看一下什么问题, 是否是 bug  。。。














----------------------

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
4 [报告]
发表于 2014-07-27 19:38 |只看该作者
errno: 4, error info: Interrupted system call
这个错误提示很诡异啊!操作系统有问题?

论坛徽章:
0
5 [报告]
发表于 2014-07-29 09:56 |只看该作者
楼主。有点没看明白。tracker server不用走lvs的。没研究过源码,应该是轮询机制。我这。目前大概4组。总共大概120T的容量!

论坛徽章:
0
6 [报告]
发表于 2014-07-29 16:40 |只看该作者
回复 5# spihiker


你已经线上在用了么  ?
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP