简介
项目主要分为web工程、后台业务逻辑、数据库缓存、推荐系统、分布式爬虫
项目开发流程记录
基础部分
- maven框架搭建、多模块、私服
- 域名、免费空间,腾讯云
web部分记录
- restful风格设计(json数据优化)
- mvc框架spring mvc或者spring boot
- 第三方认证OAUTH
- comment长连接
- session处理
- python tornado实现web工程
- blade、rest.li强大的rest框架
- 自建mvc框架,http服务器
- http优化、传输压缩(zip)
web页面
- 前端MVC/MVVM Backbone、angularJS
- 组件化,react.js
后端业务逻辑
- thrift框架使用(分布式通讯应该采用什么)
- 消息队列的使用,分布式消息队列实现(zbus)
消息队列和消息应用状态表,用消息队列和消息应用状态表来消除分布式事务
数据库缓存
- J2Cache开源中国
Android客户端
- react
大数据处理框架
- storm、Hadoop、flink、Presto
PB级数据能力的计算框架 - kaggle中的应用
- python数据处理
算法方面
- 推荐系统
通过你的喜欢、关注,标签的使用情况,推荐出更多你感兴趣的人与内容。 - 搜索系统 Elasticsearch
系统支持
- 负载均衡 ngnix
- 日志系统
flume日志收集系统,利用日志系统可以对应用进行相应的大数据分析 - 服务发现和治理
- 运维系统(通知服务)
Zabbix一种分布式系统监控以及网络监控功能的企业级开源中间件 - 性能分析框架、性能监控平台
爬虫
- 分布式爬虫系统
笔记记录
系统主要是前台后台,后台采用micro-service实现,分布式实现主要是几种——rpc、thrift、消息队列,在分布式服务化中常见的问题是如何实现治理服务,在Java语言中有zookeeper,但还是不够
SmartStack是一个非常简单地实现方式,但是它很好的解决了分布式系统中服务的发现与注册问题。SmartStack通过nerve进行服务的注册以及注销,通过synapse + local haproxy的方式进行服务的发现。如果一个client要访问对应的服务,只能通过local haproxy,这里local haproxy有点类似于中心化的负载均衡器,但是它仅仅限于本机,所以不存在DNS以及单点等问题。
参考文章
- SmartStack Airbnb的自动服务发现和注册框架
- 豌豆荚开源codis
- 前端组件化开发实践
- 基于Flume的美团日志收集系统(一)架构和设计
- Presto实现原理和美团的使用实践
- 美团性能分析框架和性能监控平台
- 美团推荐算法实践