Web 系统架构一般组成
负载层技术
负载分配层,是单指利用软件实现的计算机系统上的狭义负载均衡。它是根据业务形态设计一种架构方式,将来自外部客户端的业务请求分担到每一个可用的业务节点上 。
1.用户终端不只包括类似于PC 、 Android 手机 、平板电脑这样的终端设备 。还包括向服务节点发送请求的任何其他服务节点
2.不同的业务处理节点有两个层面的含义:
1)多次同一种类型的请求可以分配到同一个业务系统的不同节点上进行处理 ;
2)“用户终端”多次不同类型的请求,会分派到不同的业务系统 的不同节点上进行处理 。
负载方案:
• 独立 的 Nginx 负载或 HAProxy 方案
• LVS ( DR ) + Nginx 方案
• DNS 轮询+ LVS + Nginx 方案
• 智能 DNS ( DNS 路由) + LVS + Nginx 方案
Nginx只能处理 TCP/IP 协议之上的应用层 HTTP 协议,如果要处理 TCP/IP 协议,则要安装第三方的 TCP-Proxy-Module 模块。
直接在 TCP/IP 层负载的方案 , 是使用 HAProxy
业务层技术
在中大型业务系统中,这些业务是不可能独立存在的, 一般的设计要求都会涉及子系统间脱辑 : 即 X1系统除了知晓底层支撑系统的存在(例如用户权限系统),并不需要知道和它逻辑对等的 X2 系统的存在就可以工作。
相关技术:
• Thrift RPC 技术/dubbo RPC技术
• 保证消息可达性的消息队列技术
存储层技术
对 MySQL 聚集索引和非聚集索引理解不够透彻,导致常常出现 Table Scan拖慢整个顶层系统的性能;
不理解操作系统下的文件系统格式导致错选 EXT3 、 EXT4 、 XFS;
不清楚 Linux Page Cache 对文件读/写的工作原理,所以不能合理利用代码进行批量写
相关文章
- java 技术架构 for web
- Web测试的各个测试点,居然这么全!(文末送web测试方法大全一份)
- 电子电气架构——Vector ODX诊断数据库解决方案和操作指南
- 电子电气架构——是软件定义汽车关键
- 标准Web系统的架构分层
- 坑系列 --- 高可用架构的银弹
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- web安全day6:IIS之WEB服务器
- 第二十四章 CSP Session 管理 - 认证架构
- 第十一章 CSP 架构 - Web Application Settings
- esp32系列(5):esp32 蓝牙架构学习
- ASP.NET Core Web API下事件驱动型架构的实现(五):在微服务中使用自我监听模式保证数据库更新与消息派发的可靠性
- ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现
- 《HTML5和JavaScript Web应用开发》——第 1 章 客户端架构 1.1了解HTML5
- 架构之路(三) 单元测试
- Go Web:RESTful web service示例
- 《云计算:概念、技术与架构》一3.2 基本概念与术语
- 大型Java Web项目的架构和部署问题
- 什么是架构?——软件系统架构的定义
- 软件架构(五)分层架构
- 普通Java Web项目为什么lib包要放在WEB-INF下
- 架构面试题
- 柯南君:看大数据时代下的IT架构(6)消息队列之RabbitMQ--案例(Publish/Subscribe起航)
- 云爆发架构是否难以实施?
- 分布式Web服务器架构
- 秒杀系统架构分析与实战
- web常用服务架构