基于云平台的高并发高稳定团购零售平台架构
2023-10-22何川
何川
北京智富云信息科技有限公司 北京 100070
引言
团购零售的本质为通过多人组成的团队,完成产品的统一采购,这种方式改变了以往消费者的购物模式,同时,也为传统消费的转型和发展提供了条件,团购零售中产品价格具有较强的价格优势,在订单数量达到一定标准之后,消费者能够得到更多的优惠,并且高并发高稳定团购零售平台在运行中,能够为消费者提供更加高效、便捷的服务,打破地点和时间的影响,为消费者提供更加高水平的购物平台。
1 基于云平台的高并发高稳定团购零售平台架构原则
与普通零售平台相比,团购零售平台在价格中具有明显优势,通过专业团购组织的方式,将相同购买意愿的消费者进行整合,利用互联网平台完成产品的批量购买,这一行为称为团购。通过团购的方式进行消费的根本目的是得到更大优惠,控制商品的购买成本的同时,让商家提高销售额,实现双赢。要想达到这一目标,则需要构建一个高并发高稳定团购零售平台,为团购活动的良好开展提供条件。
尤其是在当前互联网计算机技术快速发展的情况下,电子商务得到了迅速提升,这对于生活节奏较快的人们来说,实现了足不出户完成消费。高并发高稳定团购零售平台作为消费的支撑平台,其在架构中要想保证最终质量,需遵循以下设计架构原则。
第一,简单性原则,在对平台系统功能完成设计的同时,针对平台系统的操作设计尽量简单化,这对于平台使用来说具有非常重要的作用。
第二,针对性原则,团购零售平台是团购系统以及后台管理的定向设计,在普通消费购物网站的基础上,增加团购设计这一功能,这就需要高并发高稳定团购零售平台具有较强的针对性以及专业性。
第三,实用性原则,平台运行的前端需要接受来自互联网用户的实际请求,确保用户在浏览以及购买商品过程中的便捷性。后端主要负责接受平台管理人员发出的请求,在此基础上,完成产品信息的添加以及删除等修改,保证产品信息的实用性。
2 基于云平台的高并发高稳定团购零售平台架构理念
2.1 空间换时间理念
高并发高稳定团购零售平台客户端页面缓存过程中,包含反向代理缓存以及应用端缓存等,运用内存数据库完成数据的存储工作。
2.2 并行与分布计算
在数据规模较大的情况下,数据具有局部性的特点,通过局部性原理,针对数据计算相关问题完成切分治理。其中MR模型属于无共享架构,将数据集中分布在各个节点中,在数据处理阶段,各个节点根据就近原则对本地的存储数据进行读取,再完成数据合并和排序工作,完成上述处理之后,分发到各个节点中,这种方式能够降低数据传输工作量,大幅度提高数据实际处理效率。
除了任务切分治理之外,还可以采用多进程的并行执行方式完成计算,并行计算指的是,利用多种计算机资源,对计算问题进行处理,这种方式能够有效提高计算机的运行和计算速度。使用多个处理器完成进程和线程的协调,共同解决相同问题,将问题分为多个部分,各个部分采取一个独立的机制完成处理工作。这一方法与MR模型的不同点在于,并行计算是在问题分解基础上完成的,而MR是在将数据分解作为基础。
2.3 多维度可用
首先,负载均衡以及备份工作,随着当前团购零售平台中的并发量逐渐增多,需要完成节点的扩容和集群处理,通过负载均衡设备的方式完成请求以及分发工作。负载均衡设备能够在保证负载均衡的同时,完成失效检测工作。要想进一步提高其可用性,还要完成有容备份,这种方式能够避免节点宕机产生的负面影响。备份工作分为在线备份以及离线备份,根据时效性要求存在的差异,制定不同的备份措施。
其次,读写分离,读写分离主要针对数据库完成,系统并发量增加的状态下,该种方式能够提高数据访问的可用性,在分离过程中需要关注数据一致性,利用分布式系统CAP定量中重点关注其可用性。
最后,依赖关系,团购零售平台中,不同模块之间的关系属于低耦合,因此,可以通过消息组件的方式完成交互,清晰划分数据流转的主流程以及副流程,其中主流程采取异步操作的方式,提高系统在实际运行中的可用性。在异步处理过程中,为了保证数据接受处理质量,要利用确认机制,但是在部分情况下,虽然已经完成请求处理,但是由于网络不稳定等其他因素的影响,确认消息可能出现没有返回等现象,该种情况下需要重新发送请求[1]。
2.4 资源利用优化
团购零售平台系统中的容量有限,所以其承受的并发量也有限,在设计架构的过程中,需要对流量进行充分控制,避免由于意外情况或者瞬间并发量攻击等,导致平台系统瘫痪。在流控控制措施过程中,可以先对请求进行排列,针对超出预期范围请求,给予告警或者丢弃处理。而在原子操作以及并发控制中,访问共享资源阶段,为了避免出现冲突,则要完成对并发的控制工作,并且保证交易一致性,这就要求在设计交易系统阶段,对原子操作以及并发完成控制,当前采取的主要手段包括写时复制、CAS以及乐观锁等,多版本并发控制中,往往采取MVCC的方式,当前其已经成为保证交易一致性的有效措施,在数据库设计中得到了广泛运用。
由于团购零售平台中存在不同类型的业务逻辑,其中包含复杂型、消耗型等,针对不同类型的业务逻辑,其会消耗不同数量资源,该种情况下需要根据逻辑的不同,制定针对性解决策略。
3 基于云平台的高并发高稳定团购零售平台架构措施
3.1 CDN系统
该系统在实际使用的过程中,可以根据网络流量以及各个节点的连接情况信息,对用户请求进行处理,将其传输到与用户最近的服务节点中。这一操作的主要目标为,保证用户能够根据就近原则,获取相应的信息内容,有效解决网络拥堵等问题,最终达到提高用户访问网站响应速度的目的。对于规模较大的团购零售平台,则需要利用CDN作为网络加速,例如拼多多等平台,通过自建的方式建立CDN,中小型企业则可以与第三方CDN厂商相互合作,完成网络加速。在选择合作厂商的过程中,要综合分析其经营时间、是否具备可扩充的宽带资源以及节点稳定性等,综合以上因素完成评估衡量,选择性价比最高的合作厂商[2]。
3.2 负载均衡
完整系统的团购零售平台,其中涉及的业务领域较为复杂,不同领域中的集群不同,因此可以使用DNS完成域名解析的分发以及轮询工作,DNS的实现方式较为简单,但是灵活性有待提高。通常需要在商用硬件F5、NetScaler的基础上完成分发,使用主备方式。在四层完成业务集群分发之后,WEB服务器在7层位置完成负载均衡以及反向代理等工作,将其分发到集群中的各项应用节点。负载的选择需要分析各项影响因素,其中包含是否能满足高并发以及高性能,负载均衡算法以及是否支持压缩等,当前常用的负载均衡软件主要包含以下几种。
第一,LVS,在4层工作,Linux能够完成高并发高稳定的负载均衡器,支持多种转发方式,但是对外界网络环境具有较高的依赖性。
第二,Nginx,其在7层工作,能够对高并发多进程的负载均衡器给予支持,针对地域名以及目录结构等完成分流。采取端口检测的方式确定服务器内部故障,例如根据服务器处理网页之后代码状态进行判断,将返回错误的请求,发送到另一个节点中。
第三,针对其中图片,需要具备单独的地域名以及图片服务器等,并在图片服务器之上增加varnish完成图片的缓存。
3.3 App接入
应用层系统具有独立性,其中包含前端购物以及用户自主服务等,可以利用serviet3.0提高系统的吞吐量。Http在经过Nginx之后,利用负载均衡算法,将其分配到App中的一项节点中,采取层层扩容的方式,降低扩容难度。除了使用coolie对少量用户信息进行存储之外,针对App接入层,还要保存与用户相关的session数据,但是在反向代理或者不支持该种接入的情况,可以利用session集中存储的方式,保证App接入层处于无状态,同时,在系统用户增多的情况下,可以利用增加应用节点的方式完成拓展。
Session在实际运用中,需要满足以下要求,第一,具备高效的通信协议,第二,其分布式缓存要支持节点伸缩,数据冗余备份和数据迁移工作,第三,具备过期管理功能。
3.4 业务服务架构
针对其中一个领域开展的服务工作,称之为业务服务,对于团购零售平台来说,其中主要涉及用户、商品、订单以及支付等各项业务,针对不同的领域,提供的服务也不同。每个领域代表一个模块,所以需要对模块进行科学清晰的划分,保证接口设计的科学性和有效性,通常情况下,需要根据高内聚、接口收的原则进行。这种方式能够提高系统在运行中的可用性,根据实际团购零售平台规模大小,可以将不同的模块相互连接部署,通常规模较大的平台采取独立部署的方式进行。
业务服务具有高并发的特点,业务层对外协议通过RPC的方式暴露,可以使用成熟的NIO通讯框架完成,要想进一步增强模块服务的可用性,则需要一个模块部署在多个节点中,完成冗余处理,同时,开展自动负载转发以及失效转移。在初期阶段可以通过VIP+heartbeat的方式进行,随着技术水平的逐渐提升,可以使用单独组间HA完成,增强模块服务的可用性。
3.5 基础服务中间件架构
第一,通信组件,其是平台业务系统调用的重要组成部分,在高并发高稳定团购零售平台中,要保证其符合高并发以及高吞吐量的要求,其中涉及客户端以及服务端两部分内容。采取长连接的方式实现维护,能够降低请求过程中建立连接的成本,在客户端中针对每个服务器定义一个连接池,完成初始化连接之后,可以在并发连接服务端完成rpc操作,同时在连接池中设置超时时间。长连接维护可以分为两个阶段,分别为请求发送过程以及接受响应过程,在发送请求的过程中,一旦出现IOException现象,则要将该连接标记为失效[3]。接受响应连接中,服务端返回SocketTimeoutException,在设置超时时间的情况下,需要直接返回异常,对当前连接中存在的超时请求完成清除。对于接收相应来说,每个连接需要以单独的线程完成运行,客户端利用同步的方式完成rpc调用,并使用hession序列化方式完成,实现高并发高吞吐量的请求。
第二,路由,在设计数据库切分解决方案的过程中,要想保证数据库吞吐量,先要将不同的表进行垂直切分,将其划分到不同数据库中,一个表超出标准大小之后,再对其进行水平切分。例如,在用户表中,针对访问数据客户端,要根据用户ID完成定位,确定需要进行访问的数据信息。路由表维护阶段,每个biz客户端都需保持所有sharding的连接池,要想解决其中存在的全连接问题,可以将sharding切分转移到业务服务层中,每个业务节点对一个shard连接进行维护,路由组件可以通过建立replicateset集群的方式增强运行可用性。
4 结束语
综上所述,在云平台基础上,高并发高稳定团购零售平台涉及的内容较多,要想实现平台的稳定运行,则需要从各项组成部分入手,完成平台的有效架构。为用户提供更加便捷有效的团购服务,同时在设计中,降低系统操作难度,建立友好稳定的操作界面,同时对用户数据完成的安全存储,避免出现信息泄露等问题。通过上述方式完成高并发高稳定团购零售平台的科学建立,最终达到稳定运行的目的。