弹性高可用的腾讯云平台
腾讯云平台核心价值 腾讯云平台是基于腾讯多年海量运营经验构建的,向用户提供丰富、低成本、安全的互联网基础设施。腾讯云平台不仅是一个IaaS平台,也是PaaS平台。用户可以根据自身业务特点和开发运维人员的实际情况做灵活的选择。1.接入门槛低
(1)技术上,第三方开发者可以方便快速的接入腾讯云平台。开发者无需关心复杂的基础架构,开发者可以将精力集中于用户和服务,提供更好的产品。
(2)成本上,腾讯云平台具有大规模运营资源采购的强议价能力,以及高自动化的设备管理和可用运营资源的挖掘能力,这些都大大降低了单位资源的成本;
2. 自动化运维:
(1)开发者可以自由控制资源的数量,腾讯云平台也支持资源自动伸缩。
3. 平台级服务和保障:
(1)高可靠性、高性能:腾讯云平台实现了完备的容灾策略,全国范围内选用高质量IDC机房实现多运营商接入,高标准的机房网络建设。
(2)腾讯云平台应用了腾讯多年积累的针对互联网SNS应用防外挂,安全加固审计,抗攻击等经验,有效保证用户信息安全和应用运营质量。
1 腾讯云平台架构演进之路 一、 从虚拟机到云弹性引擎,给用户更智能便宜的计算资源
虚拟机服务CVM(CloudVirtual Machine)通过提供虚拟机的方式,让用户很便捷的进行机器申请,然后在虚拟机上面部署各种服务。为了进一步降低用户使用成本,我们推出了CEE,CEE是一种Web服务引擎,与腾讯云平台提供的虚拟机服务相比,CEE更加智能、易用。
(1)开发者可在CEE上可以一键部署和发布应用程序;
(2)CEE提供自动化监控和运维,开发者无需考虑负载均衡和容量控制,CEE可根据访问量自动进行资源的扩容和缩容。
图一 CEE架构图
1. 一键式应用发布
为了帮助用户进行快速、方便的部署代码,CEE采用业界流行的SVN方式进行代码的管理,正常情况下,svncommit完成后,代码就会被部署到应用所在的容器。代码提交后即可通过浏览器或者SVN客户端验证代码是否已经部署到虚拟容器中。
2. 资源智能调度
为了保证服务质量,需要根据应用的负载情况进行动态的扩容和缩容操作,同时提高了资源的使用效率。另外,通过自动屏蔽和下线故障的借点,保证应用健康。
(1) 动态扩缩容
云监控中心会实时采集业务所在容器的负载(cpu、memory),业务的流量、延时信息。经过统一的分析处理,查看是否超过用户的阈值,如果超过,会向自动扩缩容模块发出指令,完成资源的创建和环境配置。
(2) 故障和容错
监控发现物理机器异常或者发现某个虚拟容器出现比较明显的异常(大量的http 404返回码、连接超时等等)。会自动将物理机器和虚拟容器进行下线。
(3) 内网负载均衡
虚拟容器访问后端的服务通过vip和vport的方式。能够对后端节点进行动态的负载均衡。当后端服务扩缩容时,只需要在vip和vport组里面节点变更即可,应用完全无感知。
3. CEE虚拟终端
当代码运行出了问题,第三方习惯于登录服务器查看日志,或者看运行环境是否有问题,在非虚拟机方案下,用户却无法自助,只好找服务提供商。因此,我们通过虚拟终端的方式方便用户在线调试,帮助用户更好的了解自己应用的运行环境。
4. CEE监控
为了帮助用户全面展现整个系统的运行状态。CEE提供了监控服务,给用户提供全面的监控数据,不同的管理视图,以满足不同的用户场景需求。实时监控视图帮助用户随时掌握业务运营现状;每日运营报告,将当天业务运营的状况汇总,一目了然。
二、 大量应用接入造成的IPV4地址紧张的压力
随着腾讯云平台的用户用来越多,之前广泛采用的LVS接入方式碰到了问题,LVS的特点决定了每个业务必须拥有一个独立的外网IP,而国内的外网IP地址处于极度短缺的情况,所以推出了TGW,用于解决外网IP紧缺的问题。
TGW,全称Tencent GateWay,是一套实现多网统一接入、外网网络请求转发、支持自动负载均衡的系统。TGW自动进行域名解析,应用接入TGW后,即可使用域名方式对外提供服务,以及电信/联通双网接入。TGW大量节省Real Server上的外网IP,收敛比为:30:1,极大降低成本。
Web APP使用TGW后,某一个专区的所有服务器将共用一个接入IP,如下图所示:
三、 海量数据存储给腾讯云平台带来的挑战
在腾讯过去的几年中,平台用户基数、在线、应用数都取得突飞猛进的增长,存储数据量更是一个指数的增长,海量的数据给腾讯带来非常大的压力。CMEM和CDB是腾讯解决高性能、大数据量之道,也开放给了第三方用户。
1. NoSQL解决方案CMEM
CMEM(CloudMemory)是高性能内存级持久化存储服务,基于一个存储key-value对的hashmap,数据使用内存存储,运行在物理内存上,完全兼容memcached协议,适用于更新频繁且要求快速响应的场景。 CMEM和Memcached的不同点如下:
1. 数据持久性:
CMEM用来存储最终数据,并保证数据持久性,重启机器不丢失,Memcached仅存储临时数据,机器重启后丢失。
2. 扩容方面:
CMEM扩容过程是数据搬迁过程,不会影响命中率,Memcached增减服务器的时候,由于部分缓存丢失,会导致命中率下降。
3. 分布性方面:
CMEM系统本身支持分布,客户端无需关注具体细节,Memcached的分布需要客户端参与计算。
4. 服务模型方面:
CMEM作为最终存储,不再需要数据库,Memcached仅为临时缓存,必须依靠MySQL等最终存储而存在。
5. 性能以及可靠性方面:
CMEM比Memcached具有更高的读写性能,尤其是海量的并发写。此外,CMEM提供主从热备,通过定期镜像和实时流水同步来备份。
2. 关系型数据库解决方案CDB
CDB(CloudDatabase)完全兼容MySQL协议,适用于面向表结构的场景,适用MySQL的地方都可以使用CDB,提供了高性能,高可靠,易用,便捷的MySQL集群服务,整合了备份,扩容,迁移等工具,同时提供CDB管理台,开发者可以方便的进行登录、数据库和表的增删查改等工作。
例如,SNS类应用在其上升周期用户量增长非常迅速,会带来访问量剧增,这时DB层往往需要更换性能更好的设备以支持海量访问。通常开发者自行完成MySQL实例的重新部署和数据迁移。迁移完成后,由于IP、Port变更,还需要修改代码。如果使用CDB,CDB支持实例无缝升级到更高配置,自动化完成部署和迁移工作,升级后IP/Port不变,令开发者无后顾之忧。
四、 如何给用户提供一个安全稳定的支付方式?
腾讯云支付( )是建立在腾讯公司安全稳定的支付系统、丰富便捷的收费渠道基础上,为第三方开发者量身定制的支付体系。腾讯云支付不仅为第三方应用提供了专业的虚拟货币充值、支付、结算等传统功能,并且具备安全,对账,统计分析,营销活动管理等一系列增值功能,致力为第三方应用打造一个可靠、专业的支付平台,在此基础上更为第三方提供多元化、智能的支付营销解决方案。
(1)覆盖数十个专业支付渠道:云支付覆盖包含Q币Q点、Q 卡、财付通、网银等在内的数十个专业支付渠道,使计费结算更加便捷;
(2)应用账户托管:云支付提供统一账户功能,对各类应用支付币统一管理,提供安全集中的账户托管功能;
(3)安全营销:第三方接入支付后,可通过平台自助申请营销活动;
(4)与各应用实现轻松便捷的自动对账:为第三方应用提供对账接口使各应用与腾讯轻松自动对账并提供每日账单查询、明细上传下载等服务;
(5)安全稳定的结算功能:云支付提供腾讯公司与第三方应用定期结算的功能,保障付款的按时、安全和流程化
五、 如何保证第三方用户的安全?
对于hosting应用,用户会非常关心将代码部署在腾讯服务器上的安全性。腾讯云计算平台针对系统、网络、数据、密码等不同层面制定了安全防护策略,有效保护您的应用。
(1)资源隔离:在业务之间采取访问隔离策略,防止应用间内部恶意访问的安全问题。
(2)安全加固:在操作系统、服务器软件配置上进行了加固,防止系统级别的安全漏洞,并会及时周知开发者进行相应的处理。
(3)网络安全:借助腾讯安全中心强大的防攻击体系,帮助应用抵御网络攻击和入侵。
(4)数据安全:开发者申请了虚拟机或者APPEngine等资源后,其权限只能访问对应帐号下的数据,不同应用之间的数据是隔离的。
(5)密码安全:登录腾讯服务器时,必须通过跳板机方式登录。登录跳板机时必须持有可信任的证书,使用固定密码+动态密码方式登录,有效保证密码安全。
安全服务后台自动分析应用调用OpenAPI的数据,基于活跃人数、访问量、频率、异常IP 等多种维度鉴别出现访问异常的应用,并及时告警。
六、 如何让开发商共享腾讯的用户资源?
为了与接入腾讯开放云平台的应用开发厂商社共享海量的用户资源,腾讯开放云平台提
供了社交类OpenAPI。社交类OpenAPI提供了腾讯各大平台的用户资料、关系链等海量的用户信息,为应用开发厂商开发应用提供了最基础的数据支持。用户引流类OpenAPI通过好友触达的方式提供了用户之间点对点和点对多两种方式的互动,还可以依托非好友触达的方式提供单用户提醒、消息推送等功能。丰富能力类OpenAPI为应用开发厂商提供了基于SNS平台的功能接口支持能力,使得用户在应用中的操作和平台结合更为紧密。基础支持类OpenAPI为应用开发厂商提供了通用的基础能力,开发厂商可以通过此类OpenAPI解决应用开发和运营过程中所遇到的支付、安全以及防沉迷等共性问题。
从OpenAPI的功能类型上,腾讯开放平台的OpenAPI可以分为以下几种:
[*]社交类
[*]用户引流类
[*]丰富能力类
[*]基础支持类
七、 如何让开发商更了解应用的运营数据?
腾讯罗盘为腾讯开放平台的应用开发者提供权威的数据分析服务,通过海量数据的分析挖掘和可视化展现,提供平台分析和高级分析服务,开发者可根据自身需要选择合适的数据分析服务。
学习了。 楼下的接上
页:
[1]