.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国外加速穿透到国内接口。
结语:当然上面的架构需要项目有一整套良好的架构设计和优良的代码规范,不然再好的机器也禁不住垃圾代码和垃圾架构。
转载于:https://www.cnblogs.com/NatureSex/p/3208997.html
.NET 高性能WEB架构-比较容易改造方式 - .NET架构相关推荐
- 基于linuxunix高性能web服务器架构思路分析
随着21世纪互联网的快速发展以及web2.0的诞生,最初web服务器已经不能满足我们的需求.而现在我们要考虑的不再仅仅是web服务器以及数据库服务器这么简单,我们所需要考虑的就是设计出一套高性能web ...
- Warp : Haskell 的高性能 Web 服务器(译文)
Warp : Haskell 的高性能 Web 服务器(译文) 按 GHC 7.8 马上就要发布了.一个很大的改进就是加入了本文所说的并行 IO 管理器.从此之后 Haskell 在高性能服务器领域将 ...
- 一文讲透推荐系统提供web服务的2种方式
作者丨gongyouliu 编辑丨zandy 来源 | 大数据与人工智能(ID: ai-big-data) 推荐系统是一种信息过滤技术,通过从用户行为中挖掘用户兴趣偏好,为用户提供个性化的信息,减少用 ...
- Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
1.介绍 Nginx - 高性能web server,这个不用多说了,大家都知道. FastCGI程序 - 常驻型CGI程序,它是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将 ...
- 用Nginx+Lua(OpenResty)开发高性能Web应用
在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡.反向代理.代理缓存.限流等场景:而把Nginx作为一个Web容器使用的还不是那么广泛.Nginx的高性能是大家公认的,而Nginx开 ...
- 实战:Nginx + FastCGI 程序(C/C++) 搭建高性能web server
1.介绍 Nginx - 高性能web server,这个不用多说了,大家都知道. FastCGI程序 - 常驻型CGI程序,它是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程 ...
- 引用:编写高性能Web应用程序的10个技巧(一)
在网上看到这样一篇文章:编写高性能Web应用程序的10个技巧 感觉很不错就引用到我的blog里面,和大家一起学习,同时也谢谢作者本人 数据层性能 技巧 1 - 返回多个结果集 技巧 2 - 分页的数据 ...
- 构架高性能WEB网站的几点知识
前言: 对于构架高性能的web网站大家都很感兴趣,本文从几点粗谈高性能web网站需要考虑的问题. HTML静态化 什么是html静态化? 说得简单点,就是把所有不是.htm或者.html的页面改为.h ...
- 使用Nginx+Lua(OpenResty)开发高性能Web应用
在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡.反向代理.代理缓存.限流等场景:而把Nginx作为一个Web容器使用的还不是那么广泛.Nginx的高性能是大家公认的,而Nginx开 ...
- 高性能Web服务器Nginx使用指南
Nginx是一个高性能的http服务器和反向代理服务器,是一个高度模块化的web服务器,和Apache的模块化不同,Nginx的模块不支持动态编译,Nginx要加入新的第三方模块的时候,必须先下载模块 ...
最新文章
- WebGL 3D 工业隧道监控实战
- 返回值_关于GWLP_WNDPROC的那些奇怪的返回值
- SharePoint 2013 Word 转换PDF服务介绍及示例
- 在jsp页面利用Ajax动态显示数据库中数据
- JPA注解实现one-to-one的主键关联映射
- redis常用命令(基础篇)
- java并发编程实战源码_java并发编程实战(附源码)
- Halcon深度学习预训练网络模型
- php日历表代码,PHP输出日历表代码实例
- mac抓包工具charles破解版安装及简单使用
- 用脑电波控制智能假肢:如何利用深度学习技术进行EGG数据分类
- Python模拟键盘输入(附Python 键位码表)
- 2022年安全员-B证操作证考试题库及答案
- 2db多少功率_db换算(db和功率的换算)
- VMWare虚拟机 网络连接模式介绍
- LCA 用到LCA的各种题目
- MTK平台开机初始化时 camera驱动流程|MTK camera调试常见几十种问题处理方法
- 三极管基础分类, 参数选择及常见型号对比
- 蓝牙知识二【FEATURE SUPPORT】【LL_PING】【 LL_LENGTH】【Private Device Address Generatio】【profile例子EXAMPLE ATT】
- 【Verilog闯关第2天】数字秒表的设计
热门文章
- 以太网交换机工作原理
- Linux中eclipse配置Maven,eclipse maven选项怎么配置settings
- airpods pro是按压还是触摸_AirPods Pro入手开箱 稍后补充使用感受
- vue 第三天(绑定属性)
- 3.调整web框架行为 3.1配置路径匹配形式
- [渝粤教育] 中国地质大学 计算机图形学(新) 复习题 (2)
- PyTorch中查看GPU使用情况以及一些重要函数
- T3137 栈练习1 codevs
- codemirror TAB 缩进问题记录
- Spark中使用Dataset的groupBy/agg/join/broadcast hasjoin/sql broadcast hashjoin示例(java api)