
# 方案概述
随着电商业务的越来越复杂，公司产品的功能越来越完善，整个中台模块也越来越多，部署实施的复杂度也越来越高，此方案采用微服务+K8S的方式，可以快速实现部署工作。
#### 应用场景：
**A集团公司企业中台项目**：
A集团有限公司，是集研发设计、生产制造、市场营销、物流配送、电子商务、产业运作等现代企业管理架构为一身的内衣集团公司。公司旗下拥有多家全资和控股子公司，零售规模达到1600余家终端网点，产品基本遍布整个市场。公司连续多年在产值、销售收入、利税、产品市场占有率及品牌管理、生产规范性等综合经济指标排序中列行业前茅。经济效益持续、健康增长，保持了良性的发展趋势。科技日新月异，商业环境和业务模式也在变化和扩展，现有信息化系统及其组合在支撑新零售、品牌商对经销商业务管控等新业务上，代销、返利、对账等业务上遇到了瓶颈。
例如：多套系统带来的数据不能很好归集，系统性能差且不好扩展，系统功能缺乏整体规划导致改动困难，等等。
鉴于上述原因，需要用新的技术和架构，把共性的业务能力进行沉淀，形成共性的商品、订单、库存等能力并输出，让前端业务足够轻便，专注提供差异化服务。本次项目实现分销、零售、电商等现有的基础业务，同时支持未来业务的快速扩展性，形成统一的数据归集，以数据驱动业务，从业务又回归数据，从而形成更适合的业务决策，引导消费体验场景。为此，跟百胜软件达成合作，通过百胜E3+企业中台系统对现有系统进行升级和集成，搭建技术中台、多渠道单一系统统一管控、构建业务中台。
通过E3+企业中台方案可以实现如下目标：
- 构建一套面向未来，高可靠、高性能可扩展的IT技术平台；
- 实现A公司商品数据，店铺数据，分销商数据，供应商数据，结算方式等业务主数据管理；
- 实现A公司分销业务，包含经销，代销，返利，对账业务开展；
- 实现A公司零售门店业务，包含门店收银，促销计算，会员管理，门店进销存，门店店务管理；
- 实现A公司电商业务，包含平台订单对接，订单发货，平台库存同步及围绕订单处理的策略配置及管理；
- 实现A公司相关系统集成，基于分销，零售，电商、会员业务实现业务流和财务流对接。
 
#### 方案架构：
**基于kubernetes部署E3+中台**
本文着重介绍使用k8s部署E3+中台的实践案例。
- kubernetes介绍 kubernetes（简称K8S）是一个轻便的和可扩展的开源平台，用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中，会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes经过这几年的快速发展，形成了一个大的生态环境，目前已成为容器编排的事实标准。
  图1kubernetes架构图   
  ![](https://support.huaweicloud.com/baisonoms-dgm/zh-cn_image_0000001529256244.png)
  kubernetes有以下几个关键特性：
  1. 自动化装箱：在不牺牲可用性的条件下，基于容器对资源的要求和约束自动部 署容器。同时为了提高利用率和节省更多资源，将关键和最佳工作量结合在一起。
  
  2. 自愈能力：当容器失败时，会对容器进行重启；当所部署的Node节点有问题时，会对容器进行重新部署和重新调度；当容器未通过监控检查时，会关闭此容器；直到容器正常运行时，才会对外提供服务。
  
  3. 水平扩容：通过简单的命令、用户界面或基于CPU的使用情况，能够对应用进行扩容和缩容。
  
  4. 服务发现和负载均衡：开发者不需要使用额外的服务发现机制，就能够基于Kubernetes进行服务发现和负载均衡。
  
  5. 自动发布和回滚：Kubernetes能够程序化的发布应用和相关的配置。如果发布有问题，Kubernetes将能够回归发生的变更。
  
  6. 保密和配置管理：在不需要重新构建镜像的情况下，可以部署和更新保密和应用配置。
  
  7. 存储编排：自动挂接存储系统，这些存储系统可以来自于本地、公共云提供商、网络存储等等。
   

- E3+中台介绍 E3+中台是百胜推出的一款拥有门店、分销、会员、业财、仓储等模块，基于互联网架构，采用微服务思想设计的全渠道大中台系统，是一款积累了百胜软件多件零售行业知识和经验的基础下设计的全新产品。具有弹性伸缩、线性扩展、分布式部署以及异步解耦、缓存等技术，可满足企业高可用、高并发的大数据处理的需求。
  E3+中台基于微服务、中台化架构，把通用的企业服务功能提炼封装为可复用、可扩展、可运营的中台能力，并为中台能力的开发、运营提供一系列的能力支撑服务。包括用户、权限、组织、客户、供应商、物料/商品、价格、促销、库存、信用、流程、报表、打印、电子发票等通用应用能力；提供模版、编码规则、消息、预警、异步任务、日志、多语言/多时区/多格式等能力支撑服务。
  图2E3+中台架构图   
  ![](https://support.huaweicloud.com/baisonoms-dgm/zh-cn_image_0000001573547221.jpg)
  微服务化、容器化微服务化、容器化的E3+中台和kubernetes的能力架构完全吻合，在kubernetes上部署E3+，每个微服务都化为一个pod，利用kubernetes的特性，让E3+中台本身具有了快速扩容、自动恢复等特性。下图是完整的部署架构图：
  图3部署架构图   
  ![](https://support.huaweicloud.com/baisonoms-dgm/zh-cn_image_0000001573482429.jpg) 
 
#### 方案优势
- 节省资源 通过kubernetes对硬件资源的整合，可以大大节省应用运行时所需要的资源。
  
- 统一编排、统一管理、快速扩展、自动恢复 每个微服务部署成一个POD，由kubernetes统一调度和编排。可以快速扩展，可以自动恢复。
  
- 方便的发版与回滚 依托kubernetes的能力，可以做到快速的发版与版本回退。
  
- 统一的日志与监控依托日志收集工具和监控工具，达到可视化运维。
 
#### 约束与限制
部署实施人员需要具备基本的k8s知识和了解E3+中台业务。
