最佳解决方案:上云技术解决方案
优采云 发布时间: 2022-11-23 13:53最佳解决方案:上云技术解决方案
传统到云的挑战
传统经典架构:
在从传统IT架构向云计算平台技术架构转变的过程中,我们主要面临以下技术挑战。
可用性:脱离小型机和高端存储的高冗余机制,采用基于PC服务器的分布式架构的云计算平台能否实现高可用性。
一致性:Oracle基于RAC和共享存储实现了物理层面的一致性,云上的Oracle能否达到同样的效果。
高性能:高端存储具有强大的I/O能力。基于PC服务器的数据库能否提供相同甚至更高的I/O处理能力?RDS和OLTP数据库(如Oracle)是否具有相同的SQL处理性能。
可扩展性:业务逻辑怎么拆分,怎么服务,分多少库多少表数据,分什么维度,后期怎么二次拆分更方便等等。
基于阿里云计算平台,采用合适的技术策略和最佳实践,包括:应用无状态、缓存的有效利用(浏览器缓存、反向代理缓存、页面缓存、部分页面缓存、对象缓存、读写分离) ,服务原子化,数据库切分,异步解决性能问题,最小化事务单元,适当放弃一致性。而自动化监控/运维手段包括监控预警、统一配置管理、基础服务器监控、URL监控、网络监控、模块间调用监控、智能分析监控、综合故障管理平台、容量管理等。可以很好的解决以上问题,从而达到高扩展性的实现效果,
云端技术解决方案
传统与云的对应关系:
应用程序服务(Weblogic、Apache、Tomcat、Websphere):
对于应用服务服务器,传统架构往往依赖单台或多台PC服务器的架构。在云端,SLB(负载均衡)+多台云主机(ECS)的组合可以替代传统的应用部署模式。通过负载均衡,将多台云服务器(ECS)资源虚拟成一个高性能、高可用的应用服务池,客户端的服务请求按照应用指定的方式分发到云服务器池中。灵活增减ECS机器资源,实现业务能力的快速扩缩容。
负载均衡设备(F5、LVS、Proxy、Redware):
建议改用应用层负载均衡(SLB)。Server Load Balancer (SLB) 是一种负载均衡服务,可将流量分配到多个云服务器。通过设置虚拟服务地址(IP),SLB服务将位于同一个Region。将多个云服务器(Elastic Compute Service,简称ECS)资源虚拟化为一个高性能、高可用的应用服务池。
负载均衡服务支持四层或七层协议。SLB服务会检测云服务器池中ECS的健康状态,对处于异常状态的ECS进行自动隔离,提升应用高可用、高性能的整体服务能力。
系统部署在云端,考虑后续的扩展性和高可用,尽量使用SLB加多台ECS的部署方式,类似如下。
文件存储(OSS):
对于文件存储,可以直接在云端使用OSS代替存储。NAS等可以存储海量数据文件。OSS存储最大容量可达40PB。同时,由于OSS是一种分布式存储方式,没有单点,可以使用多个节点。并行读写显着提高了数据访问性能。对于大文件,您还可以使用 Multipart Upload 将大文件分块并行传输和存储以实现高性能。
对于OLAP应用,可以使用ODPS/ADS等方案替代传统的小型机方案,如下图所示。
整体来看,无论是传统架构还是云平台,都各有优缺点。应用系统架构应因地制宜地匹配两个基础平台,实现平台与应用的最佳结合。下图为云平台的架构方案。我们针对具体的业务系统制定上云方案,根据实际情况进行分析,做出合理选择。
" />
系统迁移策略和流程
迁云原则
业务系统是否适合迁移到云平台,需要根据业务特点、特点、定位等进行初步评估,并对业务系统进行详细梳理。具体排序内容可参考下表。
业务系统评估表
系统是否存在严重的潜在故障;
同时在线用户比例;
系统资源利用率;
是否支持系统优化/改造;
是否支持平滑上云?
同时,迁移到云平台的业务系统还应具备以下特点:
应用系统对硬件没有特殊依赖。应用服务器可以通过增加节点来增加处理能力。应用系统和数据存储可以有效分离,模块化设计,模块间通信实时性要求不高。
此外,还需要考虑将业务系统迁移到云平台的好处和可能存在的风险。切换到云计算技术的部署方式,能否满足工程建设的需要,能否实现业务平台整合、资源共享等预期收益。最后,必须从技术、初期建设成本、运维管理等方面评估迁移到云平台的风险,充分考虑回退方案。
云迁移策略
现有业务系统向云平台的迁移方案较为复杂,需要考虑的因素较多。尽量避免或减少对业务的影响,保护原有设备投资,减少投资浪费等。
在将系统迁移到云端时,需要根据系统的类型和重要性选择合适的迁移方式。对于复杂系统的云迁移,需要根据实际情况采用定制化的迁移技术和方法。具体迁移策略:
迁移到云平台:将业务系统迁移到IaaS,先在云平台上部署虚拟化资源(如虚拟服务器、虚拟存储、虚拟网络),使用统一的运营管理平台进行管理;
选择将应用程序迁移到云端的最佳方式并不是一个纯粹的迁移问题,而是一个真正的优化问题,不能孤立地做出决策。任何迁移到云的决定本质上都是一个应用程序或基础设施现代化决策,需要在相关的应用程序组合管理和基础设施组合管理的背景下进行处理。
上云评估流程
梳理完以上内容后,各业务系统可以参考下图所示流程评估上云情况
典型的迁移过程如上图:
(1)系统是否会长期使用:系统是否会长期持续使用,比如是否会持续使用一年以上。
(2)系统是否存在潜在故障:系统验证是否存在隐患,如数据安全、架构缺陷等。
(3)设备利用率是否在60%~80%之间:系统是否能有效利用基础设施硬件资源,如CPU利用率和存储利用率过低或过高。
(4)同时在线用户比例是否大于等于50%:系统用户的平均使用率(平均使用率是指整体,同时在线用户占所有预期用户的比例)为大于或等于 50%。
" />
(5) 系统是否扩容压力增大:系统能否顺利扩容以满足预期或意外的业务需求。
(6)系统是否可移植:系统能否消除移植隐患,满足业务使用需求。
(7)系统是否支持快速移植:系统是否可以进行快速移植。
(8) 系统近期是否会停用:系统是否会因技术原因或业务原因在近期停用。
(9) 是否具备系统迁移和测试能力:系统维护团队是否具备足够的系统测试和迁移能力。
(10) 是否可以虚拟化:系统平台是否有合适的技术支持虚拟化。
(11)是否有系统迁移的业务驱动:系统是否有足够的业务驱动向云平台迁移。
(12) 是否有虚拟化的业务驱动:系统是否有足够的业务驱动来虚拟化基础设施(服务器或存储)。
(13)是否有平台转换的业务驱动力:系统是否有足够的业务驱动力转换到云平台。
系统迁移路线
由于应用系统上云的实际需求和应用特点不同,上云的技术路径也不同。不同的路径对应不同的上云方案。下图列出了应用系统整体上云路径。以供参考。
直接迁移到云端
应用系统能否直接上云,主要看数据库是改成RDS for MySQL还是RDS For SQL Server,是用原数据库还是用云上的Oracle,判断主要看以下几个方面:
系统的复杂性。应用对数据库特性的强依赖,以及应用层与数据库的强耦合,都会增加数据库改造的难度和风险。如果数据库改造的难度和风险达到不可控范围,可以考虑直接上云;
迁移周期要求。将应用系统改造为数据库会导致迁移周期变长。如果对应用系统上云周期有严格要求,可以选择直接上云;
性能要求。相对而言,直接上云会限制数据库的性能,数据库的性能扩展空间有限。因此,选择直接上云的应用,必须考虑在计划的系统运行周期内,性能上没有可比性。*敏*感*词*的扩展需求。
高可用性要求。直接上云的方式是将Oracle数据库部署在ECS上,数据库的高可用由用户来保证;如果使用阿里云产品,数据库的高可用可以由阿里云来保证。因此,直接上云后数据库的高可用性水平能否满足实际应用的运行需求,也是判断应用是否直接上云的重要方面。
性能要求低
应用系统对数据库的IOPS性能在500~1000之间,Latency>10ms被认为是低性能要求。在云迁移方案中,Oracle或其他数据库直接部署在ECS上(使用云盘存储)。云迁移的具体方法如下:
1)应用层基于ECS部署运行环境,直接迁移应用,同时修改应用的数据库连接;
2)数据层基于ECS部署Oracle或其他数据库,数据存储使用ECS提供的云盘。数据库的迁移直接通过RMAN实现快速迁移。
高性能要求
应用系统对数据库的IOPS性能在[1000,15000]范围内,Latency1) 应用层基于ECS部署运行环境,直接迁移应用,修改应用的数据库连接同时;
2)数据层基于SSD ECS部署数据库,数据存储使用ECS提供的SSD盘。数据库的迁移直接通过备份工具(RMAN)实现快速迁移。
如果考虑高可用需求,可以配置与数据库备机相同的ECS实例。主备机(如:Oracle Data Guard)之间进行数据同步。当主机宕机时,备机可以接管服务,切换时间通常在分钟级别。
解决方案:当前主题:ecshop 文章数据库
阿里云>云栖社区>主题地图>E>ecshop文章库
推荐活动:
更多优惠>
当前话题:ecshop文章库加入采集
相关主题:
ecshop 文章数据库 相关博客 查看更多博客
云数据库产品概述
作者:阿里云官网
云数据库是稳定可靠、可弹性扩展的在线数据库服务产品的总称。可以轻松运维全球90%以上的主流开源和商业数据库(MySQL、SQL Server、Redis等),同时为POLARDB提供开源数据库6倍以上的性能和开源数据库的价格,以及自研的具有百TB级数据实时计算能力的HybridDB等数据库,也有容灾、备份、恢复、监控、迁移等一整套解决方案。
现在查看
***电商数据库设计参考:ecshop数据库+订单表结构等。
作者:suboysugar5736 浏览评论:06 年前
ecsshop 订单表结构 ecs_order_info 说明 -- 表结构 `ecs_order_info` CREATE TABLE IF NOT EXISTS `ecs_order_info` ( `order_id` mediumint(8)
阅读更多
使用ecshop电商系统ecshop二次开发的100个小问题
" />
作者:ap0581w9c1813 浏览评论:07年前
从事B4C电商开发有一段时间了,尤其对ecshop的理解比较深刻。刚接触的时候不是很容易理解。下面就根据自己的经验,总结100个关于ecshop电商系统操作的小问题。1:如何修改网站“Welcome to our store” 答案:languages\zh_cn\c
阅读更多
session多服务器共享解决方案组合
作者:wangtaotao1094 浏览评论:09年前
session的存储明白之前是怎么做的,搞清楚了来龙去脉之后,就会明白分享背后的思考和出发点。我喜欢这样问(或求问):session为什么要共享,不共享会怎样?php中session的原理,之前总结过,大家可以参考:ht
阅读更多
ecshop结构
作者:冰点牧雪 1072 次浏览评论:010 年前
一、文件夹功能说明 1、根目录:前端程序文件 2、admin:后台程序文件夹-根目录:后台程序文件*.php文件-help/zh_cn:各功能帮助文件*.xml文件-图片:背景页面的图片——包括:后台常用文件和函数——js
阅读更多
ECshop数据库表结构
作者:ap0581w9c1006 浏览评论:07年前
" />
ECshop 数据库表结构 -- 表结构 `ecs_account_log` CREATE TABLE IF NOT EXISTS `ecs_account_log` (`log_id` mediumint(8) unsigned NOT NULL AUT
阅读更多
ecshop数据字典
作者:冰点沐雪911 浏览评论:010年前
用户/账户 ecs_account_log 会员账户变更详情 `log_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, log id `user_id` mediumint(8) u
阅读更多
ECShop模板原理
作者:ap0581w9c742 浏览评论:07年前
模板原理与Smarty/ECShop等模板原理类似,如下图所示。1、首先编译模板 ECShop/Smart使用PHP引擎,所以编译后的结果是一个PHP文件。编译过程是把分隔符{}替换成PHP的标准分隔符,$var替换成echo
阅读更多
ecshop函数库函数合集
作者:php 菜鸟 739 浏览量和评论:05 年前
为了提高效率,整理了ecshop的一些函数库,包括前台和后台。熟悉这些功能可以省去很多麻烦。当你熟悉了它们之后,你就会知道系统中已经写好的所有功能,很多情况下你可以直接使用它们,而不是因为你不知道而手写代码,这是很不经济的。. lib_main.php ECSH
阅读更多