前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务扩展性和高可用-缓存(翻译)

微服务扩展性和高可用-缓存(翻译)

作者头像
日薪月亿
修改2019-05-16 13:01:40
5650
修改2019-05-16 13:01:40
举报
文章被收录于专栏:技术探索

原文出处:https://dzone.com/refcardz/scalability?chapter=3

缓存策略

有状态的负载均衡技术需要服务提供者之间共享数据。

缓存是一种在多个消费端或服务端之间共享数据的技术,计算或获取数据都是非常昂贵的.数据存储和检索在一个子系统中。该子系统提供对频繁访问数据副本的快速访问。

缓存是通过一个索引表实现的,其中有一个唯一键用于引用某些数据。消费者首先通过检查(命中)缓存,并从缓存中检索数据来访问数据。如果数据不存在(缓存没有命中),则会发生更昂贵的索引操作,消费者或者子系统会将数据插入缓存。

写入策略

如果存储设备在不更新缓存的情况下更改, 则缓存可能会变成过期数据。缓存的写入策略定义了如何刷新缓存数据。一些常见的写入策略包括:

  • 直写:对缓存的每次写入都遵循对存储设备的同步写入。
  • 写在后面:更新的条目在缓存表中标记为脏数据,并且只有在请求脏数据时才会更新。
  • 无写入分配: 只有读请求是在数据不会随时间变化但检索成本很高的假设下缓存的。

应用缓存

  • 隐式缓存发生在很少或没有程序员参与实现缓存的情况下。程序使用本机API执行查询和更新,缓存层自动缓存请求,与应用程序无关。示例:Terracotta(https://www.terracotta.org/
  • 当程序员参与实现缓存API并可能实现缓存策略时,会发生显式缓存。程序必须将缓存API放入到流中才能使用它。示例:memcached(http://www.danga.com/memcached)、redis(https://redis.io)和oracle coherence(http://coherence.oracle.com)。

一般情况下隐式缓存系统是特定于平台或语言的。例如Terracotta只能运行在Java和JVM-hosted 语言上,例如Groovy或者Kotlin。。显式缓存系统可以同时用于多种编程语言和跨多个平台。

Memcached和Redis与每个主要的编程语言一起工作,并且与Java、.NET和本地C++应用程序一致。

Web 缓存

Web缓存用于存储文档或部分文档(更小的数据),以减少Web应用程序的服务器负载、带宽使用和延迟。Web缓存可以存在于浏览器(用户缓存)或服务器上,这是本节的主题。Web缓存对客户端不可见,可以在以下任何类别中分类:

  • Web加速器:它们代表源服务器运行。用于加快对大量资源(如媒体文件)的访问,并且通常与预定的接收者进行更接近的地理定位。内容分发网络(CDN)是Web加速缓存的一个例子;Akamai、Amazon S3、Nirvanix就是这种技术的例子。
  • 代理缓存:它们向一组可能都有权访问同一资源的客户机提供请求。它们可以用于内容过滤和减少带宽使用。Squid、Apache、Amazon Cloud Front、ISA Server就是这种技术的例子。

分布式缓存

缓存技术可以跨多个系统实现, 这些系统为多个使用者和多个资源的请求提供服务。这些称为分布式缓存, 如图6中的设置所示。Akamai 是分布式 web 缓存的示例, memcached 是分布式应用程序缓存的一个示例。

95ad3230-721b-11e9-b22a-7d284106ced1.png
95ad3230-721b-11e9-b22a-7d284106ced1.png

图 6: 分布式缓存

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 缓存策略
    • 写入策略
      • 应用缓存
        • Web 缓存
          • 分布式缓存
          相关产品与服务
          内容分发网络 CDN
          内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档