欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

小红书 MVP 系统架构和技术选择(一)

最编程 2024-03-28 12:26:47
...
  • 服务端
    • servicer:Python+Flask
    • 设计模式:
      • 分层:Data、DAO、Business
      • 备选:消息队列
    • 数据库:MySQL,备选:HDFS
      • 笔记数据
      • 用户笔记互动数据
      • 用户数据
      • 用户关系数据
      • 话题数据
    • CURD:restful规范
      • 笔记
      • 用户
      • 话题
      • 评论:reddit时间衰减排序
    • 用户日志存取:Redis+MySQL,备选:Flume+Kafka
      • 存储到Redis中,定时同步到MySQL
    • 搜索模块
      • 全文搜索:jieba+TFIDF+Redis,备选:ElasticSearch
      • 候选词推荐:trie树
      • 热门搜索:Redis
    • 后台管理模块:jinjia2渲染+boostrap库
      • 基于敏感词过滤的审核+人工审核,包括笔记、评论、用户名等
      • 图片使用第三方工具
    • 图片存储与CDN:第三方,七牛云
    • 安全
      • 使用第三方登录,避免密码管理
      • session管理
    • 降级
      • 只支持浏览笔记
  • 推荐系统:TensorFlow+gensim
    • 为你推荐
      • 召回:
        • embedding+faiss
        • neuralCF,基于TensorFlow+docker
        • ItemBasedCF
      • 排序
      • 补充策略:打散+热点补充
    • 相似推荐:embedding+faiss
    • 热门推荐:Redis
    • 冷启动
      • 物品冷启动:物品embedding+faiss
      • 用户冷启动:
        • 规则判断:热门
    • 用户推荐:
      • 用户embedding
      • 规则判断:热门
    • 话题推荐:话题embedding
    • 降级
      • ItemBasedCF推荐
  • 客户端:iOS(OC)+Android(Java)
    • 页面结构:首页、发现页、个人主页、搜索页
    • 主要功能:浏览笔记、发布笔记、互动、数据管理、日志系统、分享,备选:IM,LeanCloud
    • iOS:布局主要使用UICollectionView;开源库包括AFNetworking、SDWebImage、ZFPlayer、JXPagingView、TZImagePickerController、MJRefresh、YYModel等
    • Android:布局主要使用RecyclerView、tablayout;开源库包括gson、okhttp3、glide、matisse、jiaozivideoplayer
  • 前端:仅用于分享,不专门开发
    • jinjia2+boostrap实现详情页
  • 语言
    • Python
    • Objective C
    • Java
    • SQL
    • HTML
  • 开发工具
    • Mac
    • IDE:PyCharm+Anaconda
    • 调试:Chrome+Postman+Charles
    • 数据库开发:VSCode+DBeaver
    • iOS:Xcode
    • Android:Android Studio
    • 版本管理:Git
  • 参考资料
    •  《深度学习推荐系统》
    • 《推荐系统实践》
    • 《Flask Web开发实战》
    • 《Python大数据分析与机器学习商业案例实战》Sklearn
    • https://www.tensorflow.org
    • 天池推荐系统baseline
    • 《iOS从入门到实战》
    • 《第一行代码》Android
    • 网络教程:Redis、Python、SQL、pandas、bootsrap
  • 推荐阅读