由于本人最近在准备面试 所以这个项目可能会耽误一段时间 😋 😋
模仿国内知名B2C网站,实现的一个分布式B2C商城
使用技术:
- 后台
Maven
构建项目Jenkins
作为持续集成- 构上采用
Dubbox
作为RPC框架 kryo
序列化- 使用
Spring
+Spring MVC
+MyBatis
SSM框架 - 数据库连接池使用
druid
- 数据库使用
MySQL
和Redis
- 网页采用
freemarker
生成静态化页面 - 存储采用
FastDFS
存储图片等文件 - 采用
Solr
实现搜索服务 - 负载均衡使用
Nginx
、Keepalived
实现高可用 - 采用
Spring Scheduled
做任务调度 - 消息中间件暂时采用
ActiveMQ
准备替换为RocketMQ
, - 在分布式事务上则采用了TCC解决订单支付方面时效性要求性高的分布式事务,可靠的消息服务则来解决如会计记录等时效性要求低的分布式事务.
- 前台
- 采用基于AdminLTE的roncoo-adminLTE(主要增加了Ajax的布局模式)
- AdminLTE集成太多Js这里就不一一列举了
本项目最终实现的目标 点我查看最后完成效果
- Zookeeper1 提供服务:Zookeeper
- Storm1 提供服务:FastDFS Tracker
- Storm2 提供服务:FastDFS Storage
- Redis 提供服务:Redis
- Solr 提供服务:Solr
启动了 5 台虚拟机+ 7 台 Tomcat + 9 个 Dubbox 服务 内存使用情况
想要一起开发的可以 Fork 项目,发邮件给我,我会把关于项目的数据库文件、Json 格式发送给您
前端、后端都可以参与。
期待您的 Pull Request
.
新建了一个Q群,想参与开发或讨论技术的可以扫描二维码,进群验证请填写你的Github用户名,否则一律拒绝。
名称 | IP | 完成情况 |
---|---|---|
Portal | 192.168.125.1:8101 | 完成情况 |
Search | 192.168.125.1:8102 | 完成情况 |
Item | 192.168.125.1:8103 | 完成情况 |
SSO | 192.168.125.1:8104 | 完成情况 |
Admin | 192.168.125.1:8105 | 完成情况 |
Cart | 192.168.125.1:8106 | 完成情况 |
Order | 192.168.125.1:8107 | 完成情况 |
服务名称 | Dubbox服务端口 | rest服务端口 |
---|---|---|
Admin-Service | 192.168.125.1:20880 | rest:8510 |
Redis-Service | 192.168.125.1:20881 | rest:8511 |
Search-Service | 192.168.125.1:20882 | rest:8512 |
Portal-Service | 192.168.125.1:20883 | rest:8513 |
Item-Service | 192.168.125.1:20884 | rest:8514 |
SSO-Service | 192.168.125.1:20885 | rest:8515 |
Notify-Service | 192.168.125.1:20886 | rest:8516 |
Cart-Service | 192.168.125.1:20887 | rest:8517 |
Order-Service | 192.168.125.1:20888 | rest:8518 |
名称 | IP |
---|---|
Zookeeper1 | 192.168.125.128 |
FastDFS | 192.168.125.129 |
Solr | 192.168.125.131 |
FastDFS | 192.168.125.132 |
Redis | 192.168.125.133 |
- 父工程 xx
- xx-common
- xx-common-config
- xx-common-mapper
- xx-common-pojo
- xx-service-yy-api
- xx-service-yy
- xx-web-yy
- ......