搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小桥流水78
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
linux性能工具--ftrace基础篇_linux trace函数
2
2.1 在Windows系统下载、安装、配置搭建Python开发环境——《跟老吕学Python》_redhat linux下python3.12.4开发环境配置
3
Tomcat安全加固
4
谷歌翻译国内使用_谷歌翻译镜像
5
HTTP 请求中的 Content-Type 类型详解_content-type json
6
飞凌嵌入式 gstreamer播放rtsp_嵌入式板卡gstreamer 可以播放网络上的视频吗
7
LabView连接Access_labview连接access数据库
8
[论文笔记] pai-megatron-patch Qwen2-72B/7B/1.5B 长文本探路
9
Go语言:UUID 的生成与解析_uuid.newv4()
10
开源项目介绍 |TKEStack-开源容器服务平台
当前位置:
article
> 正文
大型高性能ASP.NET系统架构设计
作者:小桥流水78 | 2024-07-16 22:46:22
赞
踩
大型高性能ASP.NET系统架构设计
大型高性能
ASP.NET
系统架构设计
<?XML:NAMESPACE PREFIX = O />
大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。
大型动态应用系统又可分为几个子系统:
Web
前端系统
负载均衡系统
数据库集群系统
缓存系统
分布式存储系统
分布式服务器管理系统
代码分发系统
Web
前端系统
为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。
该
Web
前端系统基于
IIS/ASP.NET
等的虚拟主机平台,提供
PHP
程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理。
负载均衡系统
负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如
F5
等。软件负载均衡系统价格较低或者免费,效率较硬件负载均衡系统低,不过对于流量一般或稍大些网站来讲也足够使用,比如
lvs,nginx
。大多数网站都是硬件、软件负载均衡系统并用。
数据库集群系统
由于
Web
前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系
?
我们可以采用如上图所示的方案:
1)
使用
SQL
数据库,考虑到
Web
应用的数据库读多写少的特点,我们主要对读数据库做了优化,提供专用的读数据库和写数据库,在应用程序中实现读操作和写操作分别访问不同的数据库。
2)
使用
同步
机制实现快速将主库
(
写库
)
的数据库复制到从库
(
读库
)
。一个主库对应多个从库,主库数据实时同步到从库。
3)
写数据库有多台,每台都可以提供多个应用共同使用,这样可以解决写库的性能瓶颈问题和单点故障问题。
4)
读数据库有多台,通过负载均衡设备实现负载均衡,从而达到读数据库的高性能、高可靠和高可扩展性。
5)
数据库服务器和应用服务器分离。
6)
从数据库使用
BigIP
做负载均衡。
缓存系统
缓存分为文件缓存、内存缓存、数据库缓存。在大型
Web
应用中使用最多且效率最高的是内存缓存。最常用的内存缓存工具是
Memcachd
。使用正确的缓存系统可以达到实现以下目标:
1
、使用缓存系统可以提高访问效率,提高服务器吞吐能力,改善用户体验。
2
、减轻对数据库及存储集服务器的访问压力。
3
、
Memcached
服务器有多台,避免单点故障,提供高可靠性和可扩展性,提高性能。
分布式存储系统
Web
系统平台中的存储需求有下面两个特点:
1)
存储量很大,经常会达到单台服务器无法提供的规模,比如相册、视频等应用。因此需要专业的大规模存储系统。
2)
负载均衡
cluster
中的每个节点都有可能访问任何一个数据对象,每个节点对数据的处理也能被其他节点共享,因此这些节点要操作的数据从逻辑上看只能是一个整体,不是各自独立的数据资源。
因此高性能的分布式存储系统对于大型网站应用来说是非常重要的一环。
(
这个地方需要加入对某个分布式存储系统的简单介绍。
)
分布式服务器管理系统
随着网站访问流量的不断增加,大多的网络服务都是以负载均衡集群的方式对外提供服务,随之集群规模的扩大,原来基于单机的服务器管理模式已经不能够满足我们的需求,新的需求必须能够集中式的、分组的、批量的、自动化的对服务器进行管理,能够批量化的执行计划任务。
在分布式服务器管理系统软件中有一些比较优秀的软件,其中比较理想的一个是
Cfengine
。它可以对服务器进行分组,不同的分组可以分别定制系统配置文件、计划任务等配置。
它是基于
C/S
结构的,所有的服务器配置和管理脚本程序都保存在
Cfengine Server
上,而被管理的服务器运行着
Cfengine Client
程序,
Cfengine Client
通过
SSL
加密的连接定期的向服务器端发送请求以获取最新的配置文件和管理命令、脚本程序、补丁安装等任务。
有了
Cfengine
这种集中式的服务器管理工具,我们就可以高效的实现大规模的服务器集群管理,被管理服务器和
Cfengine Server
可以分布在任何位置,只要网络可以连通就能实现快速自动化的管理。
代码分发系统
随着网站访问流量的不断增加,大多的网络服务都是以负载均衡集群的方式对外提供服务,随之集群规模的扩大,为了满足集群环境下程序代码的批量分发和更新,我们还需要一个程序代码发布系统。
这个发布系统可以帮我们实现下面的目标:
1)
生产环境的服务器以虚拟主机方式提供服务,不需要开发人员介入维护和直接操作,提供发布系统可以实现不需要登陆服务器就能把程序分发到目标服务器。
2)
我们要实现内部开发、内部测试、生产环境测试、生产环境发布的
4
个开发阶段的管理,发布系统可以介入各个阶段的代码发布。
3)
我们需要实现源代码管理和版本控制,
SVN
可以实现该需求。
这里面可以使用常用的工具
Rsync
,通过开发相应的脚本工具实现服务器集群间代码同步分发。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小桥流水78/article/detail/836605
推荐阅读
article
Web
基础知识
(一)_
web
应用程序
...
Web
应用程序
是一种可以通过
Web
访问的
应用程序
。
Web
应用程序
的一个最大好处是用户可以很容易访问
应用程序
。用户只需要有...
赞
踩
article
FPGA
-
DFT
(离散
傅里叶
变换
)—
FFT
(快速
傅里叶
变化)_基于
fpga
的256点dft
傅里叶
...
以上从原理介绍了
DFT
(离散
傅里叶
变换
原理),然后再介绍了
FFT
(快速
傅里叶
变换
)以及IP核的使用,和IP核使用参数以及...
赞
踩
article
linux
远程
xdmp
设置,
Linnx
环境下
常用命令
...
1、进入某个文件夹cd /root/webBopFile/release2、启动sh start.sh运行文件3、1,启...
赞
踩
article
flex
布局中
flex
-
shrink
的使用
_
flex
-
shrink
怎么
用...
[详细] -->
赞
踩
article
无法读取
chrome
-
error
://
chrome
webdata/ 的源映射: Unexpecte...
作者分享了在从Hbuilder切换到VSCode时遇到的问题,即代码无法运行并发现项目目录中多了.vscode文件。通过...
赞
踩
article
MATLAB
画图
,重磅教程
MATLAB
的
美图及强大
的
绘图功能|_
matlab
画图
函数
...
MATLAB
(Matrix Laboratory)是一种用于数值计算和可视化
的
高级技术计算语言和交互式环境。它
的
绘图功能...
赞
踩
article
为什么
前端
要学
JavaScript
?JS都有哪些逆天的功能?_
js
逆天
内容
...
JavaScript
是Web
前端
开发中最重要的语言之一,那么
为什么
前端
要学
JavaScript
?_
js
逆天
内容
js
逆天内...
赞
踩
article
数字化
运维与
AIOps
...
数字化
运维是一种基于信息技术手段
数字化
升级的运维方式。它通过运用云计算、人工智能、自动化技术等创新手段,实现了运维过程的...
赞
踩
article
jenkins
系列-
01
.
docker
安装
jenkins
...
docker
安装
jenkins
jenkins
系列-
01
.
docker
安装
jenkins
...
赞
踩
article
塑造你
的
技术
名片:写给
程序员
的
个人
品牌
建设
指南...
本文精炼地阐述了在
技术
领域中塑造
个人
品牌
的
重要性。通过简洁
的
策略和实用技巧,帮助你提升职业竞争力,扩大影响力,抓住更多职...
赞
踩
article
matlab
将某
文件夹
及其
全部
子
文件夹
路径
添加
为
搜索
路径
的方法_
matlab
怎么将一个
文件夹
下的子文...
备忘一下
matlab
将某
文件夹
及其
全部
子
文件夹
路径
添加
为
搜索
路径
的方法。设当前
路径
为F:/MAJOR, 需要将该
路径
下面...
赞
踩
article
工作效率
:
禁止
转载
-
复制
解决方案(
知乎
、简书)_
知乎
禁止
转载
的文章如何
复制
...
今天照例进行日常总结,在查找资料进行ctrl+c加ctrl+v时,发现
知乎
的页面竟然
禁止
转载
了,也就是对
复制
做了拦截后续...
赞
踩
article
Ansible
1.5
.8:
unarchive
模块_
ansible
unarchive
...
1.5
.8:
unarchive
模块官方文档:https://docs.
ansible
.com/
ansible
/late...
赞
踩
article
人工智能
大语言
模型
微调
技术:
SFT
监督
微调
、
LoRA
微调
方法、P-tuning v2
微调
方法、...
SFT
监督
微调
时
监督
微调
时,学习率通常会设置得很小常见误区:1.
监督
微调
需要大量的训练时间和数据 2.
监督
微调
将复制源模...
赞
踩
article
华为
2024
届
应届生
校招
薪资
爆料_
2024
华为
校招工资...
本文揭示了
2024
届
华为
应届毕业生在不同岗位、城市和学历背景下的
薪资
情况,包括基本
薪资
、绩效奖金等构成。同时讨论了
华为
的...
赞
踩
article
Windows
Server2019
安全
基线
等保参考要求...
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数...
赞
踩
article
在
Ubuntu
乌班图
上
安装
Docker
_
ubuntu20.04
安装
docker
-ce...
以下是在
Ubuntu
20.04版本上
安装
Docker
。按照以上步骤操作后,就可以在
Ubuntu
20.04上成功
安装
了...
赞
踩
article
[
SwiftUI
]
HStack
中放多个
Picker
不
平分
区域以及
Picker
在父视图之外还能
滚动
问题
...
文章讲述了在iOS15.8及更新版本中,
HStack
中的
Picker
组件在不同版本下显示
问题
,包括区域不
平分
和超出父视图...
赞
踩
article
LaTex
字体
、符号汇总_
latex
字母
字体
...
字体
表\begin{array}{ll|l}\texttt{"normal"} &\texttt{} & ABCDEF...
赞
踩
article
几款读
文献
的
AI
工具,可
总结
分析
文件、读
论文
必备!_
ai
文献
总结
...
文献
阅读的好帮手,帮你
分析
文献
和
论文
!_
ai
文献
总结
ai
文献
总结
科研最重要...
赞
踩
相关标签
web
fpga开发
linux远程xdmp设置
html
html5
css
matlab
开发语言
前端
javascript
运维
jenkins
docker
程序员个人品牌
技术职业发展
个人品牌建设策略
社交媒体影响力
技术领域竞争力
职业形象提升
行业社区参与
禁止复制
解决
知乎
简书