400-123-4567

金年会·APP(SPORTS)官方网站

金年会新闻资讯
金年会app新闻资讯项目介绍发布日期:2023-09-25 23:02:59 浏览次数:

  这是一个新闻资讯类的app,平台主推新闻类型的咨询文章,主要面向新闻资讯类型的用户群体

  平台也会从长远角度考虑留存用户保发展,用户即价值,用户数据即资本,有了用户,分析用户喜好,就可以转化为非常大的商业价值

  平台admin,自媒体,文章,页面静态化服务,商业,评论,搜索,推送,实时计算,智能分析,爬虫,分布式任务调度xxl-job-admin,各系统网关服务,配置中心注册中心nacos,告警服务等

  自媒体端:发布文章,管理文章,素材库,粉丝管理,处理留言,资产管理,个人资料模块,商业操作模块等

  平台后台:自媒体资质审核,实名认证管理,资讯审核,商业广告管理,网站数据,频道,敏感词等

  用户app端:搜索文章,查看详情,广告栏,打赏,评论文章,点赞,关注,推荐栏等

  springCloud微服务架构,Mybatis数据访问技术,有用到微服务网关,nacos注册配置中心,xxljob分布式定时任务,kafka及kafkaStream消息队列跟实时流计算,全文搜索技术ES,缓存Redis技术,MySQL,MongoDB等。

  当自媒体用户提交发布文章后,会发消息给kafka提交审核,平台运营端会接收文章信息

  如果当前文章状态码为4(人工审核通过),则无需再进行自动审核,保存app文章相关数据即可

  调用阿里云文本反应垃圾服务,进行文本审核,如果审核不成功或需要人工审核,修改自媒体文章状态

  调用阿里云图片审核服务,如果审核不通过或者需要人工审核,修改自媒体文章状态

  自媒体文章发布时间大于当前时间,修改自媒体文章状态为8(审核通过待发布状态)

  自媒体人保存文章并发布 - kafka 消息 - 异步进入自动审核流程 - 幂等校验是否已经审核,是否需要再审核金年会app,如果不需要则直接确认消息 - 平台端敏感词匹配(DFA算法需要了解,敏感词库需要加载到程序内存map缓存) - 阿里云 云盾 服务(图片检测、文本检测)- 通过、不通过(记录原因驳回)、review(转人工再审) - 若通过则进入发布流程 - 是否到达发布时间 - 如若未到达,则结合 xxl-job 做定时发布(1分钟一次扫描审核通过待发布并且已经到达发布时间的文章)- 进入发布流程细节 - kafka异步消息 -1、 搜索服务,增量索引文章数据到ES(文章标题、封面图、作者信息、发布时间);2、用户端文章服务,将文章数据从自媒体端同步过来;3、页面静态化服务,将文章详情数据跟文章详情HTML模板执行页面静态化程序生成完整的文章详情html文件保存到文件服务器(可以参考,课程中是直接查询的数据库未使用页面静态化)。

  ES搜索功能是二期上线的功能,考虑到一期有已经上架的留存文章,所以在es搜索服务上线后,先用一次性脚本,对MySQL用户端已发布上架的文章做一次全量同步,索引文档到资讯文章索引库。主要字段:文章标题、封面图片、作者信息、发布时间。然后在文章发布阶段,会对具体发布的文章做增量同步索引。具体搜索,会用ES QueryString 根据用户输入关键字分词匹配 文章标题及作者,根据匹配度得分,分页输出匹配到的结果列表。然后在列表点击文章就可根据文章id找到对应的静态化html文件,展示文章详情,还会调用一些动态数据接口,获取文章点赞、评论、或侧边栏推荐、广告等数据。

  每天凌晨1点对前5天发布的文章按批量计算。计算文章热度得分,排序,取热点文章存

  ,根据该文章对应的用户行为数,按不同的权值得分(一次点赞5分、一次收藏10分...)分别计算每篇文章的得分数(

  ,用文章的 热度得分 进行 比较。然后将 每个频道下的文章进行排序,取前50条,存储到

  根据 用户对文章产生的 实时行为数据做实时流计算。计算文章热度得分,比较Redis最低得分,更新Redis热点文章。

  具体:用户对于文章的行为操作数据,会利用kafka消息队列,发送消息(1001,1(1代表点赞、2代表收藏...)) 传递到 实时流处理器,处理器接收到 数据后,会开启 10s的时间聚合窗口,每10s一次聚合,然后将kv合并成新key后进行分组统计,会得到(1001,{type:1,num:3})-- 文章1001在这10s内被点赞了3次这样的聚合后数据,然后下游会根据聚合结果按不同的权值进行计算,累加当前文章的当前热度得分,然后跟所在频道下的redis zset中最小的得分进行比较,如果大于最小得分,则替换掉。(如果已经存在则更新得分即可),然后 类实时 更新 当前文章的 被点赞次数、被收藏次数...

  还做了许多其它的后台模块,如 平台后台端 频道管理、敏感词管理、用户管理、用户审核、文章人工审核、网站数据、爬虫文章库管理等,基本上都是一些业务不是特别复杂的CRUD操作,大量的搬砖工作,没有太多技术含量,较简单,对于这些模块,自己可以独立分析需求独立定义接口实现具体业务开发。金年会app金年会app