在互联网系统中包含许多的工具,每个企业都有自己的架构,正如没有完美的程序一样,也不会有完美的架构。本节分析的架构严格来说并不严谨,但是却包含了互联网的思想,互联网架构如图 1 所示。


图 1 互联网架构

这不是一个严谨的架构,但是它包含了互联网的许多特性。对于防火墙,无非是防止互联网上的病毒和其他攻击,正常的请求通过防火墙后,最先到达的就是负载均衡器,这是关注的核心。

负载均衡器有以下几个功能:

1)对业务请求做初步的分析,决定分不分发请求到 Web 服务器,这就好比一个把控的关卡,常见的分发软件比如 Nginx 和 Apache 等反向代理服务器,它们在关卡处可以通过配置禁止一些无效的请求。

比如封禁经常作弊的 IP 地址,也可以使用 Lua、C 语言联合 NoSQL 缓存技术进行业务分析,这样就可以初步分析业务,决定是否需要分发到服务器。

2)提供路由算法,它可以提供一些负载均衡的算法,根据各个服务器的负载能力进行合理分发,每一个 Web 服务器得到比较均衡的请求,从而降低单个服务器的压力,提高系统的响应能力。

3)限流,对于一些高并发时刻,如双十一、新产品上线,需要通过限流来处理,因为可能某个时刻通过上述的算法让有效请求过多到达服务器,使得一些 Web 服务器或者数据库服务器产生宕机。

当某台机器宕机后,会使得其他服务器承受更大的请求量,这样就容易产生多台服务器连续宕机的可能性,持续下去就会引发服务器雪崩。

因此在这种情况下,负载均衡器有限流的算法,对于请求过多的时刻,可以告知用户系统繁忙,稍后再试,从而保证系统持续可用。

如果顺利通过了防火墙和负载均衡器的请求,那么负载均衡器就会通过设置的算法进行计算后,将请求分发到某一台 Web 服务器上,由 Web 服务器通过分布式的 NoSQL 和数据库提供服务,这样就能够高效响应客户端的请求了。

从上面的分析可以知道,系统完全可以在负载均衡器中进行初步鉴别业务请求,使得一些不合理的业务请求在进入 Web 服务器之前就被排除掉,而为了应对复杂的业务,可以把业务存储在 NoSQL(往往是 Redis)上,通过 C 语言或者 Lua 语言进行逻辑判断,它们的性能比 Web 服务器判断的性能要快速得多。

通过这些简单的判断就能够快速发现无效请求,并把它们排除在 Web 服务器之外,从而降低 Web 服务器的压力,提高互联网系统的响应速度,不过在进一步分析之前,我们还要鉴别无效请求,教程后面会讨论有效请求和无效请求。

互联网系统应用架构基础分析相关推荐

  1. 移动互联网系统架构特点及实践--手机凤凰网

    本文整理自:http://www.cnblogs.com/sunli/archive/2011/02/19/mobile_architecture.html 今天参加了InfoQ组织的百度技术沙龙活动 ...

  2. 大型互联网系统架构演进之路

    作者丨老农小江 来源丨网址:https://blog.csdn.net/cndmss/article/details/123636370 一.前言 说到互联网系统架构,在互联网行业日渐成熟的今天,一谈 ...

  3. 架构杂谈——也谈互联网系统架构演进

    Tips: 说到互联网系统架构,随便网上一搜都有大量的相关文章/书籍,而这些,得益于过去几年互联网行业的快速发展与繁荣,在今天看来,这些技术/解决方案似乎早已不是什么新鲜的东西了,但是,本文笔者仍想简 ...

  4. 互联网系统的稳定性思考

    互联网产品迭代速度很快,推崇快速推出.快速试错.快速占据市场先机,求快是一个显性要求,交付质量和稳定性又是一个隐性要求.个人理解涉及稳定性相关的内容实在太多,大到整个战略方向.宏观架构,小到一次需求改 ...

  5. 互联网系统架构的演进

    多终端接入.开放平台给互联网带来了前所未有的用户量级和访问规模,SNS网站产生了海量的UGC(用户产生内容),而且这些内容依托关 系链扩散速度之快.传播范围之广是传统网站难以想象的,海量数据的计算存储 ...

  6. 《程序员》 -- 互联网系统架构的演进

    自己非常喜欢<程序员>杂志,<程序员>杂志在一定程序上很能开阔我们的视野.因此,一直都想推荐给大家. 方便大家相互学习交流,本文转自<程序员>杂志 http://w ...

  7. 互联网系统架构的演进--作者杨光辉,淘宝北京研发中心技术专家

    发表于2013-08-29 09:27| 25337次阅读| 来源<程序员>| 79 条评论| 作者杨光辉 <程序员>杂志2013年9月刊特别策划互联网系统架构技术架构性能系统 ...

  8. 互联网系统架构演变之一

    1. 程序三高 1)高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一.当多个进程或线程同时(或着说在同一段时间内)访问同一资源时会产生并发问题,因此需要 ...

  9. 电脑端京东的我的订单html+css页面_互联网系统架构前后端分离技术体系

    点击「京东数科技术说」可快速关注 「摘要」随着互联网技术的发展以及终端设备的不断增多,前后端分离技术已成为移动互联网领域不可或缺的技术.前后端分离技术的不断完善,让前后端的分工与系统边界划分越来越清晰 ...

  10. 亿级用户基于微服务的互联网系统稳定性~

    互联网系统为大量的C端用户提供服务,如果隔三差五的出问题宕机,会严重影响用户体验,甚至导致用户流失.所以稳定性对互联网系统非常重要!接下来,我根据自己的实际经验来聊聊基于微服务的互联网系统的稳定性. ...

最新文章

  1. Rhel6.0部署Oracle10g报错相关问题记录
  2. javascript编程风格
  3. Spring MVC 下设置默认访问页面的3种方式
  4. 活动 | 玩转“视”界杯 —— 2018 上半年广告数据分析及短视频分享
  5. python for arcgis_面向ArcGIS的Python脚本编程 ([美]赞德伯根) 中文pdf扫描版[50MB]
  6. Flask常见错误与解决方法
  7. eclipse报告Plugin execution not covered by lifecycle configuration
  8. Cloud for Customer UI里点了超链接后的跳转处理
  9. filter 灰度处理:公祭日,一行代码让页面变成黑白色调
  10. 【词云】wordcloud安装与使用
  11. php 警告和错误屏蔽
  12. 【深度首发】图森未来CEO陈默:我们并非在主机厂上游兜售技术,而是立足下游,做卡车运输业的智能服务商丨Xtecher 封面
  13. Android 将Assets 目录中的ZIP压缩包解压至本地指定文件中
  14. 凸透镜成像实验软件_初中物理凸透镜成像原理虚拟实验平台的设计与开发
  15. 如何在Macbook上装windows
  16. (求助)idea 编译了spring源码,每次执行debug都要执行很多task,需要时间有点久,请问怎么解决?
  17. grpc生成pb.go文件报错github.com/gogo/protobuf/gogoproto/gogo.proto: File not found.
  18. iOS UITableview 禁止上下弹性或一个方向弹性
  19. gcc -m32报错解决
  20. 基于WEB多媒体电子贺卡平台

热门文章

  1. 计算机应用的基础教学实践论文,【计算机应用论文】计算机应用的基础教学实践(共2834字)...
  2. python统计pdf字数_使用python统计tex字数(一):最精简版本
  3. 小迪渗透代码审计(柒)
  4. 安装Office2016卸载WPS后office图标异常解决办法
  5. 卸载WPS后Office文档图标显示异常
  6. 中维高清监控录像被覆盖故障排除
  7. 无线自组织网络基础知识
  8. dell5580bios恢复出厂_如何进入戴尔笔记本bios及恢复bios出厂设置
  9. VS Code Css格式化插件
  10. 甄零一诺合同——专注合同信息化管理