耿晓利,张 芒,尹永宏
(广州大学华软软件学院,广东 广州 510990)
微服务[1]具有模块化开发、分布式部署的特性,各个模块独立部署、运行更新,有着灵活的扩展性,适用于海量数据单体应用的解耦[2]。Dubbo[3]是阿里巴巴公司开源的一个高性能和透明化的PRC远程调用框架,搭配Zookeeper[4]作为分布式服务的注册中心,在如今高可用解决方案的技术选型中被广泛使用[5]。
基于分布式的架构技术正在不断发展,各大互联网厂商的分布式框架不断迭代,分布式架构在电商行业应用中蓬勃发展,较多文献对分布式架构下电商平台的构建进行了研究[6-8],同时也向金融、政务、社交等领域逐步渗透。
该文以电商业务为切入点,以SpringBoot[4]和MyBatis作为实现基础服务单元的企业级基础框架,综合集成分布式开源框架Dubbo、注册中心Zookeeper、百度开源统一配置中心Disconf、消息中间件RabbitMq、Spring安全认证授权框架Spring Security[9]、缓存数据库Redis[10]等,采用前后分离的Restful Api[11]架构风格和Docker[12-13]容器化部署方法,设计并实现了基于B2C的新零售购物平台。系统通过服务化的手段,按照功能维度划分,使各功能服务中心最大限度地解耦,各服务通过注册中心自动完成服务的注册与发现,互相隔离,使用消息中间件技术进行消息订阅、异步处理、流量削峰等。
本系统有用户中心、商品中心、营销中心、库存中心、物流中心、客服中心以及数据统计中心,各服务中心之间以RPC(远程调用)的方式进行通信,统一在Disconf配置中心下载各自指定的配置文件,同时以服务提供者的角色注册在注册中心Zookeeper上。……