在ScaleIO上, XtremSW Cache主要有两种部署方式:

  • 把XtremSW Cache在每台server的内部用作cache - 在ScaleIO Data Server(SDS)下做cache. 这个和传统的SAN世界中的VNX Fast cache或VMAX cache的概念差不多.
  • 把XtremSW Cache用在应用程序端作cache - 在ScaleIO Data Client(SDC)下做cache. 这个在概念上与数据中心里的server side caching差不多.

 

Caching inside each server (caching below the SDS)

===============

这么配置的优势如下:

  • 数据一致性更佳: 对于数据共享要求较高的应用程序来说, 数据一致性至关重要. 如果有一片数据被一台Applicaiton Host改掉了, 与此同时这环境中的另一台host正在修改共享存储上的相同的这一片数据. 这种情形会导致数据毁坏和各种各样的不一致. 把XtremCache放在SDS下面, 我们就可以在不冒这种风险的前提下进行加速了, 如此就获得了一致性.
  • 不存在冷缓存(cold cache): 由于缓存是在存储端而不是应用程序端进行的,缓存是不会被应用程序主机的failover所影响. 所以, 也就不会有冷缓存需要"预热"(warm up)的时间了, 所以性能也就更加稳定. 有很多环境中failover是的确会发生的, 不光是由于出错(failure),(可以被认为是较少发生的情况), 还有主要是为了负载均衡做的failover. 在ScaleIO控制的节点集群中, 这就很有关系了, 因为scaleIO中的计算资源被赋予计算任务是很有弹性的.
  • 缓存会有更好的利用率: 通过把缓存部署在每个节点的SDS之下, 我们生成了一个很大的共享的缓存层, 从而cluster中的所有的应用程序都可以使用cache了. 比如说你有20个节点, 有20个不同的应用程序, 有20块350GB的XtremCache卡. 你一共有7 TB的flash 缓存. 有些应用程序缓存会用的多一些, 有些由于需求少,所以比较少的缓存就可以满足它了 - 这都跟应用程序的数据集的大小有关. 通过在每台server中设置缓存, 你得到了一个7 TB的flash cache可以被动态的分派给需要的用户. 所以, 对于活跃的需要消耗上TB的缓存的应用程序, 这可以极大地提高缓存的命中率和整体性能.

 

Application side caching (caching above the SDC)

=================

缓存仅被部署在某台applicaiton server下, 如此配置的优势如下:

  • 性能: 如果环境对于磁盘延迟非常敏感(零点几毫秒的提高就能明显的体现出来), 那么这种部署方式就比较合适了, 因为数据比较靠近应用, 缓存并不会消耗网络带宽.
  • 部署考虑: 这种部署的颗粒度更细. 如果仅有某几个应用需要加速, 那么部署XtremCache专门加速某几台虚机就可以了. 而且这里也没有前面提到的一致性问题.
  • 数据一致: 缓存卡的软件必须支持对data corruption的保护, XtremCache是有原生支持的(支持Oracle RAC, 和active / passive clusters 诸如MSCS, VCS 或 native Linux clustering).

 

总之, 要么Xtrem卡部署在SDS之下, 要么部署在SDC之上. 部署在SDS之下, ScaleIO是知晓Xtrem卡的存在的; 部署在SDC之上, 那么这就跟ScaleIO没啥关系了, 没有ScaleIO的时候怎么样, 还是怎么样.

 

资料来源

=================

The Whole is Greater than the Sum

http://www.scaleio.com/blog/entry/the-whole-is-greater-than-the-sum

ScaleIO与XtremSW Cache如何集成呢?的更多相关文章

  1. spring boot redis 缓存(cache)集成

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  2. Linux Free命令各数字含义及Buffer和Cache的区别

    Linux Free命令各数字含义及Buffer和Cache的区别 Free 命令的各数字含义 命令演示 [root@vm1 ~]# free total used free shared buffe ...

  3. 002-spring cache 基于声明式注解的缓存-02-CachePut、CacheEvict、Caching、CacheConfig、EnableCaching、自定义

    1.2.CachePut annotation 在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素 ...

  4. SpringBoot | 第十一章:Redis的集成和简单使用

    前言 上几节讲了利用Mybatis-Plus这个第三方的ORM框架进行数据库访问,在实际工作中,在存储一些非结构化或者缓存一些临时数据及热点数据时,一般上都会用上mongodb和redis进行这方面的 ...

  5. 一个缓存使用案例:Spring Cache VS Caffeine 原生 API

    最近在学习本地缓存发现,在 Spring 技术栈的开发中,既可以使用 Spring Cache 的注解形式操作缓存,也可用各种缓存方案的原生 API.那么是否 Spring 官方提供的就是最合适的方案 ...

  6. ARM之cache

    一. 什么是cache 1.1. cache简介 a. Cache 即高速缓冲存储器,是位于 CPU 与内存之间的高速存储器,它的容量比内存小但交换速度快. b. ARM处理器的主频为上百M甚至几G, ...

  7. spring boot集成mybatis(1)

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  8. spring boot rest 接口集成 spring security(2) - JWT配置

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  9. spring boot rest 接口集成 spring security(1) - 最简配置

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

随机推荐

  1. MVP模型

    MVP模型一般要创建三个文件夹:View.Interactor(Model).Presenter 每个部分都有其接口和实现类,就是为了方便回调 这里做一个登陆界面为例子: 接口: Interactor ...

  2. CSUOJ 1087 就多了两分钟

    Description Yucept21和他的室友Zyn因为宿舍没电去网吧上网,上了27分钟,Cs打电话来说来电了.所以Yucept21在第29分钟下机了,上网的费用是一块钱,然后Zyn墨迹了两分钟, ...

  3. iOS系统中导航栏的转场解决方案与最佳实践

    背景 目前,开源社区和业界内已经存在一些 iOS 导航栏转场的解决方案,但对于历史包袱沉重的美团 App 而言,这些解决方案并不完美.有的方案不能满足复杂的页面跳转场景,有的方案迁移成本较大,为此我们 ...

  4. Oceanus:美团HTTP流量定制化路由的实践

    背景简述 Oceanus是美团基础架构部研发的统一HTTP服务治理框架,基于Nginx和ngx_lua扩展,主要提供服务注册与发现.动态负载均衡.可视化管理.定制化路由.安全反扒.session ID ...

  5. JAVAEE——宜立方商城02:服务中间件dubbo、工程改造为基于soa架构、商品列表实现

    1. 学习计划 第二天:商品列表功能实现 1.服务中间件dubbo 2.工程改造为基于soa架构 3.商品列表查询功能实现. 2. 将工程改造为SOA架构 2.1. 分析 由于宜立方商城是基于soa的 ...

  6. 1025 PAT Ranking (25)(25 point(s))

    problem Programming Ability Test (PAT) is organized by the College of Computer Science and Technolog ...

  7. 获取Android apk的包名

    Read the package name of an Android APK aapt dump badging <path-to-apk> | grep package:\ name

  8. bzoj3456 城市规划 多项式求In

    \(n\)个点的无向联通图的个数 打着好累啊 一定要封装一个板子 记\(C(x)\)为无向图个数的指数型生成函数,\(C(0) = 1\) 记\(G(x)\)为无向联通图个数的指数型生成函数,\(G( ...

  9. bzoj 1875: [SDOI2009]HH去散步 -- 矩阵乘法

    1875: [SDOI2009]HH去散步 Time Limit: 20 Sec  Memory Limit: 64 MB Description HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走, ...

  10. Vue的过渡或动画

    一.过渡的类名 在进入/离开的过渡中,共有6种class进行切换,分别是v-enter,v-enter-active,v-enter-to,v-leave,v-leave-active,v-leave ...