三高系统常用架构模式

总结一下三高(高性能、高并发、高可用)系统在架构时常见的模式及技术

面向互联网的三高系统,最关注的软件质量属性是:性能、可用性、伸缩性、扩展性、安全性。

而构建此类系统,最常见的架构模式有:横向分层、纵向分割、分布式化、集群化、使用缓存、使用异步模式、使用冗余、自动化(发布、部署、监控)。

具体来说,可以在不同层次常用的技术有:

前端架构

  • 浏览器优化技术:合理布局,页面缓存,减少http请求数,页面压缩,减少 cookie 传输。
  • CDN
  • DNS负载均衡
  • 动静分离,静态资源独立部署
  • 动态图片独立提供服务
  • 反向代理

应用层架构

  • 业务拆分
  • 负载均衡
  • 虚拟化服务器、容器化
  • 无状态(以及分布式 Session)
  • 分布式缓存
  • 异步、事件驱动架构、消息队列
  • 多线程
  • 动态页面静态化

服务层架构

  • 分布式微服务(分级管理,超时设置,异步调用,服务降级,幂等性设计。)
  • 同应用层架构

存储层架构

  • DFS
  • 关系数据库路由
  • No S QL 数据库
  • 数据同步
  • 数据冗余

安全架构

  • Web攻击(XSS、Sql Injection)
  • 数据加密
  • 密钥管理

发布、运维

  • 自动化测试与发布
  • 灰度发布
  • 浏览器数据采集
  • 服务器业务数据采集
  • 服务器性能数据采集
  • 系统监控
  • 系统报警

机房

  • 散热、省电、定制服务器

暂时就写这么多,以后想到了再加……

原文地址:https://www.cnblogs.com/zgynhqf/p/9853591.html

时间: 2024-08-30 01:58:31

三高系统常用架构模式的相关文章

常用架构模式优缺点

很多介绍设计优缺点都是先从有点讲起,那是为了宣传,为了让别人用,我觉得对于开发者自己而言,缺点反正是最需要知道的. 个人认为:对于架构的选择,如果不能看见最直白的好处,那么就绝对不要使用,至于没有看到好处是因为真的没有好处,还是因为你的资历不够没法抓住,这都都不重要. 毕竟架构的使用因人而异,因业务而异,在选择问题上,不仅要适应公司业务发展,更需要适合自己,最后的执行人是自己,不是理论也不是别人,自己的思维能力才是自己做工作的基础,别的东西都是参考. 一 事件溯源--ES 缺点: 1 肯定需要增

再理下系统分层架构模式

MVC是横向分工:三层架构,是纵向分层. 在大多数架构图中,MVC被画成三角形,View是使用者能够看到并操作的层(可能是Web页面,也可能是GUI),Controller是处理各种操作请求的核心,Model是用于保存各种数据,并且会影响View的显示结果. 而三层架构,通常会被画成上中下三层,上层是前端:中层是业务逻辑:底层是数据存储. 从这个介绍来看,MVC与三层架构的确似乎存在对应关系.在很多简单项目中,我们可以将业务逻辑写在Controller里,而保存数据的逻辑也无非是数据库的表与Mo

值得我们深入研究和学习:从零开始一步一步搭建坚不可摧的Web系统主流架构

本文标签: Web系统主流架构 搭建Web系统架构 缓存服务器 数据库架构   技术型初创公司  互联网杂谈 主题简介: 1.网站系统架构当前现状 2.Web系统主流架构解析 3.互联网技术团队初期组建经验分享 本文主要结合我之前在海尔电商平台和现在公司的一些实际架构经验,综合实际情况和个人的理解,跟大家分享一下搭建Web系统的一些常用的技术架构和应用技巧. 首先要跟大家探讨一个问题,就是当前传统IT企业或是传统企业的IT系统目前的系统架构是怎样的呢? 就我所经历的NEC软件.海尔集团.青岛航空

分层与架构模式

1 企业应用计算的演变 这个我们应该是在学HTML的时候就已经学习了一部分了,现在再来回忆一些理论知识! •主机/哑终端的集中计算模式 大型主机管理和控制应用程序的所有方面,包括业务处理.数据管理和屏幕显示.使用者一般通过只有一个屏幕.一个键盘和一根主机连接线的“哑终端”与主机的应用程序进行交互. 缺点: 一台计算机中进行全部的处理. 应用程序非常难于维护. 专用特性使得它们非常难于集成其他平台上的其他应用程序 •客户机/服务器计算模式 –分布式客户/服务器 (Client/Server,简称C

端游及手游服务端的常用架构

这篇文章还是讲的不错的: http://www.cocoachina.com/game/20150924/13545.html <开发者详解:端游及手游服务端的常用架构> 整理自知乎,文/韦易笑 开始的部分讲的比较简略.讲到后面大型MMO以及战网游戏,就比较入流了. 开宗明义,手游页游和端游的服务端本质上没区别,区别的是游戏类型. 类型1:卡牌.跑酷等弱交互服务端 卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单

Hibernate(1)——数据访问层的架构模式&lt;转&gt;

数据库的概念.逻辑.数据模型概念 应用程序的分层体系结构发展 MVC设计模式与四层结构的对应关系 持久层的设计目标 数据映射器架构模式 JDBC的缺点 Hibernate简介 迅速使用Hibernate开发的例子 Hibernate的核心类和接口,以及他们的关系 POJO和JavaBean的比较 之前的一篇总结文章: 数据库精华知识点总结(1)—数据库的三层模式和二级映像,E-R(实体联系图)图,关系模型 简单来说,就是在软件开发领域,可以用模型表示真实世界的实体.针对数据库就分为: 概念模型(

大型网站架构模式

一.前言 为了解决大型网站面临的高并发访问.海量数据处理.高可靠运行等一系列问题与挑战,大型互联网公司在时间中提出了许多解决方案,以实现网站高性能.高可用.易伸缩性.可扩展.安全等各种技术架构目标. 二.分层 最常见的架构模式,将系统在横向维度上切分成几个部分,每个部分单一职责.然后通过上层对下层的依赖和调用组成一个完成的系统.网站一般分为三个层次:应用层.服务层和数据层,其具体结构如下图所示: 通过分层,一个庞大系统切分成不同部分,便于分工合作和维护.各层之间具有一定的独立性,只要维持调用接口

SaaS系列介绍之十三: SaaS系统体系架构

1 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性.健壮性.可扩展性.兼容性和可用性,它是系统的灵魂.体系架构是架构师所关注的核心.良好的体系架构是系统成功的开端,否则,再好的代码与设计也无济于事. 2 当前.net主要的开发框架简介 l Castle Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务.其中关键的技术是ActiveRe

分布式发布订阅消息系统 Kafka 架构设计[转]

分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础.现在它已为多家不同类型的公司 作为多种类型的数据管道(data pipeline)和消息系统使用. 活动流数据是所有站点在对其网站使用情况做报表时要用到的数据中最常规的部