代码拉取完成,页面将自动刷新
同步操作将从 芋道源码/yudao-cloud 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
[toc]
基于微服务的思想,构建在 B2C 电商场景下的项目实战。
「Talk is cheap. Show me the code」(屁话少说,放码过来)
我们看过很多技术文章,却依然不知道微服务该咋整。
整体的功能如下图:
功能图,和实际后端模块拆分,并不是绝对对应。
交流群:传送门
一起交流,Get 知识。
我们迫切希望更多的参与进来,可以加入「交流群」,一起骚聊。
TODO 此处应有一个演示的装逼 GIF 图。
TODO 暂时不提供管理后台的账号密码,等后面提供。
TODO 此处应有一个演示的装逼 GIF 图。
提供其他演示环境。例如说 skywalking、sentinel 等等。
TODO 此处应有一个架构图的装逼 JPG 图。
模块 | 名称 | 端口 |
---|---|---|
admin-web |
【前端】管理后台 | HTTP 8080 |
mobile-web |
【前端】商城 H5 | HTTP 8000 |
admin-application |
管理员 HTTP 服务 | HTTP 18083 |
user-application |
用户 HTTP 服务 | HTTP 18082 |
product-application |
商品 HTTP 服务 | HTTP 18081 |
pay-application |
支付 HTTP 服务 | HTTP 18084 |
promotion-application |
促销 HTTP 服务 | HTTP 18085 |
search-application |
搜索 HTTP 服务 | HTTP 18086 |
order-application |
订单 HTTP 服务 | HTTP 18088 |
后端项目,目前的项目结构如下:
[-] xxx
├──[-] xxx-application // 提供对外 HTTP API 。
├──[-] xxx-service-api // 提供 Dubbo 服务 API 。
├──[-] xxx-service-impl // 提供 Dubbo 服务 Service 实现。
考虑到大多数公司,无需拆分的特别细,并且过多 JVM 带来的服务器成本。所以目前的设定是:
xxx-service-impl
内嵌在 xxx-application
中运行。xxx-service-impl
中运行。也就是说,一个 xxx-application
启动后,该模块就完整启动了。
框架 | 说明 | 版本 |
---|---|---|
Spring Boot | 应用开发框架 | 2.1.4 |
MySQL | 数据库服务器 | 5.6 |
MyBatis | 数据持久层框架 | 3.5.0 |
Redis | key-value 数据库 | 暂未引入,等压测后,部分模块 |
Redisson | Redis 客户端 | 暂未引入,等压测后,部分模块 |
Elasticsearch | 分布式搜索引擎 | 6.7.1 |
Dubbo | 分布式 RPC 服务框架 | 2.7.1 |
RocketMQ | 消息中间件 | 4.3.2 |
SkyWalking | 分布式应用追踪系统 | 6.0.0 |
Zookeeper | 分布式系统协调 | 3.4.9 作为注册中心 |
XXL-Job | 分布式任务调度平台 | 2.0.1 |
未来考虑引入
商城 H5 和管理后台,分别采用了 Vue 和 React ,基于其适合的场景考虑。具体的,可以看看 《为什么 React 比 Vue 更适合大型应用?》 的讨论。
商城 H5
框架 | 说明 | 版本 |
---|---|---|
Vue | JavaScript 框架 | 2.5.17 |
Vant | Vue UI 组件库 | 3.13.0 |
管理后台
框架 | 说明 | 版本 |
---|---|---|
React | JavaScript 框架 | 16.7.0 |
Ant Design | React UI 组件库 | 3.13.0 |
目前成员
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。