互联网应用的特点及其架构演变

这篇具有很好参考价值的文章主要介绍了互联网应用的特点及其架构演变。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、传统项目和互联网项目的区别

传统项目:
OA、HR、CRM等系统 目标人群:企业员工
特点:项目使用人数较少、并发量相对较少、用户忍耐力较高

互联网项目:
淘宝、天猫、京东 目标人群:互联网
特点:使用人数躲,访问量大,更注重用户体验:美观、功能、速度、稳定性

对于互联网项目而言,后端工程师可以干预到的,速度与稳定性

速度:打开一个新的页面,一瞬间的事情,页面间跳转没有延迟

稳定性:网站全年99.9%都可正常访问,不会出现问题

二、大型互联网项目架构目标:

互联网项目的特点:

  • 用户多

  • 流量大、并发高

  • 海量数据

  • 易受攻击

  • 功能繁琐

  • 变化快

衡量网站的性能指标

  • 响应时间:执行一个请求从开始时间到最后收到响应数据所花费的总体时间
  • 并发数:系统同时能处理的请求数量
    • 并发链接数:指客户端向服务器发起请求,并简历TCP链接,每秒服务器链接的总TCP数量
    • 请求数:QPS(Query Per Second)指每秒多少请求
    • 并发用户数:单位 时间内有多少用户
  • 吞吐量:指单位时间内系统能处理的请求数量
    • QPS:Query Per Second指每秒多少请求
    • TPS:Transaction Per Second 每秒事务数
    • 一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此赖计算使用的时间和完成的事务个数。

互联网项目的架构目标

  • 高性能:提供快速的访问体验
  • 高可用:网站服务一直可以正常访问
  • 可伸缩:通过硬件增减,可以提高、降低处理能力(大促扩容)
  • 高可扩展:系统间耦合低,方便的通过新增、移除方式,增加、减少新的功能模块
  • 安全性:提供网站安全访问和数据加密,安全存储策略
  • 敏捷性:随需应变,快速响应

集群和分布式

集群:

  • 通俗描述:很多机器,干一样的事情
  • 专业描述:一个业务模块,部署在多态服务器上

分布式:

  • 通俗描述:很多机器,每台集群干不一样的事情,合起来就是一件复杂的大事(专业的干专业事,因为每件事性能要求不同)

  • 专业描述:一个大的业务系统,拆分为小的业务板块,分别部署在不同机器上
    互联网应用特征,架构,架构,服务器,网络互联网应用特征,架构,架构,服务器,网络

集群架构下的项目满足以下特点:

  • 高性能:集群可扩展,性能不够可以加机器,性能得以保证

  • 高可用:只要有一台机器没挂,服务就可以提供

互联网应用特征,架构,架构,服务器,网络
集群分布式架构可以很好的满足互联网系统的架构目标

  • 高性能:集群可扩展,性能不够可以加机器,性能得以保证

  • 高可用:只要有一台机器没挂,服务就可以提供

  • 可伸缩:根据不同服务的性能要求,对不同的服务集群进行动态扩缩容

  • 高可扩展:需要新增或减少某些服务时,增减响应服务的集群即可

架构演进

单体架构

所有的服务部署在一台服务器上

互联网应用特征,架构,架构,服务器,网络

  • 优点:简单开发部署方便,小型项目首选
  • 缺点:
    • 代码量大,项目启动慢
    • 可靠性差
    • 可伸缩性差
    • 扩展性和可维护性差
    • 性能低

垂直架构

垂直架构是将单体架构中的多个模块拆分为多个独立的项目,形成多个独立的单体架构

互联网应用特征,架构,架构,服务器,网络

单体架构存在的问题:

  • 项目启动慢
  • 可靠性差
  • 可伸缩性差
  • 扩展性和可维护性差
  • 性能低

垂直架构存在的问题:

  • 重复功能太多

分布式架构

分布式架构是指在垂直架构的基础上,将公共业务模块抽取出来,作为独立的服务,提供给其他消费者以实现服务的共享与重用。

互联网应用特征,架构,架构,服务器,网络

  • RPC:Remote Procedure Call 远程过程调用。

垂直架构存在的问题:

  • 重复功能太多

分布式架构存在的问题:

  • 服务提供方一旦发生变更,所有的笑给方都需要变更

SOA架构

互联网应用特征,架构,架构,服务器,网络

SOA:(Service-OrientedArchitecture,面向服务的架构)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务质检定义好的接口和契约联系起来

ESB:(Enterparise Service Bus)企业服务总线,服务中介。主要提供了一个服务与服务之间的交互。ESB包含的功能如:负载均很,流量控制,加密处理,服务的监控,异常处理,监控告急等等

分布式架构存在的问题:

  • 服务提供方一旦发生变更,所有的笑给方都需要变更

微服务架构

互联网应用特征,架构,架构,服务器,网络

  • 微服务架构是SOA上做的升华,微服务架构强调的是一个重点“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分成为多个可以独立开发、设计、运行的小应用、这些小应用之间通过各种服务完成交互和集成
  • 微服务架构=80%的SOA服务架构思想+100%的组件化架构思想+80%的领域建模思想

特点:文章来源地址https://www.toymoban.com/news/detail-738848.html

  • 服务实现组件化:开发者可以自由的选择开发技术,各团队之间不需要相同
  • 服务之间交互一般使用REST API
  • 去中心化:每个微服务有自己的私有数据库去持久化业务数据
  • 自动化部署:把应用拆分为一个一个独立的单个服务,方便自动化的部署、测试、运维

到了这里,关于互联网应用的特点及其架构演变的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 当产业互联网时代来临,显著的特点就在于互联网技术不再是主导

    事实上,以往,我们所经历的那个互联网玩家频出的年代,其实就是一个以互联网技术为主导的年代。在那样一个年代里,互联网技术几乎是解决一切痛点和难题的万能解药,几乎是破解一切行业痛点和难题的杀手锏。任何一个行业,只要是与互联网技术产生了联系,便开始

    2024年02月02日
    浏览(36)
  • 互联网大厂技术-Redis-集群模型、架构原理、难点应用场景、高频面试问题详解

    目录 一、Redis集群模型 1.1、主从模式 1.1.1 主从模式优缺点 1.2、哨兵模式 1.2.1 哨兵模式的作用: 1.2.2 哨兵实现原理 1.2.3 主观下线和客观下线 1.2.4 哨兵模式优缺点 1.3、各大厂的Redis集群方案 1.3.1 客户端分片 1.3.2 代理分片 Twemproxy的优点: Twemproxy的不足: 1.3.3 Codis 1.4、Redis

    2024年02月16日
    浏览(68)
  • 互联网中的商品超卖问题及其解决方案:Java中Redis结合UUID的应用

    在设计商品下单和库存扣减,你一定遇到过这样的问题,库存扣减为0了,可是消费者还能下单,并将订单信息保存到了数据库里,针对商品超卖问题,作此篇以解决。 随着互联网商业的飞速发展,商品超卖问题逐渐凸显为电商平台面临的一大挑战。尤其是在大型促销活动期

    2024年02月04日
    浏览(31)
  • 互联网时代,云计算的6大特征

    1 云计算的定义 云计算是目前业内的热点概念,它以开放的标准和服务为基础,以互联网为中心,提供安全、快速、便捷的数据存储和网络计算服务,让互联网这片“云”上的各种计算机共同组成数个庞大的数据中心及计算中心。它可以被看成是网格计算和虚拟化技术的融合

    2024年02月06日
    浏览(37)
  • 互联网高可用架构探讨

    高可用,英文单词High Availability,缩写HA,它是分布式系统架构设计中一个重要的度量。业界通常用多个9来衡量系统的可用性,如下表: 既然有可用率,有一定会存在不可用的情况。系统宕机一般分为有计划的和无计划的,有计划的如日常维护、系统升级等,无计划的如设备

    2024年02月11日
    浏览(42)
  • 一文读懂互联网的架构本质

    【引子】谈到互联网,很多人脑海中会出现各种各样的术语和服务,但是互联网是如何设计并构建的呢?作为一个网络,互联网的架构本质是什么? 石头兄弟和我曾经一起译过一本《计算机网络问题与解决方案》的巨著,但真正仔细阅读并从中有所收获的朋友并不多。最近

    2024年02月11日
    浏览(34)
  • 互联网高可用架构探讨 | 京东云技术团队

    高可用,英文单词High Availability,缩写HA,它是分布式系统架构设计中一个重要的度量。业界通常用多个9来衡量系统的可用性,如下表: 既然有可用率,有一定会存在不可用的情况。系统宕机一般分为有计划的和无计划的,有计划的如日常维护、系统升级等,无计划的如设备

    2024年02月12日
    浏览(34)
  • 【第一期】《互联网广告系统:架构、算法与智能化》

    🌹欢迎来到 爱书不爱输的程序猿 的博客, 本博客致力于知识分享,与更多的人进行学习交流 广告平台的建设和完善是一项长期工程。 例如,谷歌早于2003年通过收购Applied Semantics开展Google AdSense项目,而直到20年后的今天,谷歌展示广告平台仍在持续创新和提升。 广告平台是

    2024年02月13日
    浏览(34)
  • 互联网编程之基于 TCP 的单线程文件收发程序(CS架构)

    目录 需求 服务端实现 客户端实现 测试 可试着根据java编程课所学到的java socket编程技术,尝试编写一个基于 TCP 的单线程文件收发程序,需满足: 服务端程序预先定义好需要发送的文件并等待客户端的连接。 客户端连接成功后,服务端将文件发送给客户端,客户端将文件保

    2024年02月12日
    浏览(55)
  • 码银送书第五期《互联网广告系统:架构、算法与智能化》

    广告平台的建设和完善是一项长期工程。例如,谷歌早于2003年通过收购Applied Semantics开展Google AdSense 项目,而直到20年后的今天,谷歌展示广告平台仍在持续创新和提升。广告平台是负有营收责任的复杂在线平台,对其进行任何改动都必须格外谨慎。同时,随着平台的成熟,

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包