不准备面试了 还是写项目有意思 最近在把项目改
Spring Boot
应该就在这几天可以全部修改好另外等这个项目转移到
Spring Boots
后会使用Spring Cloud
重新开发一个项目 对Spring Cloud
和Dubbox
有兴趣的可以加群一起讨论626068936
模仿国内知名B2C网站,实现的一个分布式B2C商城
群 626068936 🈳
ps.进群参与开发或讨论 进群验证请填写Github账户名
使用技术:
- 后台
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这里就不一一列举了
想要一起开发的可以 Fork 项目,发邮件给我,我会把关于项目的数据库文件、Json 格式发送给您
前端、后端都可以参与。
期待您的 Pull Request
.
- Maven3.2.5
- nexus-2.2
- IntelliJ IDEA 2017.1
- JDK 1.8.0
- Mac OS X 10.11.6
- Jenkins
- dubbo-admin-2.8.4
- Zookeeper1 192.168.125.128
- zookeeper单机
- 安装教程
- Storm1 192.168.125.129
- FastDFS Tracker
- 安装教程
- Storm2 192.168.125.132
- FastDFS Storage
- 安装教程
- Redis 192.168.125.133
- redis单机
- 安装教程
- Solr 192.168.125.131
- solr单机
- 安装教程
ps.有虚拟机最好,并不是一定要求虚拟机。开发也可以全部装在本机,使用虚拟机的好处就是可以避免你的系统端口占用、删除麻烦等等一些问题。
教程写的不是很好 勿喷!!!
GitHub: https://github.com/xubinux/xbin-store
OSChina: http://git.oschina.net/binu/xbin-store
IDEA 可以直接 VCS -> Checkout from Version Control
-> Git -> 填写地址https://git.oschina.net/binu/xbin-store.git
IDEA导入可以只导入xbin-store
父工程 会自动导入全部模块
eclipse自行解决
不介意的话可以点个
Star
或者Fork
谢谢!
不配置私服的可以自行下载群文件中的dubbo 2.8.4.jar
和fastDFS 1.2.4.jar
但是听群友说dubbo的jar包只能下源码重新编译才能使用,我是自己编译的,你们可以试试。
服务器由群里
@K
提供 就不发布在网上了 只供群里使用
本项目一共有 2 大处配置文件地址 xbin-store-common-config
和各个工程
main/resources/config/config.properties
前者是整个项目的公共配置如:数据库、MQ等服务器地址都可以在这配置
后者是每个项目单独的配置如:dubbo配置、一些常量等配置
xbin-store-common-config/src/main/resources/db.properties
- jdbc.url
- jdbc.username
- jdbc.password
- 密码需要加密
java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools you_password
xbin-store-common-config/src/main/resources/mq_config.properties
- mq.brokerURL
xbin-store-common-config/src/main/resources/public_system.properties
- dubbo.registry.address
- fastdfs.base.url
- solr.single.url
- redis.server.single
- 各个模块的
config.properties
端口不要修改 如要修改请使用全局搜索替换原来端口
如有遗漏 请在群中给我反馈。
直接install
父工程
其他dubbox服务
只需修改Main class
和Use classpath of module
其他修改port
和Artifact
即可
不使用 IDEA 的启动 dubbo 服务直接运行每个 service 服务的 src/test/java/vip/xubin/Provider.java
中的 main 方法启动服务
名称 | 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 |
按照依赖启动 Redis-Service 先启动 其他 service 启动,在 web 启动。
- 父工程 xx
- xx-common
- xx-common-config
- xx-common-mapper
- xx-common-pojo
- xx-service-yy-api
- xx-service-yy
- xx-web-yy
- ......
本项目最终实现的目标 点我查看最后完成效果
- Zookeeper1 提供服务:Zookeeper
- Storm1 提供服务:FastDFS Tracker
- Storm2 提供服务:FastDFS Storage
- Redis 提供服务:Redis
- Solr 提供服务:Solr
启动了 5 台虚拟机+ 7 台 Tomcat + 9 个 Dubbox 服务 内存使用情况