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

适用范围

本文主要针对中小型互联网公司,特别适用于手机APP或者pc的后台架构,基本可以支撑5万日活

本文会对可能用到的相关技术进行技术选型的说明,以及技术的架构介绍,技术架构的介绍课程后面有地址,可以点进去查看。

技术指标

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

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

业务数据 业务量,我们自己是新闻业务,可能会有其他的业务,比如游戏,商城等等,基本每天新增的业务数据都会在同一个量级, 每日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://www.roncoo.com/course/view/ae1dbb70496349d3a8899b6c68f7d10b

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云之翼

如何实现客户对象存储数据迁移到腾讯云COS

在云计算客户的拓展过程中,会面临客户的各种需求。其中最常见的需求包括,如何在云计算上构建客户的业务系统,搭建基础架构;另外一个就是如何实现客户数据...

1580
来自专栏java一日一条

大型网站架构体系的演变(下)

在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。

481
来自专栏腾讯云技术沙龙

董朝:打造云存储服务——移动端数据存储与分发

先做一个简单的自我介绍,2011年我毕业以后,一直从事IOS的开发,目前为止大概有七年的工作经验,前四年的时间主要在做APP里开发,之后三年主要做SDK相关的工...

53015
来自专栏IT大咖说

小米弹性调度平台Ocean——从PaaS到DCOS

1051
来自专栏云计算教程系列

什么是不可变的基础设施?

在传统的可变服务器基础架构中,服务器会不断更新和修改。使用此类基础架构的工程师和管理员可以通过SSH连接到他们的服务器,手动升级或降级软件包,逐个服务器地调整配...

80
来自专栏SDNLAB

OpenStack网络服务数据平面加速

大家晚上好。那我们开始吧。主要还是抛装引玉,互相学习交流。今天和大家分享下面一些内容: 1.关于openstack中VNF网络性能的一些思考和思路 2.相关的开...

3096
来自专栏程序员的SOD蜜

功能实现了软件就做好了吗?

    常常在问自己这样一个问题,也听到很多人都说“先实现功能”,也许在某种意义上不得不如此,但我认为这不是真正意义上的软件开发,实现功能重要,软件的维护更重要...

20610
来自专栏智能计算时代

「云计算」什么是不可变的基础设施?

在传统的可变服务器基础架构中,服务器会不断更新和修改。使用此类基础架构的工程师和管理员可以通过SSH连接到他们的服务器,手动升级或降级软件包,逐个服务器地调整配...

893
来自专栏北京马哥教育

从小公司,一路跌跌撞撞到腾讯,论高级DBA的自我修养!

专职做 DBA 已经 6 年多的时间了,一路走来,感触非常深。看同行、同事犯了太多的错误,同样我自己也犯了非常多的错误,然而绝大多数的错误其实都是很低级的错误。...

3958
来自专栏星流全栈

15个你必须知道的Facebook开源项目

1522

扫码关注云+社区