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

适用范围

本文主要针对小型互联网公司,特别适用于手机APP的后台架构,基本可以支撑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, 阿里云消息, robbitMQ,
各有好处, 但是考虑到运维的难度,推荐阿里云消息。

Redis

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

数据库

主要基于读写分离和主从复制考虑,目前可以自建和选用阿里的DRDS。
- DRDS 要花钱,成本较高,没有必要
- 自建,  不用中间件,直接1写2只读, 然后配置读写分离的数据源,内网SLB进行读集群。解决之。

搜索

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

一些典型的业务场景说明

  • 把业务底层做成SOA模块,通过分布式调用框架对外提供服务。
  • 单独做一个小的系统来运行定时任务
  • 热点数据放缓存,然后通过MQ来更新缓存
  • 日志等数据有必要可以考虑上个Mongo
时间: 2024-09-10 22:29:00

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

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

适用范围 本文主要针对中小型互联网公司,特别适用于手机APP或者pc的后台架构,基本可以支撑5万日活 本文会对可能用到的相关技术进行技术选型的说明,以及技术的架构介绍,技术架构的介绍课程后面有地址,可以点进去查看. 技术指标 说一下一些技术指标的计算过程可以作为其他同学的参考 QPS, 如果是5万日活,使用集中在每天的4小时,每个用户大概产生100的请求,那么平均下来,我们系统大概应该支撑的请求为:50000 100 / (4 60 * 60) = 350 qps/s 业务数据 业务量,我们自己

你得知道这3个最基础的APP技术框架

  不知道大家有没有遇到过这种情景,当你做好一个设计方案,满心欢喜地给开发讲解方案的思路和创意时,开发突然说一句:"这个方案实现不了",这时你整个人都不好了,心里开始嘀咕"这么简单的设计都实现不了,你是搞技术的吗?"然并卵,在产品和开发的催促下,作为设计师的你只能加班加点地改方案. 到底问题出现在哪呢?这其实是由于我们设计师对App技术框架的知识匮乏所导致的,虽然我们不必做到会写代码,但掌握必要的App技术框架原理,能更有效地帮助我们预判哪些方案可行和实现效果较好,

百度云首席架构师林仕鼎解读百度云技术框架

百度云首席架构师林仕鼎 新浪科技讯 3月23日上午消息,2012百度开发者大会今日召开.百度云首席架构师林仕鼎从技术层面对百度云的技术框架与愿景进行了全方位的解读.新浪科技全程直播该会议. 以下为演讲实录: 主持人:感谢百度技术副总裁王劲精采的演讲,接下来有请百度云首席架构师林仕鼎先生做分享.有请! 百度云首席架构师林仕鼎:大家好,刚刚Robin阐述了我们的百度云战略的愿景,作为云战略的工程师角度来讲,可以分享我们的理想和梦想. 我们先从百度云计算的技术开始说起.搜索引擎是云计算技术最典型的应用

XXX电子商务平台技术框架

XXX电子商务平台技术框架 XXX公司电子商务软件是基于java多层架构,架构图如下:架构图说明: 1. 总体采用Spring + Spring MVC + Hibernate + JSP + Javascript + DWR + JQuery等技术,MVC框架我推荐使用Spring MVC,当然使用Struts.JSF也可以. 2. 采用n层结构,在控制层和数据访问层中间增加业务层,便于处理各类领域业务,而不是将其和数据访问混在一起. 3. 数据库我推荐MySQL,或许有人会觉得MYSQL是开

php-使用PHP搭建自己的MVC框架 搭建时出现的问题

问题描述 使用PHP搭建自己的MVC框架 搭建时出现的问题 你好,我按照<使用PHP搭建自己的MVC框架>上面的步骤来进行搭建这个框架,但是把所有的步骤都做完了,最后访问的时候提示找孙到页面,请问这个问题应该怎么解决呢,还是框架本身就有问题呢,求指教,谢谢! 解决方案 看看作者有没有提供完整的源代码,如果没有,这种例子根本不靠谱.看教程一定要找有完整代码的. 解决方案二: 重新核对看看有没有遗漏什么关键步骤.或者重新找个完整的示例代码. 解决方案三: 没有源码的,但是我看到有很多人在转,所以我

用Winform傻瓜式搭建asp.net mvc框架

用Winform傻瓜式搭建asp.net mvc框架--下面是整个项目的文件夹和文件: Default.cs相当于浏览器窗口,通过WebBrowser的SendRequest方法来 请求服务器.服务器接到请求,MyHttpHandler就会接收请求,开始调用相应的 Controller,Control调用Model处理完业务逻辑就,就让View显示执行结果或下 一步操作. 下面从演示和代码来做分析.首先运行浏览器(请大家当它 是浏览器,至少是一个地址栏). 点击Enter按钮,会执行如下代码:

使用ASP.NET.4.5.1+MVC5.0 搭建一个包含 Ninject框架 项目

这篇文章主要介绍了使用ASP.NET.4.5.1+MVC5.0 搭建一个包含 Ninject框架 项目的方法,需要的朋友可以参考下 1.创建一个空白解决方案 2.添加一个类库 名称为XXX.Domain 3.添加一个ASP.MVC 名称为XXX.WebUI 4.选着空模版,勾选MVC核心引用 5.添加单元测试项目 XXX.UntiTests 6.在程序包控制台里面输入以下代码 复制代码 代码如下: Install-Package Ninject -version 3.0.1.10 -projec

阿里通信基础技术框架介绍

该文章来自于阿里巴巴技术协会(ATA)精选文章. 一.总体 在阿里通信必零(计费重构)项目中,在完成项目建设的同时,我们把日常常用的一些工具类进行了抽取沉淀,形成了基础库.我觉得有些东西挺好用的,写篇文章介绍一下. 二方库: <dependency> <groupId>com.alicom</groupId> <artifactId>alicom-frame</artifactId> <version>1.0.7</versio

在Mac OS上搭建PHP的Yii框架及相关测试环境_php实例

YII集成了单元测试和功能测试,借助phpunit和selenium实现.笔者在配置过程中遇到了不少麻烦,纪录在此. 必要概念 seleniumselenium是个著名的自动化测试工具,可以调起本地的浏览器来完成测试,所以可以用来自动化测试web项目.selenium分为服务端和客户端,服务端使用java开发,所以需要一个jdk,服务端在启动时,会启动一个http服务,客户端通过与服务端进行http通信,向服务端发起测试请求,服务端会自动调起浏览器完成测试.测试人员负责编写客户端脚本,支持大部分