中小电商网站如何快速上云? | U刻
  • 中小电商网站如何快速上云?

    一、传统架构及部署
    云计算已经不再陌生,并已深入到了各个企业的业务中。云计算能够帮助客户快速搭建原型、减小前期投入、减少运维成本、非常便捷地扩展资源以应对快速增长的业务。还有一些中小电商网站运行在传统IDC机房或自己运营的服务器上,不仅存在需要一次性购买服务器的前期花费问题,后期运维和资源扩展等问题还需要浪费人力物力。用户使用云计算后只需专注自己的业务、进行视野聚焦,而不需要把基础设施、运行环境等作为重点工作。

    传统架构如下:

    中小电商网站传统部署模式如下:

    甚至一些架构中把Web层和业务层放在同一台服务器上,或者根本没有进行分层,那么架构相对更简单,如下所示:

    中小电商网站传统部署模式痛点总结下来,基本包括以下几点:

    • 初期投入高
    • 不能快速扩展资源以应对快速增长的业务
    • 在物理机上搭建软件需要耗费大量人员维护成本

     

    二、初步迁移上云
    中小电商网站一般情况规模不大,应对的用户请求和访问压力适中,在迁移到UCloud云平台时可参考以下架构,容易进行部署和调整,在业务增长时可利用该架构的弹性进行资源扩展和加入UCloud其他云产品到该架构中。

    该种方式也适合中小电商直接将业务系统部署在UCloud云平台。

    初级架构

    该架构可以解决计算资源UHost横向扩展、对负载均衡和数据库不需要人工搭建和运维,利用云计算按需计费的模式,还可以实现前期极少投入,适合中小电商网站迁移上云、也适合创业团队使用极少费用快速验证原型。

    架构解读
    在该架构中和传统部署模式类似,对Web层和业务层进行了分离,分别使用负载均衡。前端Web层使用UCloud负载均衡产品ULB将用户请求分发到多台Web层服务器UHost上,均衡了用户请求的服务器上的分布。后端业务层使用负载均衡ULB将Web层的请求分发到专门处理业务的业务服务器上。负载均衡ULB的加入,实现了一定的高可用,避免了云主机UHost的单点故障。负载均衡ULB同时提供备用ULB,在ULB出现故障失效时可以快速自动切换到备用ULB进行请求转发,避免了ULB的单点故障。当用户对网站访问量增加时,可以很方便地使用客户自定义网站业务镜像创建云主机UHost并加入到ULB中提供服务。UDB是UCloud提供的云数据库服务,不需要用户自行安装和维护MySQL等数据库。

    云主机UHost
    云主机提供可随时扩展的计算服务,每台云主机以虚拟机的形式运行,主机资源包含CPU、内存、磁盘等最基础的计算组件。 云主机是UCloud最为核心的服务,有些服务,如IP、镜像、云硬盘等必须与云主机结合后使用,其他服务,如数据库、缓存、对象存储等可以和云主机结合共同构建IT架构。

    负载均衡ULB
    ULB(UCloud Load Balancer)是负载均衡服务,即在多台云主机间实现应用程序流量的自动分配。可实现故障自动切换,提高业务可用性,并提高资源利用率。负载均衡(ULB)能够为多个主机或其它服务实例提供基于网络报文或代理方式的流量分发的功能。用于在高并发服务环境下,构建由多个服务节点组成的“负载均衡服务集群”。“ 负载均衡服务集群”能够扩展服务的处理及容错能力,并可自动消除由于单一服务节点故障对服务整体的影响,提高服务的可用性。

    当节点健康检查选择HTTP检查时,负载均衡的健康检查通过HTTP HEAD探测来获取状态信息。ULB实例向后端服务节点发送HTTP HEAD请求,后端服务节点收到请求后,根据相应服务的运行情况,返回 HTTP状态码。ULB实例根据HTTP状态码判断健康检查成功或失败。

    数据库UDB-MySQL
    云数据库MySQL是基于成熟云计算技术的高可用、高性能的数据库服务,完全兼容MySQL 5.1、MySQL 5.5、MySQL 5.6、Percona 5.5和Percona 5.6协议。 除支持双主热备架构及高性能SSD磁盘外,还提供灾备、备份、数据回档、监控、数据库审计等全套解决方案。

    使用UDB-MySQL不需要客户自行安装数据库软件、不需要进行运维,对于数据库软件的更新、安全补丁等问题,UCloud也会提供更新和支持,客户只需关注自己的业务数据和数据库使用即可。

    三、进一步优化
    随着业务发展,用户请求增多会给服务器造成较大压力,用户业务也会遇到一些新的问题和挑战,还需要针对这些问题对上面的架构进行调整。

    中小电商网站业务,会包括大量的产品图片、介绍视频等资源,用户对这些资源的请求还需要通过Web负载均衡和Web服务器,也会对服务器造成较大压力,需要将此部分应用迁移至其他服务器或云产品中。

    电商网站业务经常会遇到用户访问时间不均匀的问题,例如每天19:00-23:00用户集中访问,促销活动开始时用户访问量会猛增。在上面的架构中可以通过手动增加云主机UHost的方式来扩展资源,但每天都需要人工干预也不是长久之事。

    随着业务增长,会发现请求中对数据库的读写操作比例在5:1和10:1之间,如何调整数据库读写不均衡的挑战也摆在面前了。用户数据的也会变得越发重要,为避免数据丢失,也需要考虑数据备份等问题。

    架构优化
    我们进一步完善上面提到的架构。

    架构解读
    在上面的架构中,我们将静态资源从原有Web层中分离,存储在UCloud对象存储产品UFile中,使得用户请求图片、视频、js、css等资源时不再需要从Web服务器响应,而直接从UFile中进行响应,减轻了Web服务器的请求压力和带宽压力。还加入了自动伸缩UAS,使得能够根据用户访问量大小对服务器CPU产生的影响来自动创建或释放云主机UHost,也支持在固定时刻增加或释放云主机UHost来应对促销活动带来的访问压力。使用UDB-MySQL从库特性,优化网站系统对数据库读写不均衡的处理;备份特性可以保证用户数据更安全,也容易从备份数据库中恢复之前时刻的数据。

    我们增加以下产品和特性,解决业务发展中常遇到的一些问题。

    对象存储UFile
    对象存储(UFile)是为互联网应用提供非结构化文件存储的服务;相对于传统硬盘存储,对象存储具有存储无上限、支持高并发访问、成本更低等优势;解决业务架构的文件存储问题,有效降低海量文件的存储成本,支持热点数据的高并发访问,提升终端用户访问体验。因此适合中小电商网站中的静态文件,如产品介绍图片、介绍视频,以及程序中的css、js等,在用户访问网站页面更快速的同时,也减轻了Web服务器UHost的负载和带宽压力。

    自动伸缩UAS
    自动伸缩,是根据您设定的监控指标,自动调整资源规模的管理服务。自动伸缩具备定时、智能伸缩,智能替换不健康主机的特性,全程无需人工干预,大大降低繁琐的人工操作。

    例如,可设置以下UAS规则,在每天访问高峰期前后多创建10台UHost,不能在19:00执行任务,因为创建UHost并启动需要几分钟时间,最佳实践是提前一段时间执行伸缩任务。自动伸缩UAS还支持根据CPU等因素执行伸缩任务。在下面的规则中,可以看到云主机UHost平均CPU高于60%时自动创建2台UHost,云主机UHost平均CPU低于30%时自动移除2台UHost,从而保证云主机UHost CPU负载保持在合理范围内。

    UDB-MySQL从库和备份特性
    主库支持读写操作。 从库一方面可以作为主库的灾备节点,同时也可以支持读操作,降低主库压力,实现读写分离。

    备份保存了某时间点云数据库的所有数据。云数据库提供自动备份和手动备份两种方式,防止数据丢失,避免误操作带来的风险。

    四、总结
    中小电商网站是一个典型的传统应用模式,很多类似的应用也可参考上面的迁移上云架构。在上面内容中我们提供了几点解决这些常见问题的方案:

    • 使用UCloud云计算,解决初期资金投入高、运维成本高
    • 计算等资源支持在线扩展
    • 计算资源支持自动扩展
    • 将静态资源从核心业务中分离
    • 数据库从库和备份,读写分离并提高数据可用性和可靠性

     

    后续可考虑使用UCloud消息队列UMQ产品,对系统分层后的请求和消息传递进行管理;使用UCloud大数据产品对用户数据进行分析等;您还可以使用UCloud安全产品,保证业务运行正常、数据安全,请详见安全产品和解决访问介绍文档。

    想要获取更多技术和活动资讯,可扫描以下二维码,关注“UCloud技术公告牌”微信公众号;或搜索微信ID:ucloud_tech进行关注。

    12