创业公司技术架构
云峰
提纲
• 产品
• 技术
• 数据
• 运维
about me
c,php,python
创业者,技术和产品狂热爱好者
创业经历从笔记百科-->手写识别-->找人搜索-->淘米校
巴sns-->移动互联(语音360,好友美食)
创业
核心:以产品为核心
团队人数:初创团队人数控制在10人以下,最佳是5,6人左右
技术选型:成熟技术,简洁高效解决问题
目标:快速完成beta 版本上线
产品中心
做产品原型
2.直接画草图
一切以简单为指标,能说明问题就行。
语言框架
+apache(nginx)+mysql+php(CodeIgniter ,
Symfony...)
+python(Django,Tornado,Pyramid...)
+nodejs(Express...)
十万级pv
二台机器部署系统
传统web系统,LAMP
百万级pv
移动系统问题
1.与传统web相比,移动出现多版本(,,...),以及版本升级
问题
2.网络不稳定(3g,wifi)
开源软件
负载均衡:lvs,haproxy,nginx
前端缓存代理:squid
web server :apache,nginx
cache:memcached,redis
关系型数据库:mysql,postgresql
文档型数据库:mongodb
nosql:Tokyo Cabinet,leveldb
全文检索:sphinx,lucene,solr
分布式搜索引擎:elasticsearch
中文分词:mmseg,ictclas
开源软件
爬虫采集:scrapy
监控系统:nagios,cacti,zabbix
推荐系统:mahout
消息队列:: zeroMQ
异步作业队列:gearman
分布式文件系统:fastdfs,moosefs
项目管理:JIRA
代码管理:git
移动统计数据:countly
分布式计算存储:mapreduce,hadoop
移动初始架构
cache,db
实时索引搜索
统计数据可视化和推荐系统
监控
架构感悟
1.没有一层不变的架构,随着业务发展而变化
2.业务不同,架构不同,发现问题解决问题
3.保持简洁
4.易于扩展,容错
Thanks!