在一文中主要是讲述的如哬利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处第一是利用Nginx的负载均衡功能,第二是使用Nginx的反向代理来降低我们后端应用程序的压力那除了以上两点之外,其实我们还可以利用代理服务器的iphone清理缓存小技巧功能来进一步的降低后端应用程序的压力提升系统嘚吞吐量(tps)。这一篇就来看一下具体应该如何去做吧
-
Core 提供了 IMemoryCache 接口来供我们使用。它存储在本地的 WEB 服务器内容中注意是单机的 WEB 服務器,如果你需要部署的是一个服务器集群的话那么你应该用分布式iphone清理缓存小技巧,而不是选择这个
就不详细介绍了,想了解的可鉯直接看
随着云应用和服务器集群以及 docker 等技术的成熟,越来越多的应用程序开始考虑集群部署因为它具有更好的性能和可伸缩可扩展性。那么这个时候就需要用到分布式iphone清理缓存小技巧了
在 Core中,有一种iphone清理缓存小技巧叫做Responseiphone清理缓存小技巧这个iphone清理缓存小技巧主要是鼡来做代理服务器的iphone清理缓存小技巧。它主要原理是在输出的HTTP Response的header里面添加指定的iphone清理缓存小技巧标记这些iphone清理缓存小技巧标记用来让客戶端或者代理服务器来识别需要iphone清理缓存小技巧的内容。然后当客户端有请求到代理服务器的时候代理服务器可以识别出一部分请求,嘫后直接把结果返回给浏览器从而提高后端应用程序的性能和吞吐。
从这个图中看出来在第一次的时候,一个客户端请求经过代理服務器请求的我们后端的WEB服务器上然后WEB服务器在返回结果的META上添加了cache-control
标签,它的值为public
public
指示响应可被任何iphone清理缓存小技巧区iphone清理缓存小技巧。
private
指示对于单个用户的整个或部分响应消息不能被共享iphone清理缓存小技巧处理。这允许服务器仅仅描述当用户的部分响应消息此响应消息对于其他用户的请求无效。
iphone清理缓存小技巧确实是提升应用程序性能最快也是效果最明显的方式之一 Core 理想的分布式部署环境有兩种:
第一种是基于云的部署,比如使用AzureAWS,阿里云等那么我们可以使用他们提供的负载均衡器来帮助我们拦截洪水般的请求,然后借助于云提供的高可用的实例集群或者Docker集群来降低应用程序的压力提升吞吐。
比如我们项目现在使用的AWS的部署环境借助于AWS来实现企业的私有云,包括高可用的Redis集群弹性EC2集群,RDS集群S3等,这个时候只需要专注于业务
第二种是自己搭建集群环境,可以在服务器前端使用Nginx的負载均衡和iphone清理缓存小技巧来拦截大部分的HTTP请求然后后端使用Docker集群来做部署。
Docker部署可以参见本人的另外一篇文章:
在版本的快速迭代过程中你还需要做的工作有如何提高部署的工作效率,那么可以使用一些Docker集群管理工具后面会写一篇文章专门介绍Docker的集群管理和 ASP.NET Core的一键發布。
欢迎转载请在明显位置给出出处及链接
本文来源于网友分享,如有不妥联系删除