基于Oracle数据库的读写分离电子商务系统的设计与实现
聂理多 赵卫东 娄聪
摘要:该文参考阿里巴巴等大型电商系统的架构设计,提出了基于Oracle数据库的读写分离方案,针对电商所独有的业务场景,也即读多写少,进行数据访问层在高并发场景下的性能优化;同时基于JavaEE Spring Boot对后端服务进行基于领域模型的服务化划分,配套Consul 的服务治理与发现,以及Kafka消息队列对服务进行解耦与削峰。从而使得整个系统具有在企业业务发展过程中进行平缓扩容的能力,以及高可用,高并发的体系结构。
关键词:Oracle;服务化;高并发;读写分离;电子商务
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)29-0033-04
1背景
近年来,电子商务的发展在我国愈演愈烈,在我们的日常生活中,诸如阿里巴巴,京东,亚马逊这样的电子商务平台早已耳熟能详,各种促销活动铺天盖地。但随之而来的,是平台背后的服务支撑体系的巨大的挑战,无论是在技术,运营还是相关配套的物流,在线支付等方面。目前企业级市场成熟的Java EE Spring Boot微服务框架,提供基于领域模型的服务化系统切分与解耦,各服务间职责分明,可以由不同的开发组进行维护与支持,从而非常适合企业级项目在业务、人员增长的情况下的精细化,流水线化的分工[1];同时针对电商数据库读多写少的业务场景,配合Oracle数据库的读写分离技术,进行数据的冗余备份,提供数据访问层的高并发,高可用性支持[2];针对电商用户端界面,我们引入BFF(Backends For Frontends)层,BFF层主要用于模板渲染,使用前端工程师友好的Nodejs ……此处隐藏6500个字……
如图7所示,为8000并发量时两种场景的对比,可以看到,讀写分离的应用依然对高并发的处理表现出了明显的优势。
6结束语
电子商务的发展是对技术体系架构考验非常大的一个场景,其实原因我们也很容易去考究,无不外乎并发高,体量大,业务线繁杂等等。基于JavaEE的电子商务系统服务化的实现,可以作为以及与之配套的服务治理与服务发现的应用;同时基于 Oracle 数据库 Data Guard 技术的读写分离方案以及基于 Spring Dynamic DataSource Routing 应用层配套方案;基于 BFF 模式的前后端分离,后端服务化,也可作为及其配套的RPC与 NodeJS企业级应用。并且完善并实现了各架构模式,技术落地,同时对体系关键流程节点与链路进行局部的压力测试,我们的系统有极其稳定的性能表现,发展潜力巨大。可以肯定,基于高并发,高可用,读写分离的分布式架构是未来软件系统发展的方向,未来发展前景极好。
参考文献:
[1] 李军 . 高并发 Web 系统的设计与优化[D]. 北京:北京交通大学,2009.
[2] 刘浩.基于负载均衡的存储架构研究与应用[D].济南:山东大,2011.
[3] 罗健萍.高校行政办公自动化系统的设计与实现[D].成都:电子科技大学,2012.
[4] 闫煜瑶.用友金融商业平台设计与实现[D].北京:北京交通大学,2019.
[5] 赵晓东.基于Google云的B2C网站后台管理模块实现[D].成都:电子科技大学,2011.
【通联编辑:谢媛媛】