设为首页 收藏本站
查看: 1846|回复: 0

[经验分享] Windows Server AppFabric分布式缓存研究

[复制链接]

尚未签到

发表于 2017-12-7 11:33:35 | 显示全部楼层 |阅读模式
  分享一则先前对Windows Server AppFabric分布式缓存的技术研究。
  一. AppFabric 技术架构和原理
  AppFabric与Memcached类似,采用C/S的模式,在 server 端启动服务进程,在启动时可以指定监听的 ip,自己的端口号,所使用的内存大小等几个关键参数。一旦启动,服务就一直处于可用状态。
  适用于使用 ASP.NET、Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 生成的应用程序。
  Windows Server AppFabric 具有三项核心功能:分布式缓存、工作流程管理和服务管理。

  •  针对 Web 应用程序,Windows Server AppFabric 提供了缓存功能,为应用程序数据提供高速缓存、扩充性及高可用性等特性,借此避免对数据源进行不必要的调用。
  •  针对复合应用程序,Windows Server AppFabric 则让用户能更轻松地构建和管理 Windows Workflow Foundation 和 Windows Communication Foundation 所构建的服务。
  •  Windows Server AppFabric 能够有效地简化这些复合应用程序的开发、部署及管理工作。
DSC0000.png

  当客户端第一次获取一些数据的时候,如ASP.NET应用程序用户提供一些信息资料,或者从数据库中读取的信息,它可以使用AppFabric Caching Services客户端类库将一个唯一的名称和这些信息一起存放在缓存群集中( cache cluster)。对于客户端来说,缓存集群中的所有缓存服务器就是单一的逻辑存储。客户端既不知道也不关心的哪台物理服务器的缓存哪些数据。
  Windows Server AppFabric Caching 主要特点有:

  •  任何可以被序列化的 CLR 对象都可以通过简单的 Cache API 将数据缓存
  •  支持企业规模:可支持上百台主机的服务器架构
  •  可弹性的调整配置,并通过网络缓存服务
  •  支持动态调整规模,可随时新增节点
  •  支持高可用性架构
  •  自动负载平衡
  •  可与 Event Tracing for Windows (ETW), System Center 等机制整合管理与监控
  •  提供与 ASP.NET 的无缝整合,将 Session 数据储存至缓存,也可在 Web farm 架构下将应用程序数据缓存 ,减少数据库大量读取的负担
  •  第一版遵循 cache-aside architecture ( 明确快取, Explicit Caching ),意即你必须在你的应用程序中明确指明你要新增(Put)或移除(Remove)快取的项目,所有快取数据并不会自动与任何源数据库进行同步。
  二. AppFabric 逻辑架构
DSC0001.png

  命名缓存也是一种缓存,可以为应用程序配置一个或者多个命名缓存,各个命名缓存可以配置成相互独立的,这样可以单独配置每个命名缓存以达到最优的性能。
  三. 代码示例
  1. 测试环境配置
   双节点的AppFabric集群
 Windows Server 2012测试环境
 Windows Server AppFabric 1.1
 主节点: 10.24.13.27 administrator/Test1234
 从节点: 10.24.12.206 administrator/Test1234
 AppFabric缓存服务配置共享文件路径:\\WIN-5SF1MT124FA\Cache
 缓存服务配置文件:\\WIN-5SF1MT124FA\GSPCache\ ClusterConfig.xml
 端口配置:
DSC0002.png

  显示缓存配置:
DSC0003.png

  2. 应用程序配置缓存
  App.Config/Web.Config增加配置节:
DSC0004.png

DSC0005.png

  3. 示例代码
DSC0006.png

  4. DataCache类的主要方法
DSC0007.png

DSC0008.png

DSC0009.png

  四、安装部署配置AppFabric
  1. 安装前准备,启用Windows Update服务
DSC00010.png

DSC00011.png

  在主节点上创建共享的文件夹:
DSC00012.png

  保证在同工作组的机器中不需要输入用户名和密码便可访问共享的文件夹:
  \\WIN-5SF1MT124FA\Cache
  2. 安装AppFabric并配置成集群
   DSC00013.png
DSC00014.png

DSC00015.png

DSC00016.png

DSC00017.png

DSC00018.png

DSC00019.png

DSC00020.png

  3. 安装其他的AppFabric并加入集群
  安装第二个AppFabric和第一个类似,不同的是配置AppFabric不同
DSC00021.png

DSC00022.png

DSC00023.png

DSC00024.png

  4. 设置并启动AppFabric集群
  以管理员身份运行Windows PowerShell
  顺序执行下面这些Command :
  增加一个分布式Cache管理模块
  Import-Module DistributedCacheAdministration
  设置cache cluster
  Use-CacheCluster
  授权你的某个帐户 domain\username :
  Grant-CacheAllowedClientAccount WIN-5SF1MT124FA \Administrator
  验证授权是否成功:
  Get-CacheAllowedClientAccounts
  设置安全模式和保护级别:
Set-CacheClusterSecurity -ProtectionLevel None -SecurityMode None

  最后启动:
  Start-CacheCluster
   DSC00025.png
DSC00026.png

DSC00027.png

  五、常用命令
  1.Start-CacheCluster
   2.Stop-CacheCluster
   3.Get-CacheHost 可以得到所有的Cache主机
   4.Start-CacheHost GFTEST:22233 启动一个Cache主机
   5.Stop-CacheHost GFTEST:22233 停止一个Cache主机
   6.Get-CacheAllowedClientAccounts 得到授权的用户.
   7.Grant-CacheAllowedClientAccount NetworkService 给用户授权
   8.Export-CacheClusterConfig -File E:\VelocityCache\ClusterConfig.xml
   9.Import-CacheClusterConfig -File E:\VelocityCache\ClusterConfig.xml
  10.Get-CacheStatistics default 得到默认或当前cache的详细统计结果。
  六、性能测试
  1. 两个节点的虚拟机性能测试结果
DSC00028.png

  2. 两个节点的物理服务器性能测试结果
DSC00029.png

  3.并行读写缓存
DSC00030.png

DSC00031.png

DSC00032.png

  周国庆
  2017/6/21

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421658-1-1.html 上篇帖子: Windows Server 2016 下篇帖子: windows server 2012 安装 VC14(VC2015) 安装失败解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表