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

适用范围

本文主要针对中小型互联网公司,特别适用于手机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://developer.51cto.com/art/201710/553642.htm

原文地址:https://www.cnblogs.com/Jashinck/p/10447858.html

时间: 2024-11-08 22:16:51

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

【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构 一、业务发展驱动数据发展

一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案不够健壮,那么数据库服务器很有可能在高并发访问负载压力下宕机,造成数据访问服务的失效,从而导致网站的业务中断,给公司和用户造成双重损失.那么,有木有一种方案能够解决此问题,使得数据库不再因为负载压力过高而成为网站的瓶颈呢?答案肯定是有的. 目前,大部分的主流关系型数据库都提供了主从热备功能,通过配置

中大型移动互联网公司技术架构选择(转载)

原文地址:http://2014.54chen.com/blog/2014/03/05/ihaveadream/ 总体思考 总结这些年经验,进行构架演进的方向选择时,大致要做到下面的目标: 可快速开发部署 (五分钟写出来一个经过测试的hello world并可访问/调用,并可在公网访问) 天然可扩展(业务层无状态,尽可能全部放到最后) 自动化(内存不足了,除了报警,应该自动加点机器进去; 新的项目,基础代码应该都不用写,自动生成即可) 框架化(公共层面的东西尽可能框架化,一层类似日志.count

某互联网公司广告平台技术架构

某互联网公司广告平台技术架构 演化 水平扩展一切 并行化,异步调用 演化 Randy的可扩展架构7原则 ? 按功能分区(Partition by Function) ? 水平切分 ? 避免事务 ? 异步解耦 ? 次序流改进为异步 ? 虚拟化所有层次 ? 适当使用缓存 原则 ? 先业务,后技术:先逻辑,后物理 ? 奥卡姆剃刀:如无必须,勿曾实体 ? 正交性:分解出模块无职责的重复 ? 稳定性原则:稳定和易变的分解   技术 -接口 -消息队列 -模块化,服务化 -异步化 -------------

一张图概括互联网公司的标准技术架构

大部分人对于BAT的技术有一种莫名的崇拜感,觉得只有非常牛逼和天才才能做出现在的这些系统,但经过前面两篇博文的分析,我们可以看到其实并没有什么神秘的力量和魔力融合在技术里面,而是业务的不断发展推动技术的不断发展,一步一个脚印,持续几年甚至十几年的发展,才能达到当前技术复杂度.先进性.牛逼度. BAT解密(一):聊聊技术发展的驱动力 BAT解密(二):聊聊业务如何驱动技术发展 抛开BAT各自差异很大的业务,站在技术的角度来看,其实BAT的技术架构基本是一样的,再将视角放大,你会发现整个互联网行业的

JavaWeb网站技术架构

JavaWeb网站技术架构总结 题记 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充(附带架构装逼词汇). 俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的,当然对于我们开发人员来说,一个好的架构也不是一蹴而就的. 初始搭建 开始的开始,就是各种框架一搭,然后扔到Tomcat容器中跑就是了,这时候我们的文件,数据库,应用都在一个服务器上. 服务分离 随着系统的

《大型网站技术架构:核心原理与案例分析》笔记

目录 · 大型网站软件系统的特点 · 大型网站架构演化发展历程 · 初始阶段的网站架构 · 需求/解决问题 · 架构 · 应用服务和数据服务分离 · 需求/解决问题 · 架构 · 使用缓存改善网站性能 · 需求/解决问题 · 架构 · 使用应用服务器集群改善网站的并发处理能力 · 需求/解决问题 · 架构 · 数据库读写分离 · 需求/解决问题 · 架构 · 使用反向代理和CDN加速网站响应 · 需求/解决问题 · 架构 · 使用分布式文件系统和分布式数据库系统 · 需求/解决问题 · 架构 ·

【熊猫TV】《程序员》:聚光灯下的熊猫TV技术架构演进

2015年开始的百播大战,熊猫TV是其中比较特别的一员. 说熊猫TV是含着金钥匙出生的公子哥不为过.还未上线,就频频曝光,科技号,微博稿,站上风口浪尖.内测期间更是有不少淘宝店高价倒卖邀请码,光内测时用户注册数量就达几十万,火爆程度可见一斑.笔者作为写下熊猫TV第二行代码的Coder,见证了熊猫TV成立以来的风风雨雨.直播技术坑不少,本文简单揭秘熊猫TV这一年的技术架构演进,分析各个阶段面临的主要问题和应对方案,给大家做直播系统提供一定的参考. 熊猫架构 0.1- 来不及了,老司机快上车 这个阶

空格App亿元A轮融资背后:云上多场景技术架构实践与经验

直播视频: (点击图片观看) 幻灯片下载地址:https://oss.aliyuncs.com/yqfiles/382bc642fc0b621a9368138a74d8fd36.pdf 3月16日云栖社区在线实时分享顺利结束,本次由空格APP技术合伙人刘博分享了空格利用阿里云服务在搜索.推荐和数据挖掘业务场景下的探索实践.本次视频直播的整理文章.视频整理完毕,如下内容. 阿里云在空格 图一 空格服务端整体架构 在空格初始创业阶段,人员十分缺乏,但依靠着阿里云,空格两周便实现APP上线.空格服务端

互联网技术架构给我们的启示

可以理解为自白书,知道自己太落后啦~ --中国建设银行信息技术管理部副总经理 王申科 据阿里官方公布的数据,2013年"双11"这一天,天猫.淘宝成交额共计350.19亿元,相当于10月全国日均消费额的一半,较去年的191亿元增长83%.支付宝交总交易笔数达到1.88亿笔,其中无线支付达到4518万笔,分别是去年同一天的1.77倍和5倍. 参照央行发布的2013年第二季度支付体系运行数据,二季度全国银行卡消费业务笔数约为30.6亿笔,平均每天约3400万笔,那么支付宝"双11