毕设题目-基于社交网络的推荐系统

Posted by yueLng on 2016-05-06

简介

项目主要分为web工程、后台业务逻辑、数据库缓存、推荐系统、分布式爬虫

项目开发流程记录

基础部分

  1. maven框架搭建、多模块、私服
  2. 域名、免费空间,腾讯云

web部分记录

  1. restful风格设计(json数据优化)
  2. mvc框架spring mvc或者spring boot
  3. 第三方认证OAUTH
  4. comment长连接
  5. session处理
  6. python tornado实现web工程
  7. blade、rest.li强大的rest框架
  8. 自建mvc框架,http服务器
  9. http优化、传输压缩(zip)

web页面

  1. 前端MVC/MVVM Backbone、angularJS
  2. 组件化,react.js

后端业务逻辑

  1. thrift框架使用(分布式通讯应该采用什么)
  2. 消息队列的使用,分布式消息队列实现(zbus)
    消息队列和消息应用状态表,用消息队列和消息应用状态表来消除分布式事务

数据库缓存

  1. J2Cache开源中国

Android客户端

  1. react

大数据处理框架

  1. storm、Hadoop、flink、Presto
    PB级数据能力的计算框架
  2. kaggle中的应用
  3. python数据处理

算法方面

  1. 推荐系统
    通过你的喜欢、关注,标签的使用情况,推荐出更多你感兴趣的人与内容。
  2. 搜索系统 Elasticsearch

系统支持

  1. 负载均衡 ngnix
  2. 日志系统
    flume日志收集系统,利用日志系统可以对应用进行相应的大数据分析
  3. 服务发现和治理
  4. 运维系统(通知服务)
    Zabbix一种分布式系统监控以及网络监控功能的企业级开源中间件
  5. 性能分析框架、性能监控平台

爬虫

  1. 分布式爬虫系统

笔记记录

系统主要是前台后台,后台采用micro-service实现,分布式实现主要是几种——rpc、thrift、消息队列,在分布式服务化中常见的问题是如何实现治理服务,在Java语言中有zookeeper,但还是不够

SmartStack是一个非常简单地实现方式,但是它很好的解决了分布式系统中服务的发现与注册问题。SmartStack通过nerve进行服务的注册以及注销,通过synapse + local haproxy的方式进行服务的发现。如果一个client要访问对应的服务,只能通过local haproxy,这里local haproxy有点类似于中心化的负载均衡器,但是它仅仅限于本机,所以不存在DNS以及单点等问题。

参考文章

  1. SmartStack Airbnb的自动服务发现和注册框架
  2. 豌豆荚开源codis
  3. 前端组件化开发实践
  4. 基于Flume的美团日志收集系统(一)架构和设计
  5. Presto实现原理和美团的使用实践
  6. 美团性能分析框架和性能监控平台
  7. 美团推荐算法实践