创业互联网公司如何搭建自己的技术架构

2020 年 6 月 20 日

创业互联网公司如何搭建自己的技术架构

适用范围


本文主要针对中小型互联网公司,特别适用于手机 APP 或者 pc 的后台架构,基本可以支撑 5 万日活。本文会对可能用到的相关技术进行技术选型的说明,以及技术的架构介绍。


技术指标


说一下一些技术指标的计算过程可以作为其他同学的参考


QPS, 如果是 5 万日活,使用集中在每天的 4 小时,每个用户大概产生 100 的请求,那么平均下来,我们系统大概应该支撑的请求为:50000 * 100 / (4 * 60 * 60) = 350 qps/s


(注意 QPS 和 TPS 要计算一下峰值)


业务数据 业务量,我们自己是新闻业务,可能会有其他的业务,比如游戏,商城等等,基本每天新增的业务数据都会在同一个量级, 每日 10000, 另外跟用户相关的信息也是比较大的一块,比如用户的订阅等行为,一共 5 万的用户,保存相关信息可能大概需要 100 条的数据。


缓存大小 主要业务数据和用户相关的热点数据限时保存在缓存中, 大概需要 5 个 G 左右。


日志大小 用户日志和请求日志。大概每天 3 个 G 左右


技术架构



整体架构因为是小公司,我们基于阿里云来搭建,对图中的内容和技术选型进行一下说明:


负载均衡


可选方案:SLB, Nginx.


SLB 要收钱,但是比较便宜,有保证,不会挂。但是可配置的很少,不能根据域名做 ip 映射


Nginx, 没啥缺点,需要一定的知识。


建议:SLB + Nginx, SLB 绑定域名作为统一的入口,然后每个服务器上再搭建 Nginx.


CDN


用于缓存静态文件等等。七牛和阿里的都还可以。


七牛要做的久一点, 各种图片处理的接口要完善一些


阿里的 CDN 要稍微好一点点, 但是没有不安全的访问方式,访问稍微没有那么灵活。图片处理功能弱一点。


分布式调用框架


目前可选的有 ZK + dubbo. ZK + Motan, ZK + dubbox, edas。


dubbo, 阿里的服务治理框架,几年前重启


dubboX, 当当基于 dubbo 搞的,还在维护可以一用,推荐。


Motan, 微博的服务治理矿建, 刚开源,需要学习一下, 推荐。


Edas, 阿里云服务


MQ


可选的有:ActiveMQ, rocketMQ, robbitMQ,Kafka


各有好处, 但是考虑到运维的难度,推荐 rocketMQ。


Redis


用来做缓存, 自建成本有点高,需要 Codis, 分片,集群,主从等等,很麻烦。建议直接用阿里的


数据库


主要基于读写分离和主从复制考虑,目前可以自建和选用阿里的 DRDS。


DRDS 要花钱,成本较高,没有必要


自建, 不用中间件,直接 1 写 2 只读, 然后配置读写分离的数据源,内网 SLB 进行读集群。解决之。


搜索


建议 ELK, 可以自动同步数据库,除了搜索引擎的功能外,还可以做日志搜索,监控系统。


一些典型的业务场景说明


把业务底层做成 SOA 模块,通过分布式调用框架对外提供服务。


后期进行 SOA 到微服务的改造都会涉及。


单独做一个小的系统来运行定时任务


热点数据放缓存,然后通过 MQ 来更新缓存


日志等数据有必要可以考虑上个 Mongo


参考:http://developer.51cto.com/art/201710/553642.htm


2020 年 6 月 20 日 18:36113

评论

发布
暂无评论
发现更多内容

Python进阶——如何正确使用魔法方法?(下)

Kaito

Python

OAuth 2.0授权框架详解

程序那些事

OAuth 2.0 程序那些事 Oauth 授权框架 安全框架

怎么做好一场分享或者培训

fq

一次浪费时间的面试

escray

面经 大龄程序员 面试经历 101次面试

第十周作业

Geek_4c1353

极客大学架构师训练营

训练营第五周作业

爱码士

训练营

高速二维码报警定位系统开发,智能报警系统

13530558032

上周我面了个三年 Javaer,这几个问题都没答出来

yes的练级攻略

面试 RPC HTTP

JVM Metaspace内存溢出排查与总结

Java老k

Java OOM 内存溢出 metaspace

《华为数据之道》读书笔记:第1章 数据驱动的企业数字化转型

方志

数据中台 数据湖 数据治理

2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声

京东智联云开发者

程序人生

前端如何实现一键截图功能?

徐小夕

Java 前端 React 前端训练 前端进阶

DocView 现在支持自定义 Markdown 模版了!

程序员小航

markdown IDEA idea插件 文档生成

《华为数据之道》读书笔记:序言

方志

数据中台 数字化转型 数据治理

贼好用,冰河开源了这款精准定时任务和延时队列框架!!

冰河

redis 中间件 消息队列 延时队列 Zset

《码出高效:Java开发手册》,每一位想要成为优秀开发工程师的程序员必须要看的一本小册!

Java架构之路

Java 程序员 架构 面试 编程语言

新图灵测试背后,智能交互点燃了哪些产业可能性?

脑极体

贞炸了!上线之后,消息收不到了!

楼下小黑哥

Java RocketMQ MQ

架构师训练营第 1 期第 10 周作业

业哥

乘上这艘“智能体”之舟,即刻前往智慧未来

脑极体

Java踩坑记系列之线程池

Java老k

Java 线程池

架构设计:高并发读取,高并发写入,并发设计规划落地方案思考

互联网应用架构

高并发读,高并发写

甲方日常 55

句子

工作 随笔杂谈 日常

训练营第5周学习总结

爱码士

训练营

区块链商品溯源系统开发,数据上链应用落地方案

WX13823153201

五年Java开发经验,裸辞准备半月面试阿里,阿里巴巴却“不讲武德”,居然面了我7轮,历经千辛万苦终于斩获P7及Offer

Java架构之路

Java 程序员 架构 面试 编程语言

一位Java程序员在上家公司CRUD了3年,金九银十想要跳槽面试却屡屡碰壁,感觉很迷茫!网友:这是你安逸太久技术能力跟不上了!

Java架构之路

Java 程序员 架构 面试 编程语言

奉劝各位Java工程师都要学习这份阿里内部绝密《百亿级并发系统设计》实战教程,大厂面试官可“不讲武德”!

Java架构之路

Java 程序员 架构 面试 编程语言

MySQL选错索引导致的线上慢查询事故

Zhendong

Java MySQL

“新鲜出炉”阿里面试终极指南V3.0,符合一线大厂面试点需求

小Q

Java 学习 编程 架构 面试

区块链赋能医疗行业,区块链医疗应用场景开发

13530558032

创业互联网公司如何搭建自己的技术架构-InfoQ