腾讯CMEM平台简介

CMEM简介

  • 全称为Cloud Memcache,是腾讯云平台提供的极高性能、内存级、持久化、分布式

Key-Value存储服务。

  • CMEM是作为最终落地存储来设计的,拥有数据库级别的访问保障和持续服务能力。
  • CMEM兼容memcached协议,能力比memcached强(能落地),适用memcachedttserver的地方都适用CMEM
  • CMEM解决了内存数据可靠性、分布式及一致性上的问题,让海量访问业务的开发变得简单快捷。
  • 使用CMEM的好处
  • 便捷,即时申请即时使用,无需自行安装。
  • 易用,可以直接使用memcachedAPI来访问CMEM
  • 安全可靠,重启机器不丢数据、 双机热备,主备切换对业务透明,跨机架跨交换机部署,具备灾难时的回档能力。
  • 省心,具备自动扩容能力,扩容对用户访问透明,且扩容后不影响服务,拥有全面监控及运营团队,用户不需要去半夜去处理故障。
  • 性能极高,热点数据全部都在内存,且解决了内存数据的可靠性问题。
  • 成熟稳定,容灾机制健全,服务成熟,服务于海量第三方用户且久经考验,开发者完全可以放心使用,运营数据已超过40T,接入业务包括胡莱三国,幻想之城,蜀山传奇等。

  • 架构模型:

    • 服务的可靠性:
    • 接入机镜像,相互容灾
    • 存储机双机热备,读自动切换,写半自动切换
    • 备份中心,每日全量备份+5分钟粒度流水备份

    -存储机配有磁盘镜像和操作流水,掉电重启后自行重建内存

    服务的无损性:

    • 人工/自动触发扩容,扩容瞬间完成,解决数据瞬间暴涨问题
    • 数据搬迁时用户可读写,影响万分之一的删除,每个用户受影响时间正常情况下持续在1分钟之内
    • 单台备机死机服务无影响,主机死机后只读,人工/自动切换到备机则恢复到可读写状态
    • 极端灾难的应对:
    • 机架掉电:主备Cache部署在不同机架。
    • 交换机故障:主备Cache部署在不同交换机下。
    • 机房掉电:服务受损,但数据可恢复。
    • 掉电+多点磁盘故障:生产系统无法恢复,由备份中心负责回档。
    • 备份能力:

    技术点:

    • 充分运用zero-copy思想,在消息传递时,基本达到理论上的最少copy次数。
    • 快速hash技术
    • 内存快速分配技术
    • 多核充分利用技术
    • 无锁技术

    结论:

    • 接入模块的小包处理能力可达到35w/s(req+rsp),最大限度挖掘了硬件能力,使性能达到极致。
    • CMEM后续性能挖掘点主要在硬件适配方面,包括超线程CPU,多队列网卡等。
    • 多协议支持:
    • 私有协议:广泛用于腾讯内部自研业务,支持接入鉴权,容灾,负载均衡,支持批量,多列,偏移访问。在不久的将来也会提供事务的特性,提供锁,回滚等操作。
    • Memcached开源协议:广泛用于第三方开放平台APP。包括胡莱三国,守卫家园,阳光小镇等。不支持异步客户端,使用前必须阅读限制条件。http://wiki.open.qq.com/wiki/CMEM
    • Redis接口:实现中。
    • Mangodb接口:实现中。
    • 限制条件和应用场景:

    限制:

    Key不超过10K

    Value不超过10M(memcached开源协议限制为1M)

    应用场景:

    数据总量适合于存储在内存中

    任何Key-Value形式的,写量很大的数据。

    对延时要求很高的业务。

    CMEM的用户价值:

    接入即可使用,无需自行搭建,简单方便。

    性能极好,几乎没有延时毛刺。小包2ms之内的服务质量保证。

    通过云化复用,节约用户成本。

    双机热备,磁盘流水,掉电不丢失,保障数据安全。

    无需用户运维,用户不用关注容灾、机器故障、扩容、分布等问题。专注于应用开发即可。

    依托腾讯的技术能力,使用户获得海量服务的能力,为应用的发展壮大奠定基础。

     

    CMEM未来开发计划:

    SSD介质支持,热冷调度,冷热调度,大幅降低用户成本。

    自动热点发现,自动负载调平,自动扩容,自动缩容,降低运维成本。

    面向最终用户的运营系统,为用户分析数据提供便利。

    事务支持,让用户回滚数据更加容易。

    接入通道扩容对用户透明。

     



【推广】 免费学中医,健康全家人
原文地址:https://www.cnblogs.com/NewWork/p/3260568.html