相关推荐recommended
【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践
作者:mmseoamin日期:2023-12-05

【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践

简介:随着公司商城的业务规模量的逐渐增长,对系统服务的弹性诉求越来越强烈,通过借助腾讯云TDSQL-C Serverless最佳落地实践如何对企业有效的降低成本,提高效率。

公司的业务现状:

公司在今年上半年开发了一个商城,在投入运营阶段发现在业务的初期5、6、7、8月初,用户量比较少,基本上还不到100的访问量,经过公司的策略改变,加上运营团队进行了几波疯狂有效的推广与促销,使系统的访问量逐渐在这2个月起来了,以下是公司的流量趋势图。

【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第1张

项目上线后,非但没有有效的盈收,反正每月还要消耗大量的IT软硬件资源成本。

【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第2张


Serverless的探索:

Serverless计算模式一直是各大云厂商追求的目标。Serverless概念以及FaaS+BaaS的设计思想的提出也极大地影响了近几年云计算的发展。随着腾讯云的Serverless Framework以及国内各云厂商FaaS模式的不断发展,业内对数据库模式的BaaS需求也越发强烈。

Serverless数据库的核心是解决实例CPU、内存和磁盘等资源平滑升降的问题,使得数据库实例可以根据负载情况按需分配资源。这种方式可以让用户获得最合理的IT资源,从而优化用户价值。

在业务波动较大的场景下,普通实例和Serverless实例资源使用和规格变化情况不同的对比:

【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第3张

【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第4张

Serverless这种模式在我们日常生活中无处不在。比如,我们日常用的水电,每月交水费和电费时,系统都会精确到几分钱,水电作为一种公共设施,完全可以按照个人需要去付费,用多少付多少,无需额外支付,其实这就是一种Serverless服务。

进入云计算模式以后,客户不用再去买服务器,直接使用云服务厂商提供的服务即可。这相当于是一种租车模式,相比买车成本更低,但同时也存在一个问题,因为你的业务不是每天都在跑,却时刻需要为这个服务去付费,租赁成本比较高昂。

而Serverless服务相当于打车模式,在你需要时才去为此付费,你不用特意去买车,也不用租车,需要用车时直接打车就行,更节约成本。从用户视角看,Serverless服务是一种完全按需付费的商业模式。

Serverless服务背后需要很强大的计算能力和资源池化的调度能力来支撑,对底层基础设施服务要求较高。而且随着技术演进,未来会有很多后端服务逐步走向Serverless化,比如云数据库,面临的技术挑战也会更大。


TDSQL-C Serverless 的实践:

TDSQL-C基于全新计算存储分离的分布式数据库架构,融合传统数据库和云计算技术优势,100%兼容MySQL和PostgreSQL,极致计算能力突破千核,存储容量达PB级别,使得性能和安全性媲美商用数据库。并且TDSQL-C支持集群和Serverless灵活弹性部署,克服传统架构下的存储量受限、扩展难、主从延迟高等缺点,充分释放领先技术的成本效益,最高可为企业节省90%的成本。

TDSQL-C Serverless数据库对比传统云数据库的优势:

Serverless计费方式无需按固定资源付费,根据业务负载自适应动态匹配资源,秒级弹性升降资源与计费,最高可节省 90% 费用。

【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第5张

TDSQL-C MySQL Serverless实例提供了CPU、内存的实时弹性能力,实例不仅提供网络资源、命名空间、存储空间的垂直资源隔离能力,还提供计算资源按需计费的能力,具有资源用量低、简单易用、弹性灵活和价格低廉等优点,赋能用户面向业务峰谷时对计算能力进行快速且独立的扩缩要求,做到快速响应业务变化的同时,合理优化使用成本,进一步助力企业降本增效。

优势:

  • 更低的成本:对于创业初期的企业,MySQL Serverless不依赖其他的基础设施和相关服务,即买即用并可以提供稳定和高效的数据存取服务。使用期间只需要为占用的资源按使用量付费。
  • 更大的存储空间:存储空间最大可高达32 TB,根据实例数据量自动扩展,可以有效避免集群存储资源不足对业务造成影响。
  • 计算资源自动弹性扩缩容:用户读取和写入需要的计算资源可弹性伸缩,不需要手动扩缩容,极大减少了运维成本和系统风险。
  • 全面托管和免运维:版本升级、系统部署、扩缩容、报警处理等所有运维工作由阿里云专业团队完成,用户无感知,业务无影响,服务持续可用,真正免运维。

    适用场景:

    • 开发、测试环境等低频数据库使用场景
    • 中小企业建站服务等SaaS应用场景
    • 个人开发者用户
    • 学校教学、学生实验等教育场景
    • 物联网(IoT)、边缘计算等不确定负载场景
    • 全托管或希望完全免运维的用户
    • 业务有波动或不可预测的用户
    • 具有间歇性定时任务的业务场景

      TDSQL-C Serverless 的落地实践:

      生态接入能力:

      TDSQL-C Serverless数据库可以通过HTTP请求直接访问数据库,降低了传统数据库的使用门槛。相比通过JDBC/ODBC进行CRUD等操作,对程序员的要求更低,为用户提供RESTful API等方式,以灵活地执行SQL语句并与数据库进行交互:

      【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第6张

      【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第7张

      秒级计费能力:

      【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第8张

      TDSQL-C MySQL Serverless数据库实现了秒级计费:

      • 正常运行的实例,计费系统会记录实例秒级CCU资源量变化,实现精确计费。
      • 当实例进入自动暂停阶段时,计费系统只会计算存储云盘费用,以节省费用。
      • 当实例恢复启动状态后,计费系统会重新按照资源CCU进行秒级计费。

        按量计费的模式:

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第9张

        资源包的模式:

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第10张

        实例自动启停:

        TDSQL-C MySQL Serverless支持实例的自动启停功能,这项功能为研发实例、测试实例或周期无负载的实例提供了更为极致的成本优化。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第11张

        当用户不需要访问数据库时,该功能能够让实例进入暂停状态,从而进一步节省资源成本。通过实现自动启停,TDSQL-C MySQL Serverless数据库能够更加智能地管理资源,使得资源的使用更加高效和灵活,为用户提供了更为经济和便捷的服务。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第12张

        为了保障实例启停体验,TDSQL-C MySQL Serverless数据库在以下几个方面进行了深入改造和优化:

        增加恢复感知器:

        通过恢复感知器,TDSQL-C MySQL Serverless实例在暂停期间也不会宕机。当MySQL处于暂停状态时,一旦有请求访问,恢复感知器,保证系统一直在线,随时响应用户的请求,提高实例的可用性和效率,将实例内核本身的启动时间压缩到2秒内,极大地提高了实例启动的效率和速度。

        云原生资源监控调度优化:

        为保障实例资源分配和加载的效率,TDSQL-C MySQL Serverless采用了计算与存储分离的架构模式,极大地降低了实例启动管控时间。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第13张

        购买数据库后。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,第14张

        开启外网连接。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,第15张

        开启外网后。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,第16张

        使用TDSQL-C Serverless测试首次连接时间。

        package main
        import (
        	"fmt"
        	"gorm.io/driver/mysql"
        	"gorm.io/gorm"
        	"gorm.io/gorm/logger"
        	"time"
        )
        func main() {
        	time1 := time.Now()
        	dns := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=%s&parseTime=True&loc=Local", "root", "tdsql1.", "bj-cynosdbmysql-grp-4yen7vmm.sql.tencentcdb.com:23460", "tdsqldb", "utf8")
        	db, _ := gorm.Open(mysql.Open(dns), &gorm.Config{})
        	fmt.Println("\n\r")
        	fmt.Println("数据库实例启动的时间为:")
        	fmt.Println(time.Since(time1).Seconds())
        }
        

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第17张


        云计算的迅猛发展推动了数据库的

        变革,云原生数据库成为当前数据库发展的重要方向之一。云原生数据库与Serverless的结合,则进一步加速了云原生数据库的演进。

        【腾讯云 TDSQL-C Serverless 产品体验】聚焦业务价值之在Serverless上的探索和实践,在这里插入图片描述,第18张

        TDSQL-C MySQL Serverless打破固定资源付费的模式,做到真正负载与资源动态匹配的按量付费,可节省大量成本。对高吞吐写入场景和高并发业务进行了设计优化,同时提供了弹性伸缩能力,适合业务数据量大、并具有典型的业务访问波峰波谷场景。2秒内即可完成集群资源扩缩容,业务完全无感。