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

适用范围

本文主要针对中小型互联网公司,特别适用于手机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 条评论
登录 后参与评论

相关文章

来自专栏Java编程

15个顶级Java多线程面试题及答案

在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务...

1.6K1
来自专栏BeJavaGod

分布式系统的那些事儿(一)

巨石应用在如今互联网+时代逐渐淘汰,而分布式系统,集群,微服务可谓现在的流行趋势。那么近期花点时间来讲讲分布式系统吧。 什么是分布式系统,很多人一直不理解,只知...

3316
来自专栏Golang语言社区

全球同服架构设计

刚好做过几款类似的全球唯一服的服务器,就简单谈谈,不好莫怪。 首先,游戏服务器是IO密集型服务器,它的主要瓶颈在网络IO,而不是CPU,这点要记住了。所以经常...

3648
来自专栏架构之美

以IM为例看58同城典型技术架构演变

1284
来自专栏章鱼的慢慢技术路

游戏服务器架构概要

方案:切分xysvr,让多个scene分别服务于一些用户,world负责拉取数据。并协调控制多scene。

902
来自专栏美团技术团队

支付通道自动化管理的实践之路

随着支付业务量激增,支付团队不断壮大,为了满足日益增长的业务需求,大量的支付通道逐渐接入,但由于对接的各银行和第三方系统的稳定性参差不齐,支付通道故障时有发生,...

3286
来自专栏北京马哥教育

你一定不相信,鹿晗表白后背锅的程序员是我

时间倒回到10月08日,中午吃饭刷着刷着微博发现微博突然挂了。 我一开始以为是家里网不好,后来换了流量刷还是刷不出内容,并且报error,我就知道微博应该是挂了...

33110
来自专栏互扯程序

千万级规模高性能、高并发的网络架构经验分享

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

996
来自专栏不止思考

架构设计之「服务限流」

上一篇我们聊过了架构设计中的「服务隔离」模式,今天我们继续来探索一下在分布式系统架构中的另一个常用的设计:服务限流。

703
来自专栏恰同学骚年

《大型网站技术架构》读书笔记一:大型网站架构演化

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。

711

扫码关注云+社区