分享一则先前对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 能够有效地简化这些复合应用程序的开发、部署及管理工作。

当客户端第一次获取一些数据的时候,如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 逻辑架构

命名缓存也是一种缓存,可以为应用程序配置一个或者多个命名缓存,各个命名缓存可以配置成相互独立的,这样可以单独配置每个命名缓存以达到最优的性能。

三. 代码示例

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
 端口配置:

显示缓存配置:

2. 应用程序配置缓存

App.Config/Web.Config增加配置节:

3. 示例代码

4. DataCache类的主要方法

四、安装部署配置AppFabric

    1. 安装前准备,启用Windows Update服务

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

保证在同工作组的机器中不需要输入用户名和密码便可访问共享的文件夹:

\\WIN-5SF1MT124FA\Cache

2. 安装AppFabric并配置成集群

3. 安装其他的AppFabric并加入集群

安装第二个AppFabric和第一个类似,不同的是配置AppFabric不同

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

、常用命令

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. 两个节点的虚拟机性能测试结果

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

3.并行读写缓存

周国庆

2017/6/21

转载于:https://www.cnblogs.com/tianqing/p/7057784.html

Windows Server AppFabric分布式缓存研究相关推荐

  1. Windows Server AppFabric 缓存容量规划指南

    此主题尚未评级 - 评价此主题 Jason Roth.Rama Ramani.Jaime Alva Bravo 2011 年 3 月 本白皮书为 Windows Server AppFabric 缓存 ...

  2. Windows Server AppFabric Caching

    这套 AppFabric Caching 比我用过的 memcached 复杂多了,MSDN有一篇文章进行介绍Introduction to Caching with Windows Server A ...

  3. Windows Server AppFabric Beta 2 for For Vistual Studio 2010已经发布

    Windows Server AppFabric Beta 2 For Vistual Studio 2010/.NET Framework 4.0已经发布了,参看EndPonit上的博客文章http ...

  4. windows server 2012 分布式文件系统DFS介绍

    在上一篇文章server 2012网络负载均衡NLB介绍的文章中,我们当时做实验的时候为了能够把效果表现出来,所以NLB2和NLB3两台机器上装IIS的index.htm文件我们分别创建了不同的两个文 ...

  5. Windows Server AppFabric缓存参考实例和方案选择 2/3

    实例 Web Camps Training Kit[MSDN上可以下载,如下的地址] http://download.microsoft.com/download/4/D/A/4DA69FF9-A83 ...

  6. Windows Server AppFabric Caching支持大数据量的配置

    Memcache支持的数据量大小为1M,最新版本可以通过配置调整突破1M(参看http://www.cnblogs.com/shanyou/archive/2010/02/01/1661271.htm ...

  7. [.NET领域驱动设计实战系列]专题八:DDD案例:网上书店分布式消息队列和分布式缓存的实现...

    原文:[.NET领域驱动设计实战系列]专题八:DDD案例:网上书店分布式消息队列和分布式缓存的实现 一.引言 在上一专题中,商家发货和用户确认收货功能引入了消息队列来实现的,引入消息队列的好处可以保证 ...

  8. Windows Server 2008驱动安装全攻略

    安装设备驱动程序原本是一件非常简单的事情,很多驱动程序在安装的时候我们只要不停单击"下一步"按钮,就能让驱动程序顺利地在对应计算机系统"落户";不过,当身边的计 ...

  9. 在Windows Server 2012 R2上安装Sharepoint 2013

        之前有在Windows Server 2008 r2上安装过Sharepoint 2013,后来因为虚拟机资源不足给删除了.现Sharepoint 2003升级至2013项目即将开始,需要重新 ...

  10. 从windows server的文件服务到分布式文件服务(一)

    一.序言 不知道大家是否考虑过服务器与终端机或者叫桌面机.工作站等的区别都有什么?也许你会说体积不同,也许你会说功能不同,甚至有些人会拉一个清单出来说说硬件上面的区别等.其实我最想说的是,两者最大的区 ...

最新文章

  1. 漫话:全球 IPv4 地址正式耗尽?是时候说说到底什么是IPv4和IPv6了!
  2. [译]Reduce(软件编写)(第五部分)
  3. php 代码修改后 重新实例化_从匿名函数到PHP设计模式之容器模式
  4. Linux设备驱动与整个软硬件系统的关系
  5. 学习Linux让我进入了知名企业 原
  6. 基于JQ的Lightbox插件视频教程
  7. 教您在Excel中批量生成二维码
  8. 银行登录页面html代码,银行管理系统(带界面)
  9. 二叉树非递归遍历方法总结
  10. PB入门:基础语法与操作
  11. edp协议 netty_使用esp8266 arduino 通过EDP协议 将数据传递到onenet平台
  12. 微信公众平台简易设计使用
  13. 【java毕业设计】基于java+BS的QQ屏幕截图工具设计与实现(毕业论文+程序源码)——屏幕截图工具
  14. js中iif的真假条件的判断方式
  15. exfat fat_正确的名称是exFAT还是FAT64?
  16. 试题 算法训练 黑色星期五
  17. 基于MATLAB的有限元法求解EIT技术的正问题
  18. 2021年度十大热门ER图(实体关系图)
  19. 视频教程-C#Winform组件应用-C#
  20. nRF52832学习记录(二、外设之 串口)

热门文章

  1. 在vscode中使用opencv
  2. windows系统下压力测试工具(cpu使用率,内存使用率,磁盘使用率,磁盘空间)
  3. SQL查询中的笛卡尔积现象解决方法
  4. 合并两个有序数组(Python)
  5. c语言输出语句形式,c语言输出语句是什么
  6. 计算机3d相册代码,CSS3实现3D旋转相册(示例代码)
  7. 木瓜蛋白酶改性金纳米粒修饰淀粉/二氧化硅复合微球/硒化镉/聚苯乙烯荧光二氧化硅微球的研究
  8. 转:有了这些网站,英文论文再也不难写了(15个英文论文写作辅助网站介绍和使用技巧)
  9. rhino6.5安装教程
  10. php laravel 图片下载