# xbin-newstore-cloud **Repository Path**: shufengC/xbin-newstore-cloud ## Basic Information - **Project Name**: xbin-newstore-cloud - **Description**: 基于xbin-store-cloud重构,完全保留原业务逻辑,模块更精简,部署更方便 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2019-06-28 - **Last Updated**: 2021-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README README.md #### 本项目基于xbin-store-cloud重构: - gradle转pom - 归档所有api模块到service-api模块下 - 合并所有web模块为一个web-portal模块 - 合并原web模块的js与css - 拆分static资源到工程外部目录 - 将配置移至bootstramp.yml和application.yml,去掉apollo/config server相关配置 - 废弃turbine与sleuth,独立部署zipkin server - 重构dao层,改为手写mapper,废弃generator方式 - 增加启动脚本 - 修正错误依赖 #### 模块清单 | 模块 | 说明 | | -------- | ------- | |xbin-store-cloud-common | 常量与工具| |xbin-store-cloud-common-mapper | mapper| |xbin-store-cloud-common-pojo | 业务对象| |xbin-store-cloud-eureka-server | 注册中心| |xbin-store-cloud-service-admin | 后台管理模块| |xbin-store-cloud-service-api | 微服务接口| |xbin-store-cloud-service-cart | 购物车模块| |xbin-store-cloud-service-homepage | 首页模块| |xbin-store-cloud-service-item | 商品模块| |xbin-store-cloud-service-notify | 通知模块| |xbin-store-cloud-service-order | 订单模块| |xbin-store-cloud-service-search | 搜索模块| |xbin-store-cloud-service-user | 用户模块| |xbin-store-cloud-web-portal | PC前端模块| #### 重构说明 1. 原项目微服务拆分太细,每个service模块都对应一个web模块,故将所有web模块合并为一个xbin-store-cloud-web-portal,合并controller/template 2. 同时合并整理所有js和css,并将static资源目录移到工程外部,通过spring.resources.static-locations指定 3. 归档所有api模块到xbin-store-cloud-service-api模块下,为了好看 4. turbine与sleuth废弃,这两个模块是做路由跟踪的,按照zipkin官方改进,zipkin server已经改为单独部署,在客户端指定spring.zipkin.base-url 5. 原项目中的config目录废弃,将配置分散到每个模块的application.yml和bootstrap.yml, deploy-dev.properties表示开发环境配置 6. 原项目中的apollo库是用来连接apollo config server的(携程出品的配置中心),没必要用,本来spring也有spring config server(需要git库). 原项目中只有turbine这个模块使用的配置中心,重构后废弃。 7. 原项目的mapper均为generator生成,扩展麻烦,改成手写的mapper,更适合编写具体业务的映射 8. 原xbin-store-cloud-service-sso改为xbin-store-cloud-service-user,原xbin-store-cloud-service-portal改为xbin-store-cloud-service-homepage #### 部署 1.将spring-boot-starter-redis-0.0.1.jar spring-boot-starter-druid-0.0.1.jar打入本地maven库(请自行搜索),也可以使用他人的私库 mvn install:install-file -Dfile=spring-boot-starter-druid-0.0.1.jar -DgroupId=cn.binux -DartifactId=spring-boot-starter-druid -Dversion=0.0.1 -Dpackaging=jar mvn install:install-file -Dfile=spring-boot-starter-redis-0.0.1.jar -DgroupId=cn.binux -DartifactId=spring-boot-starter-redis -Dversion=0.0.1 -Dpackaging=jar mvn install:install-file -Dfile=fastdfs-client-java-1.27-RELEASE.jar -DgroupId=org.csource -DartifactId=fastdfs-client-java -Dversion=1.27-RELEASE -Dpackaging=jar docker run -d -p 8081:8081 --name nexus sonatype/nexus:oss 2.本地编译打包: mvn install -DskipTests=true 3.上传所有jar及control.sh到服务器,假设目录为/home/shopdemo 4.创建数据库shop_demo,导入shop_demo.sql 5.运行: ```` cd /home/shopdemo ./control.sh eureka-server-1.0.0.jar start ./control.sh xbin-store-cloud-service-user-1.0.0.jar start ./control.sh xbin-store-cloud-service-item-1.0.0.jar start ./control.sh xbin-store-cloud-service-cart-1.0.0.jar start ./control.sh xbin-store-cloud-service-order-1.0.0.jar start ./control.sh xbin-store-cloud-service-notify-1.0.0.jar start ./control.sh xbin-store-cloud-service-search-1.0.0.jar start ./control.sh xbin-store-cloud-service-admin-1.0.0.jar start ./control.sh xbin-store-cloud-web-portal-1.0.0.jar start ```` 5.访问: 首页: http://192.168.100.222:8101/index 商品页面: http://192.168.100.222:8101/item/148630831972863 体验主流程:访问商品 -> 添加至购物车 -> 登录 -> 提交订单 登录帐号/密码:zhangsan/123456 #### 遗留问题 1.solr未部署,搜索不可用 2.后台管理功能缺失 3.zuul网关缺失 4.fastdfs缺失 #### 其他 部署zipkin server: ```` cd /home/shopdemo curl -sSL https://zipkin.io/quickstart.sh | bash -s java -jar zipkin.jar ```` 安装fastdfs(如需存储图片到fastdfs则需要安装,存到文件目录则无需安装): ``` yum install -y gcc perl wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz -O /home/tools/libfastcommon-1.0.39.tar.gz cd /home/tools tar xvf libfastcommon-1.0.39.tar.gz cd libfastcommon-1.0.39 ./make.sh ./make.sh install wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz -O /home/tools/fastdfs-5.11.tar.gz cd /home/tools tar xvf fastdfs-5.11.tar.gz cd fastdfs-5.11 ./make.sh ./make.sh install ``` 配置fastdfs: ``` vi /etc/fdfs/tracker.conf vi /etc/fdfs/storage.conf mkdir -p /data/fastdfs/storage/base mkdir -p /data/fastdfs/storage/storage0 mkdir -p /data/fastdfs/tracker ``` 胖狗与飞鸟 14808540@qq.com