登录 免费注册

微服务大数据版技术解决方案

2019-12-21 阅读:7610
分类:技术前沿
微服务商城电商系统
高可用、高并发、海量数据、高稳定性、容灾机制


1 目标

一、 高可用、高并发、海量数据、高稳定性、容灾机制

二、 易扩展

三、 高效开发

a) 一种设计风格,将原本独立的系统拆分成为多个小型服务,这些小型服务都在各自独立的进程中运行。

b) 被拆分的每一个小型服务都围绕滋生系统中的某一项耦合度较高的业务活着功能进行构建,每个服务都有自己的数据存储,业务,自动化测试以及独立部署机制。

c) 服务与服务之间调用采用RESTful规范的api进行通信

四、 自动化测试与部署

五、 微服务是目前技术革命的主要趋势,传统单体应用的缺点有:

1. 随着业务增加,应用本身越来越臃肿,运维、开发难度增加;

2. 横向扩展性差,往往单体应用的并发瓶颈比较低,难以应对某些领域对高并发的需求,如电子商务、云应用等。

3. 本身可用性差,为了实现高可用,不得不应用 LVS+keepalived之类的其他支撑,二十年前的技术用到今天,各种配置又繁琐又笨拙,需要大量人力去进行维护,增加企业成本。

4. 单体应用的可持续化集成是伪命题,分布式应用的可持续化集成包括部署、运维、回滚等简单可控,非常适合大规模企业级应用。

六、 微服务应用的优点有:

1. 微服务本身是分布式应用,分布式应用是用来解决单体应用的压力问题的,即:分布式分散压力,微服务分散能力。基于功能对应用进行服务化拆分,提升开发效率,降低运维难度。

2. 分布式、微服务并不是很新的概念,就像VR1980年代苹果就提出过VR概念。VR的大规模发展基于光学材料、图像处理技术的进步;而微服务的大规模发展,基于Dubbozookeeper的开源、netflix技术eurekazuulribbonfeign的开源、spring-cloud的发布。

七、 国内的微服务解决方案有Dubbo+zookeeper,通过技术调研,Dubbo+zookeeper提供的服务治理、服务调用基于RPC,但是配置、使用比较复杂,要求开发人员有较高的技术学习能力。Spring-cloudspring提供、基于spring boot的微服务解决方案,其基本好处有:约定大于配置、简化开发模式、屏蔽技术细节、专注业务代码。使用spring-cloud进行微服务开发非常简单方便,符合软件工程学,并不要求业务代码人员有架构、设计的能力,业务代码人员只需要拥有语言能力,按照设计人员的流程图、uml图、伪代码去实现业务代码即可。

2 架构思路

2.1 概述

一、 首先将业务按服务进行拆分

每个服务各司其职,集中力量完成自己的业务。服务的划分要“轻”、“微”。

上述服务只是一个示意,实际上会有更微细的拆分,比如对于高并发的主业务:订单创建会是一个服务,订单入库也会是一个服务,发邮件是一个服务,发短信也是一个服务。

二、 将数据库按业务拆分

为了突破数据库的并发瓶颈,将数据库按业务拆分,降低某个业务的数据库压力, 同时每个数据库提供高用的集群方式。

三、 服务之间通过服务接口调用来完成通信

当业务中有数据需要同步,或需要传递数据时,通过调用相应的服务接口来完成,这些接口的调用有的是同步的,有的是异步的。

四、 对外统一暴露服务网关

对于界面的渲染,以及用户的操作请求,通过统一的网关而不是一个个有服务,这有利于开发的一致性、有利于控制权限、有利于安全控制。

五、 服务的治理

面对众多服务,以及可能新增的服务,必须提供统一的注册及发现,使服务可以平滑的扩容,以发现新服务。

六、 断路器

当某个服务发生故障时,有可能会导致整个系统的瘫痪,比如某个关键服务的长时间不能响应,会逐步传递给其它服务,最终导致卡死。那么通过断路器的介入,当某个服务超出规范的响应时,或异常的响应时,直接断掉相应的请求,防止瘫痪传递。

七、 负载均衡

对于网关的请求,通过一定的策略,转发给相应的服务集群,使现负载均衡

八、 某服务的负载与扩容

以订单服务举例,基于spring boot开发一的一个服务,就是一个“胖jar”,无需关心tomcat在哪里,通过java –jar直接启动一个服务,将这个Jar复制一份再启动就再次提供一份同样的服务,尤其在Docker的配合下,这一切都变得极其简单,那么当某个服务压力上来,可以平滑的、简单的为某个服务扩容。


3 模块详述

3.1 页面生成交互图

3.2 模板服务交互图

3.2.1 会员维护


3.2.2 注册


3.2.3 登录


3.2.4 会话获取


3.3 商品服务

3.3.1 商品维护


3.3.2 商品详情显示


3.4 订单服务

3.4.1 入购物车

3.4.2 物车入库

3.4.3 物车显示

3.4.4 结算页显示


3.4.5 订单创建

3.4.6 订单入库


3.4.7 订单维护

3.5 促销服务

3.5.1 促销维护



3.5.2 促销规则服


3.6 内容管理服务

3.6.1 内容维护服务


3.7 店铺维护服务


3.8 系统服务



文章来源:广州朗尊软件科技有限公司
【朗尊软件】是中国领先的专业电商平台提供商,秉承着“专业塑造传奇,用心成就电商”的理念, 专注于为用户提供一体化的电商解决方案及服务,搭建垂直行业垂直电商一站式营销管理工具。目前拥有自主研发的电子商务平台产品:SAAS云平台、微商城小程序、云商城、云小店、代理商平台、B2B2C商城、B2B大宗交易平台、跨境电商服务、大数据平台搭建、微服务架构等产品、各种定制商城及解决方案。
网站声明:以上内容为朗尊软件官方网站的原创文章,如需转载,请注明出处,谢谢合作!
上一篇:基于微服务架构的商城大数据版技术架构方案
下一篇:Legendshop大中台,小前端,微服务
相关文章

浅谈ios为什么比安卓流畅 - 朗尊软件,企业级电商平台提供商

发表时间: 2019-12-21

Java商城源代码:搭建小程序商城的解决方案

发表时间: 2023-09-11

《信息系统安全等级保护基本要求》 之五 - 朗尊软件,企业级电商平台提供商

发表时间: 2019-12-20
推荐阅读

南钢鑫智链平台 | 供应链集采平台解决方案

发表时间:2024-01-06

java电商领域的技术专家Newway

发表时间:2023-04-13

“数”及大文旅,“链”推大湾区 | 朗尊携手广东电视台助推乡村振兴

发表时间:2023-10-16

小羊云商免费注册小程序商城:电商与无货源商家的新机遇

发表时间:2023-09-20

首届全国私域团长交易会,私域选品再出大动作!

发表时间:2023-12-29

咨询

电话

免费注册