---
title: B2B-产品文档-技术介绍
description: 文本抽取：知识库/03-批发经销采购场景/B2B-产品文档-技术介绍
updated: 2026-11-04
tags: [原始文档, 抽取, 知识库]
source: 知识库/03-批发经销采购场景/B2B-产品文档-技术介绍
source_type: txt
source_hash: c1141c328307
extracted_at: 2026-11-04
quality: ok
---

---
source: 知识库/03-批发经销采购场景/B2B-产品文档-技术介绍.pdf
type: pdf
size_kb: 1408
category: 03-批发经销采购场景
quality: ok
---

<a id="page-1"></a>## Page 1
B B-产品⽂档-技术介绍
 . 技术⽅案
 . . 系统设计思想
 . . 应⽤架构设计
 . . 技术架构设计
 . . 技术栈
 . . 代码结构设计
 . . ⾼可⽤设计
 . . ⾼安全
 . . 易⽤性
 . . 易维护
 .  . 易扩展
 .  . 备份和恢复策略
 .  . 适配的访问端
 . 部署⽅案
 . . 部署⽅式
 . . 数据库读写分离
 . . 建议配置⽅案
 .介绍脑图
1. 技术⽅案
1.1. 系统设计思想
1. 微服务分布式架构
微服务是基于分⽽治之的思想演化出来的。过去传统的⼀个⼤型⽽⼜全⾯的系统，随着互联⽹的发展已经很难满⾜市场对技
术的需求，于是从单独架构发展到分布式架构，⼜从分布式架构发展到SOA 架构，服务不断的被拆分和分解，粒度也越来越⼩，
1

<a id="page-2"></a>## Page 2
直到微服务架构的诞⽣。
微服务架构是⼀种架构模式，它提倡将单⼀应⽤程序划分成⼀组⼩的服务，服务之间互相协调、互相配合，为⽤户提供最终价值。
每个服务运⾏在其独⽴的进程中，服务和服务间采⽤轻量级的通信机制互相沟通（通常是基于HTTP 的 RESTful API）。每
个服务都围绕着具体业务进⾏构建，并且能够被独⽴地部署到⽣产环境、类⽣产环境等。另外，应尽量避免统⼀的、集中式的服务
管理机制。
2. DDD领域驱动设计思想
DDD领域驱动设计是⽬前⼤型业务系统设计的核⼼思想，业务模型是软件架构及开发中的⼀个关键概念，它来⾃于本身的或
规划的业务场景，通过业务模型去阐述具体的业务场景，进⽽提炼出关键核⼼业务概念。通过分析业务概念之间的关系，确定各个
业务概念的边界范围，指导后续进⼀步对业务领域的划分，领域模型是DDD软件设计⽅法论中的核⼼概念，它是对业务分析及软件
设计实现的综合结果。领域模型与业务模型的最⼤区别是：领域模型是在理解业务模型边界及关系后，对业务提出的落地实现⽅式
及⽅法。
● 不仅是⼀个技术⽅案，是⼀个贯穿业务到技术落地的设计思想；
● 关注两个重点：问题空间、解决⽅案空间，系统落地的过程就是从问题空间到解决⽅案空间的⼀个映射转化过程；
● 源头是业务，整个系统的设计及实现以业务诉求作为驱动⼒；
● 设计过程参与者有技术⼈员也有业务⼈员，双⽅使⽤通⽤领域语⾔进⾏沟通；
● 是模式、原则和实践的集合体，可以被⽤到软件设计以管理复杂性
1.2. 应⽤架构设计
应⽤作为独⽴可部署的单元是系统业务的落地点，为系统划分了明确的边界，也深刻影响系统功能组织、代码开发、部署和
运维等各⽅⾯。
为保证系统业务深度扩展能⼒，系统按照业务处理范围及数据处理顺序，把系统分成⽤户前端层和后端服务层。其中⽤户前
端层有分为【主站商城应⽤】、【分站商城应⽤】、【商家运营管理应⽤】、【平台运营管理应⽤】、【供应商运营管理平台】、
【集采运营管理平台】等应⽤。
同时为保证系统业务⼴度的扩展能⼒，系统对后端服务层分为前端服务应⽤和电商中台服务应⽤，其中前端服务应⽤于⽤户
前端层中的应⽤⼀⼀对应，并增加与外部系统的接⼝对接应⽤。中台服务应⽤则基于中台业务中⼼，按照不同的业务类型划分应
⽤，分成基础服务应⽤、渠道(商家)中⼼应⽤、会员中⼼应⽤、仓储物流中⼼应⽤、商品中⼼应⽤、订单交易应⽤、集团采购应
⽤、供应商管理应⽤8⼤应⽤中⼼。作为系统底座业务服务应⽤，整体应⽤架构如下图所示。
1.3. 技术架构设计
从上章节的应⽤架构中可以看出，本系统为分布式微服务架构体系应⽤系统，再结合系统的电商业务特性，本系统在技术实
现上不仅是要满⾜业务功能完善，还需要对外(⽤户)满⾜⾼可⽤、⾼性能、易扩展这，对内(运营)满⾜易维护、易监控、易分析等核
2

<a id="page-3"></a>## Page 3
⼼需求。
1.4. 技术栈
分类 内容 中台框架选型
开发语⾔ 核⼼语⾔ Java1.8
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html
Java核⼼类库 java.net，java.lang
开发环境 代码管理构建⼯具 maven3.6
http://maven.apache.org/docs/3.2.2/release-notes.html
web容器 Undertow
版本控制⼯具 Gitlab
后端服务 微服务集成 SpringCloud(Greenwich.SR4)
负载均衡 Dubbo Spring Boot+Nacos
微服务框架 Spring Boot(2.1.11.RELEASE)
https://spring.io/projects/spring-boot
IOC容器 spring5.X
https://spring.io/projects/spring-framework
值对象框架 lombok 1.18.10
⽇志处理 sl4j2 1.7.29
数据库驱动 mysql-connector-java
8.0.18
数据库连接池 druid
1.1.21
ORM1 MyBatisPlus
ORM2 Spring Data Mongodb
3

<a id="page-4"></a>## Page 4
Redis连接池 Spring Data Redis
(参加基础框架）
接⼝API⽂档 springfox-swagger2
2.9.2
Json框架 fastjson 1.2.62
安全框架 Spring Security+OAuth2.0
基础⼯具箱 Hutool
ID算法 ⾃研
分布式事务 Seata1.4.2
前端框架 web端 构建: nodejs webpack
移动端：vue uniapp
PC：element-ui
https://element.eleme.cn/#/zh-CN
微信⼩程序 wxml wxss wxs uniapp
开发⼯具 集成开发⼯具 IDEA
Excel处理 easyexcel
通信协议 Https
单元测试框架 JUnit4
web层⽹关 spring cloud gateway
中间件数据库 DB mysql 8.0
mongoDB 4.0
服务注册发现 Nacos
任务 quartz
配置中⼼ Nacos
缓存 Redis
4

<a id="page-5"></a>## Page 5
搜索引擎 ElasticSearch6.8
消息 ONS (1.8.0)
管理 项⽬管理 禅道
代码管理 码云
1.5. 代码结构设计
● 整体⼯程结构清晰
● 业务中台：按业务中⼼独⽴部署，各业务中⼼按业务来源分⽬录，业务扩展插拔式扩展，丝毫不影响原有业务实现。
● 按业务系统独⽴部署，系统按业务区间分⽬录；
1.6. ⾼可⽤设计
系统采⽤多台服务器部署，每台服务器分别部署所有的应⽤，并⽤阿⾥云SLB做负载均衡，保证了系统的任何应⽤都不会出
现单点故障。
在存储与中间⽅⾯，同⼀采⽤阿⾥云的⾼可⽤组件。如MySQL、MongoDB、Redis、ElasticSearch数据库都选⽤了多⾼可
⽤节点主从备份版本，阿⾥云的OSS对象存储、RocketMQ消息队列可⽤性⾼达99.99999%。
1.7. ⾼安全
系统在⽣产环境下，应满⾜客户的安全使⽤需求，包括：防⽌注⼊式SQL渗⼊，跨站点脚本攻击、HTTP安全漏洞、数据包传
送校验、接⼝参数签名等。
为了达到安全运⾏平台的要求，系统技术平台内置安全模块，可以⽀持部署和维护上各种安全策略的实现。为保证应⽤服务的安全
性，系统底层框架平台通过以下⽅案来实现：
1）使⽤SSL/TSL安全传输协议
系统底层技术平台⽀持SSL/TSL数据安全传输。这样保证了数据在传输过程中，确保重要的、私有的信息不会泄漏，客户端和服务
器之间传输的⽤户数据不会被第三⽅所获取。系统的登录、认证采⽤SSL/TSL等安全传输协议在传输层对⽹络连接进⾏加密，保证
公司商业机密、⽤户密码及其它敏感信息不被⾮法⼊侵者读取。
2）访问控制技术
5

<a id="page-6"></a>## Page 6
系统内置SpringBoot Security + OAuth2 + JWT身份验证识别技术,实现对访问者的授权访问控制，不让冒名顶替者获取系统数
据。身份验证包括对⽤户身份的授权、管理和审查，即需要知道⽤户是谁，这些⽤户在系统中的权限等等。通过双重检查措施保证
系统不被⾮授权⽤户访问。
3）服务攻击防⽌
通过平台的技术设计约束，⾮平台内部模块⽆法产⽣具有⻛险的代码，从根源上提⾼了系统的安全性。例如：⽆法直接运⾏数据库
操作语句，杜绝了SQL语句注⼊攻击；⽆法直接合成和运⾏Java脚本（JavaScript），防⽌跨站点攻击。
4）接⼝参数签名
系统对所有向第三⽅提供的接⼝调⽤端发放Secret Key，并约定参数签名算法对接⼝参数签名，使得调⽤端的向接⼝传递的数据⽆
法被第三⽅篡改，保证了系统的接⼝安全。
1.8. 易⽤性
系统易⽤性需求设计主要体现在系统功能被理解、学习、使⽤以及吸引⽤户的能⼒上，在系统设计上，遵循甲⽅物业服务的
要求，在设计之初就将系统使⽤⼿册的编写纳⼊计划中。
在实现⽅法及步骤上采取以下⽅式达到设计要求。
需求分类 定义要素 需求内容
⽤户界⾯ 界⾯⻛格要求 统⼀的UI规范
界⾯输⼊要求 符合⼈体操作习惯，界⾯输⼊是可以
通过帮助健进⾏帮助
界⾯提示要求 提示友好易懂的提示信息，如：数据
保存成功；数据已删除。
⽂档⽀持 在线帮助要求 有在线帮助功能，能更改、更新在线
帮助。如：名称解释
1.9. 易维护
系统采⽤B/S架构实现，做到客户端零维护，不需要设置插件等额外操作，降低客户端安全⻛险，客户端只需要安装有浏览器
或安装了微信app即可使⽤系统。
1.10. 易扩展
6

<a id="page-7"></a>## Page 7
系统采⽤微服务集群架构意味着系统在承载能⼒上应⽤服务器、数据库服务器、缓存服务器等集群的规模可以动态伸缩。
在业务能⼒上，系统按业务中⼼对业务进⾏了应⽤层⾯的划分，使得系统在对业务功能扩展时能轻松应对。
1.11. 备份和恢复策略
多种部署架构，满⾜多类可⽤性要求
主备架构:RDS实例采⽤主备架构，两个实例位于不同服务器，⾃动同步数据。主实例不可⽤时，系统会⾃动将数据库连接切换⾄备
实例。
同城容灾:在不同可⽤区部署主备实例，独⽴的电⼒、⽹络环境可提升数据可靠性。
异地容灾:RDS for MySQL⽀持创建异地灾备实例，通过数据传输实现异地数据实时同步，在突发状况下，⽤户可将异地灾备实例
切换为主实例，保障业务可⽤性。
备份恢复:⽀持⾃定义备份策略，通过克隆实例恢复到任意时间点，找回误删数据
版本升级:MySQL⼩版本⾃动在线热升级，及时修复已知Bug
监控报警:资源和引擎双重监控，链接云监控⾃定义报警策略
故障切换:秒级探测，分钟级切换，90% 连接保持⽆影响
性能诊断:提供专家级⾃助式服务，解决60%的性能问题
1.12. 适配的访问端
平台运营管理端：PC，适配主流浏览器；
供应商管理端：PC，适配主流浏览器；
商家运营管理端：PC，适配主流浏览器；
集团运营管理端：PC，适配主流浏览器；
主站： PC，H5 微信 ⼩程序（可扩展APP）；
集团集采分站；PC，H5 微信 ⼩程序（可扩展APP）；
2. 部署⽅案
7

<a id="page-8"></a>## Page 8
2.1. 部署⽅式
公有云、私有云部署都⽀持，推荐公有云（阿⾥云）
两种部署⽅式在技术，⽤户体验上没有差别，但在价格，运维升级⽅⾯有差异。
公有云运维升级⽅便，私有云对IT要求⾼，⼈⼯参与度⾼。
⽀持⽀持K8S、Docker部署；
2.2. 数据库读写分离
电⼦商务⽹站⼤部分的HTTP请求都属于读数据操作，把读写操作混合在同⼀个数据库服务器，当访问量瞬间放⼤时，对系统
会造成很⼤的压⼒，甚⾄导致数据库锁死，因此数据库的优化⾄关重要。
系统不仅⽀持数据库与Web服务器分离，同时⽀持数据库读写分离，可根据企业在电⼦商务不同的阶段戒者企业的经营模式不同采
⽤针对性的优化设计。
读写分离是把对数据库读和写的操作分开对应不同的数据库服务器，这样能有效地减轻数据库压⼒，也能减轻IO压⼒。主数
据库提供写操作，从数据库提供读操作，其实在很多系统中，主要是读的操作。当主数据库进⾏写操作时，数据要同步到从的数据
库，这样才能有效保证数据库完整性。
2.3. 建议配置⽅案
正式环境部署配置建议：
系统 平台/服务 配置 数量
商城⽣产环 负载均衡SLB（按量付费） 可⽤区：成都A 1
境 实例规格：超强型I (slb.s3.large)按量付费模式下
规格费将根据每⼩时使⽤的实际规格收取
实例类型：公⽹
8

<a id="page-9"></a>## Page 9
云服务器ECS 实例：ecs.g6.4xlarge系列 V16核 64GB 2
I/O 优化实例：I/O 优化实例
系统盘：增强型SSD云盘/dev/200G
带宽：5Mbps按固定带宽
CPU：16核
可⽤区：成都A
操作系统：Linux64位CentOS 7.6 64位
内存：64GB
地域：⻄南
关系型数据库RDS RDS规格：8 核 32GB（⾼可⽤版） 1
数据库类型：MySQL
数据库版本号：5.7
公⽹流量：按实际使⽤流量每⽇扣费
可⽤区：成都A
系列：⾼可⽤版
部署⽅案：单可⽤区部署
地域：⻄南
存储空间：500GB
存储类型：SSD云盘
⽹络类型：专有⽹络
云数据库Redis 版本类型：企业版（Tair） 1
架构类型：集群版
版本类型：Redis 5.0
实例规格：8G集群版（2节点）
可⽤区：成都A
节点类型：双副本
密码设置：稍后设置
地域：⻄南
⽹络类型：专有⽹络
分⽚数：8分⽚
9

<a id="page-10"></a>## Page 10
云数据库MongoDB版 数据库类型：MongoDB 1
数据库版本：4.0
可⽤区：成都A
实例规格：4核8G
地域：⻄南
存储空间：200G
只读节点数：0
节点数：3
阿⾥云Elasticsearch 专有主节点：否 1
协调节点：否
存储类型：SSD云盘
单节点存储空间：200G
云盘加密：否
弹性数据节点：否
Elasticsearch版本：7.7
实例类型：通⽤商业版
Kibana节点：是
Kibana规格：2核8G
⽹络类型：专有⽹络
数量：3
实例规格：4核16G
地域：华北2（北京）
规格族：云盘型
场景初始化配置：通⽤场景
可⽤区：北京可⽤区H
可⽤区数量：单可⽤区
测试环境部署配置建议：
系统 平台/服务 配置 数量
10

<a id="page-11"></a>## Page 11
商城开发环境 云服务器ECS 实例：ecs.g6e系列 V8核 32GB
I/O 优化实例：I/O 优化实例
系统盘：增强型SSD云盘/dev/xvda200GBPL0
带宽：5Mbps按固定带宽
CPU：8核
可⽤区：华东1 可⽤区 H
操作系统：Linux64位CentOS 7.6 64位
内存：32GB
地域：华东1
虚拟交换机：vsw-bp1hhj0yoxt5k5sb5to71
⽹络类型：专有⽹络
关系型数据库RDS RDS规格：4 核 16GB（单机基础版） 1
数据库类型：MySQL
数据库版本号：5.7
公⽹流量：按实际使⽤流量每⽇扣费
可⽤区：cn-hangzhou-h
系列：基础版
地域：华东1
存储空间：200GB
存储类型：SSD云盘
⽹络类型：专有⽹络
云数据库Redis 版本类型：社区版 1
架构类型：集群版
版本类型：Redis 5.0
实例规格：4G集群版（2节点）
可⽤区：杭州可⽤区H
节点类型：双副本
密码设置：稍后设置
地域：华东1(杭州）
专有⽹络：vpc-bp1gh9xyd9tys7z6tdyub
虚拟交换机：vsw-bp1hhj0yoxt5k5sb5to71
⽹络类型：专有⽹络
购买时⻓：1年
分⽚数：2分⽚
11

<a id="page-12"></a>## Page 12
云数据库MongoDB版 套餐：dds.sn2.medium.1 1
数据库类型：MongoDB
数据库版本：4.0
地域：华东1（杭州）
存储空间：100
只读节点数：0
节点数：1
阿⾥云Elasticsearch 专有主节点：否 1
协调节点：否
存储类型：SSD云盘
单节点存储空间：100G
云盘加密：否
弹性数据节点：否
登录名：elastic
登录密码：gslypf_gp811009
Elasticsearch版本：7.7
实例类型：商业版
Kibana节点：是
Kibana规格：1核2G
⽹络类型：专有⽹络
数量：2
实例规格：2核4G
地域：华东1（杭州）
规格族：云盘型
场景初始化配置：通⽤场景
专有⽹络：vpc-bp1gh9xyd9tys7z6tdyub
虚拟交换机：vsw-bp1hhj0yoxt5k5sb5to71
可⽤区：杭州可⽤区H
冷数据节点：否
可⽤区数量：单可⽤区
3.介绍脑图
12

<a id="page-13"></a>## Page 13
13

<a id="page-14"></a>## Page 14
14