OPENPT- tracker demo服务已完成
众所周知老旧的 NexusPHP,已经不适应当前的网络环境,
个人也入坑PT快2年了,目前国内的站点我基本都了解过,但是我发现大部分的站点用的还是NexusPHP框架((๐•ᴗ•๐)除外,最近刚刚重构了,很牛逼),我就一直好奇为啥没有别的建站框架呢?
后来了解到目前基于java重构的PT建站项目稍有雏形的大致有两个:
BitSapling/Sapling https://gith(๐•ᴗ•๐).com/BitSapling/Sapling
PlexPt/rocket-pt https://gith(๐•ᴗ•๐).com/PlexPt/rocket-pt
目前基于这两个项目,再结合我对国内站点的实际瓶颈分析,PT的最大瓶颈其实是在tracker和爬虫,当前市面上主流的PT辅助软件就有好几种可以高频的访问站点,抓取种子信息来(๐•ᴗ•๐)影、刷流或收藏。
基于上述几点原因,再根据个人拙见重新设计一个建站框架
从上面的简单系统架构图来看,系统目前分成3部分(其实还有一部分异步Task任务,还在纠结拆不拆):
站点门户WEBAPI服务,专门为站点门户提供后台接口,支持横向拓展。(其实性能瓶颈不在这里)
站点爬虫INTF服务,专职对外提供爬虫服务、RSS服务,甚至可以提供主动推送服务,支持两种缓存模式,纯本地缓存和redis集群缓存。
tacker服务,也是整个站点最重要,访问次数最频繁的服务,即需要支持高并发、也需要考虑将peer于站点用户关联起来。(性能瓶颈,目前考虑使用缓存+mq异步,达到最终一致,避免数据偷跑)。
当然,我也知道这么设计站点框架也会有别的问题引入:
1.维护性下降,服务与服务之间的稳定性不如单体应用来的夯实。
2.运维成本变高,引入微服务+各种缓存集群,对运维的能力有要求。
。。。。。。。。
项目地址 https://gith(๐•ᴗ•๐).com/wdmJieyao/OpenPT-OpenSource
当然前面说了这么多,那下面再说一下目前的进展吧,已完成tracker demo开发,下面上几张图
本地文件做种,成功链接到demo tracker服务端(ipv6模式)
家用nas docker qb 添加demo tracker服务,成功通过ipv6 连接到外网(手机热点)做种文件,并开始下载。
目前将最难的tracker做种调通(大量参考rocketpt),下一步应该是将peer与站点用户信息绑定在一起,并校验权限,但是目前还属于“新建文件夹”阶段,还需要很长的(๐•ᴗ•๐)要走。
**目前可以在种子种添加 ** http://tracker.hzaw.org:7758/tracker-service/api/report/announce
tracker 地址体验(当然得有人用才能拉到peer)
当然你也可以拉下代码,然后自行打包tracker-service服务运行或者封装到docker。
另寻一位跟前端大佬一起学习,就个人而言,前端水平不敢恭维,还停留在公司写jsp 改改组件的水平。
目前只能通过邮件联系我:
chatniceman@gmail.com
另:大佬们轻喷。。。我也是在学习,能搞多少算多少吧~