一日,与一高手在茶馆聊天。他问道:在鞋厂剑派这两年,可习的什么高深的剑法?我不由一愣,细细想来,这两年每日练习的都是简单的劈砍动作和一些简练的套路。并没有去练什么高深的剑法。不过鞋厂剑派在江湖上也算小有名气战力不俗,也攻下了不小的山头,就连天下三大门派之一BB派也对我们的山头虎视眈眈。门派的头领们为何没让我们去练习高深的剑法?想来,我们打的是群架,而不是单挑。把每个练习简单招式的人放在一起,简单的招式组成的就是威力极大的剑阵。
剑阵才是一门神功。
剑阵也并非一开始就威力极大,也是由几个人简单的组合,经历生死攸关的战斗,才逐步发展而来。
这剑阵就是我们互联网公司大型的IT系统。
 
 
那怎样才算一个大型的IT系统呢?一个系统既要有大并发的用户访问,又有海量的数据才能算大型IT系统。
 
我们现在常用的大型IT系统都是从小系统开始,随着用户量和数据量的大幅增加一步一步发展而来。
 
最开始是最简单的系统架构,应用和数据库部署在同一台服务器上,比如:网站应用+数据库服务器或者面向App的Service+数据库服务器。
这种系统架构可以支撑每天几百到上万人的访问。
一、随着用户量和数据量的上升,单服务器的负载逐渐升高,这时候可以把数据库拆分到一台单独的服务器上。这样就能缓解系统的压力。
二、接下来应用服务器的负载又过高,这时候就要将应用服务器扩展为集群。通过2个手段:1,引入负载均衡设备,将请求均匀的转发到集群中的服务器上。2,引入Session Server 让用户感觉到是跟同一台服务器通讯。
三、后来数据库压力又变大。这个时候,可以将数据库进行垂直切分,就是按照业务单元,将数据库解耦。每个独立的业务数据,可以单独存放在一个数据库中。还有水平分表、读写分离等措施。这个时候公司可以搭建公司内统一的分布式数据访问层框架。
 
四、随着业务的飞速发展,系统无节制的变的臃肿庞大,大量的web service 的调用将我们的系统变成了一个蜘蛛网。质量越来越难以保证。故障频发,效率低下,团队人困马乏。
    这个时候就可以引入服务化框架,将系统拆小,重视系统分层,控制系统间的调用关系。
    采用消息系统来解决业务系统之间的强耦合问题。
五、使用软负载中心与集中配置管理来支撑服务化框架、消息系统、分布式数据访问层、所有应用的配置管理等。
六、另外构建大型互联网IT系统的其他要素:CDN、大型网站的存储系统(分布式文件系统、NoSQL、缓存系统)、搜索系统、数据计算支撑、发布系统、应用监控系统、依赖管理系统等等。
 
如图:
 

互联网公司IT系统架构进化之路的更多相关文章

  1. 从游击队到正规军:马蜂窝旅游网的IM系统架构演进之路

    本文引用自马蜂窝公众号,由马蜂窝技术团队原创分享. 一.引言 今天,越来越多的用户被马蜂窝持续积累的笔记.攻略.嗡嗡等优质的分享内容所吸引,在这里激发了去旅行的热情,同时也拉动了马蜂窝交易的增长.在帮 ...

  2. 大型网站系统架构演化之路【mark】

    前言 一 个成熟的大型网站(如淘宝.天猫.腾讯等)的系统架构并不是一开始设计时就具备完整的高性能.高可用.高伸缩等特性的,它是随着用户量的增加,业务功能的 扩展逐渐演变完善的,在这个过程中,开发模式. ...

  3. springcloud (一)系统架构演变之路

    演变过程 从传统架构(单点应用)→分布式架构(以项目进行拆分)→SOA架构(面向服务架构)→微服务架构 1 传统架构 其实就是ssh架构或者ssm架构,属于单点应用,把整个开发业务模块都会在一个项目中 ...

  4. QQ音乐PB级ClickHouse实时数据平台架构演进之路

    导语 | OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过Q ...

  5. Android之路-------浅淡Android历史、系统架构与开发特色

    前言 离上一篇发表的博客差不多有两个星期了吧,相信有些博友差点就对LP失望了,因为上一篇博文中说了,这次不管怎样,LP都会坚持写博客的. 由于工作关系LP才隔了这么久才再次发表博文,这篇博文主要是总结 ...

  6. HBase 学习之路(二)—— HBase系统架构及数据结构

    一.基本概念 一个典型的Hbase Table 表如下: 1.1 Row Key (行键) Row Key是用来检索记录的主键.想要访问HBase Table中的数据,只有以下三种方式: 通过指定的R ...

  7. 转:微信Android客户端架构演进之路

    转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 20 ...

  8. 架构师之路-在Dubbo中开发REST风格的远程调用

    架构师之路:从无到有搭建中小型互联网公司后台服务架构与运维架构 http://www.roncoo.com/course/view/ae1dbb70496349d3a8899b6c68f7d10b 概 ...

  9. Java生鲜电商平台-商家支付系统与对账系统架构实战

    Java生鲜电商平台-商家支付系统与对账系统架构实战 说明:关于生鲜电商平台,支付系统是连接消费者.商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息(对应订单号,支付 ...

  10. 5G系统架构

    原文标题:迈向5G之路,颠覆性的5G系统架构?   本文部分图片,资料摘自<迈向5G C-RAN:需求.架构与挑战> 突如一夜春风来,随着Polar码与LDPC码作为5G编码候选方案,通信 ...

随机推荐

  1. DRF全局总结

    基础部分 一.创建工程 1.创建虚拟环境 python -m venv 路径 2.安装Django 进入虚拟环境 pip install Django 3.创建项目 django-admin star ...

  2. Java异常之Error和Exception

    异常Exception 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数 ...

  3. 使用svg让页面自适应浏览器大小,整体等比缩放

    网页代码: <!DOCTYPE html> <html> <head> <style> body { margin:0; padding:0; widt ...

  4. Python中Websocket的实现及基本原理

    一.什么是 WebSocket ? WebSocket 是一种标准协议,用于在客户端和服务端之间进行双向数据传输.但它跟 HTTP 没什么关系,它是基于 TCP 的一种独立实现. 以前客户端想知道服务 ...

  5. git修改远程分支

    git remote -v 查看远程仓库 git remote rm origin 删除远程分支 git remote add git remote add origin git@codeup.ali ...

  6. 关于Python 面向对象寻值的问题. How the number be found in the OOP in Python

    今天在看Python面向对象的时候看到了一个很有意思的问题 Today. When i learning the OOP in python , I found a very interesting ...

  7. 12组-Alpha冲刺-5/6

    一.基本情况 队名:字节不跳动 组长博客:https://www.cnblogs.com/147258369k/p/15562095.html 小组人数:10人 二.冲刺概况汇报 侯钦凯 过去两天完成 ...

  8. 【BOOK】数据存储--MongoDB

    MongoDB存储 1.链接MongoDB        指定数据库        指定集合 import pymongo ## 连接数据库 client = pymongo.MongoClient( ...

  9. linux run/media/wang/centos_磁盘爆满

    在使用iso安装了linux系统后,会有个 /run/media/wang/CentOS 7 x86_64 无法删除,这个是我们安装程序时的安装驱动, 登陆用户后将他卸载就可

  10. (0514)python学习-思维导图