创业公司技术架构详解

Anthony 2016-03-13

原创 2016-03-11 茹云峰 OpenSkill

提纲

  • 产品

  • 技术

  • 数据

  • 运维

创业

核心:以产品为核心
团队人数:初创团队人数控制在10人以下,最佳是5,6人左右
技术选型:成熟技术,简洁高效解决问题
目标:快速完成beta 版本上线

产品中心

  1. Axure做产品原型;

  2. 直接画草图 

一切以简单为指标,能说明问题就行。

语言框架

  1. linux+apache(nginx)+mysql+php(CodeIgniter ,Symfony...) 

  2. uwsgi+python(Django,Tornado,Pyramid...) 

  3. mongodb+nodejs(Express...)

  4. java

十万级PV

二台机器部署系统,传统web系统,LAMP。

创业公司技术架构详解

百万PV

创业公司技术架构详解

移动系统问题

  1. 与传统web相比,移动出现多版本(1.0,2.0,3.0...),以及版本升级问题

  2. 网络不稳定(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

还有好多好多,就不一一介绍了!

移动初始架构

创业公司技术架构详解

创业公司技术架构详解

创业公司技术架构详解

统计数据可视化和推荐系统

创业公司技术架构详解

监控

创业公司技术架构详解

架构感悟

  1. 没有一层不变的架构,随着业务发展而变化 

  2. 业务不同,架构不同,发现问题解决问题 

  3. 保持简洁

  4. 易于扩展,容错

相关推荐