.NET 高性能WEB架构-比较容易改造方式 - .NET架构
下面列出的一些,是我们常见而且比较容易去优化的方式,当然细节方面非常多,仅供参考:
1.数据库依然选择SQL Server数据库(最新的sqlserver功能是很强大的)和使用订阅发布进行单写多读的读写分离。
2.缓存不再依赖.net自身提供的缓存机制,迁移到部署在Linux平台上的分布式的Redis,或者Memcache或者couchbase进行缓存。
3.服务之间的调用,可以改成Restful的HTTP Web API(比如asp.net mvc webapi)调用或者使用WCF的TCP通讯方式,或者使用微服务,最好专门提供服务的部署服务器。
4.静态资源请求,不再让IIS自己处理,分离到Linux平台上的nginx去处理,做到静态资源请求和动态内容分离。
5.需要读取的文件系统,也改成访问Linux平台上的分布式文件系统(如:fastdfs)。
6.部署.net代码的Windows服务器放在LVS后面,用LVS做负载均衡和故障切换(如:nginx做反向代理,负载均衡,是很不错的选择哟【推荐】)。
7.另外资源文件或者缓存数据接口可以弄个CDN加速,增加访问速度。
8.国外资源访问慢,可以使用cdn国外加速穿透到国内接口。
结语:当然上面的架构需要项目有一整套良好的架构设计和优良的代码规范,不然再好的机器也禁不住垃圾代码和垃圾架构。
.NET 高性能WEB架构-比较容易改造方式 - .NET架构的更多相关文章
- 高性能Web架构
高性能Web架构 转自 架构文摘 2017-02-07 王杰 引言 最新中国互联网络信息中心(CNNIC)发布的<第38次中国互联网络发展状况统计报告>,2016年6月,我国网民规模达7 ...
- 架构与思维:互联网高性能Web架构
1 什么是高性能Web架构 在互联网业务中,我们经常会面临流量巨大的复杂的分布式场景.这就要求我们在设计系统的时候保证系统具有承载高并发(High Concurrency)的能力,同时能够保证系统的高 ...
- 2019年最新老男孩高性能Web架构与自动化运维架构视频教程
课程目录L001-老男孩架构15期-Web架构之单机时代L002-老男孩架构15期-Web架构之集群时代L003-老男孩架构15期-Web架构之dnsL004-老男孩架构15期-Web架构之缓存体系L ...
- 高性能Web框架
不管 Web 前端架构运行机制还是 Web 后端架构中,网络是必不可少的且占分量很重.用户通过网络访问 Web 服务器,Web 后端架构中各种服务之间通过网络来进行通信和协作,网络是现代 Web 应用 ...
- 【读书笔记】2016.12.10 《构建高性能Web站点》
本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...
- 用Nginx+Lua(OpenResty)开发高性能Web应用
在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡.反向代理.代理缓存.限流等场景:而把Nginx作为一个Web容器使用的还不是那么广泛.Nginx的高性能是大家公认的,而Nginx开 ...
- Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
FastCGI编程包括四部分:初始化编码.接收请求循环.响应内容.响应结束循环. FCGX_Request request; FCGX_Init(); ); FCGX_InitRequest(& ...
- Nginx+Lua(OpenResty)开发高性能Web应用
使用Nginx+Lua(OpenResty)开发高性能Web应用 博客分类: 跟我学Nginx+Lua开发 架构 ngx_luaopenresty 在互联网公司,Nginx可以说是标配组件,但是主要场 ...
- 构架高性能WEB网站的几点知识
前言: 对于构架高性能的web网站大家都很感兴趣,本文从几点粗谈高性能web网站需要考虑的问题. HTML静态化 什么是html静态化? 说得简单点,就是把所有不是.htm或者.html的页面改为.h ...
随机推荐
- iOS:当点击 FormSheet 之外时,关闭该视图
@interface XXViewController (){ @property (strong, nonatomic) UITapGestureRecognizer *tapGesture; - ...
- Making ARC and non-ARC files play nice together
From Codeography If you want to exclude a file from being compiled with ARC you can do so by setting ...
- 用instr 直接取最右端的点的位置:
用instr 直接取最右端的点的位置: SQL> select substr('/upload/UserFiles/..ea85a945e72bc71fcffca399_140.jpg',ins ...
- vuex在页面中以对象展开运算符形式引入报错解决
当页面中以mapGetters等对象扩展运算符写的时候,会报错 unexpected token 解决如下: babel还要加插件才能解释这个写法 npm install --save-dev bab ...
- Android SDK Content loader has encountered a problem” “parseSdkContent Failed ”
昨天做了一个Android的小程序,调试的时候连接真实的手机,而不是用模拟器.今天早上打开eclipse的时候报错:“Android SDK Content loader has encountere ...
- 解决计算机改名无法连接TFS的问题
闲着没事改了下计算机名字,结果造成TFS无法连接. 报错讯息如下: ---------------------------Microsoft Visual Studio---------------- ...
- Python中dataframe数据框中选择某一列非空的行
利用pandas自带的函数notnull可以很容易判断某一列是否为null类型,但是如果这一列中某一格为空字符串"",此时notnull函数会返回True,而一般我们选择非空行并不 ...
- GDAL------加载Shapefile文件
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- 03-Linux各目录及每个目录的详细介绍
Linux各目录及每个目录的详细介绍 [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所 ...
- ios开发之--时间格式化
字符串转时间 iOS 中 NSDate 是时间管理类,这里获取到的时间是 UTC 时间,可以根据需要转换成任意地区的时间. NSFormatter 类是时间格式化类,可以根据指定的格式.地区将指定的时 ...