创业公司技术架构详解
提纲
- []产品[/][]技术[/][]数据[/][]运维[/]
创业
核心:以产品为核心
团队人数:初创团队人数控制在10人以下,最佳是5,6人左右
技术选型:成熟技术,简洁高效解决问题
目标:快速完成beta 版本上线
[list=1][]Axure做产品原型;[/][]直接画草图 [/]产品中心
一切以简单为指标,能说明问题就行。
[list=1][]linux+apache(nginx)+mysql+php(CodeIgniter ,Symfony...) [/][]uwsgi+python(Django,Tornado,Pyramid...) [/][]mongodb+nodejs(Express...)[/][]java[/]语言框架
十万级PV
二台机器部署系统,传统web系统,LAMP。[attach]860[/attach]
[attach]861[/attach]百万PV
[list=1][]与传统web相比,移动出现多版本(1.0,2.0,3.0...),以及版本升级问题[/][]网络不稳定(3g,wifi)[/]移动系统问题
开源软件
负载均衡:lvs、haproxy、nginx
前端缓存代理:squid、varnish、ATS
web server :apache、nginx、Tomcat
cache:memcached、redis
关系型数据库:mysql、postgresql
文档型数据库:mongodb
nosql:Tokyo Cabinet、leveldb
全文检索:sphinx、lucene、solr
分布式搜索引擎:elasticsearch
中文分词:mmseg、ictclas
爬虫采集:scrapy
监控系统:nagios、cacti、zabbix 、Ganglia
推荐系统:mahout
消息队列:: zeroMQ、RabbitMQ、Kafka
异步作业队列:gearman
分布式文件系统:fastdfs、moosefs
项目管理:JIRA
知识共享:wiki、Confluence
代码管理:git、svn
移动统计数据:countly
分布式计算存储:mapreduce、hadoop还有好多好多,就不一一介绍了!
[attach]862[/attach][attach]863[/attach][attach]864[/attach]移动初始架构
[attach]865[/attach]统计数据可视化和推荐系统
[attach]866[/attach]监控
[list=1][]没有一层不变的架构,随着业务发展而变化 [/][]业务不同,架构不同,发现问题解决问题 [/][]保持简洁[/][]易于扩展,容错[/]架构感悟