# 微服务电商项目 **Repository Path**: YuGeSpace/gulimall ## Basic Information - **Project Name**: 微服务电商项目 - **Description**: 谷粒商城,微服务电商项目。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-07-12 - **Last Updated**: 2022-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微服务电商项目-进度(高级篇) #### 架构介绍 + 软件架构说明 + 谷粒商城,微服务+分布式+全栈+集群+部署+自动化运维+可视化CICD + 涉及技术 + JDK1.8、maven、nginx、spring、springCloud、springBoot、springAlibaba、mybatis-plus、 + mysql、redis、rabbitMQ、elasticSearch、docker、kuberneters、jenkins、oss + 介绍 + https://thoughts.teambition.com/share/60af4091c9550c00468b8842#title=项目前言 #### 环境信息 + 虚拟机环境(二选一) + VMware + VirtualBox+Vagrant + docker环境(先安装docker,以下为项目所需在docker下的容器镜像) + mysql-5.7 + redis-latest(latest:为最新版本) + elasticsearch:7.4.2(存储OR检索)/kibana:7.4.2(可视化)版本必须保证统一 + nginx-1.10 + 前端 + node + npm 安装淘宝镜像 + 集群服务 + nacos + 云存储服务 + oss #### 项目结构
批次项目编码项目名称描述
0gulimall-common公共组件每一个微服务公共的依赖,bean,工具类等
gulimall-gateway网关服务每一个微服务前端路径跳转必须先到网关,经由网关根据配置信息转发具体微服务
gulimall-third-party第三方服务第三方服务提供者,OSS,短信等
gulimall-search搜索服务Elasticsearch搜索文档
gulimall-auth-server认证服务社交登录、Oauth2.0、单点登录
1gulimall-member用户服务-
gulimall-order订单服务-
gulimall-product商品服务-
gulimall-ware存储服务-
gulimall-coupon优惠券服务-
gulimall-cart购物车服务-
2renren-fast人人开源后端里面很多工具类和代码后期所需要
renren-fast-vue人人开源前端后台管理前端整套代码信息
renren-generator人人开源逆向工程用于生成entity、xml、dao、service、html、js、sql
3nacosnacos服务集群服务,直接启动startup.cmd,账号密码:nacos
#### 配置说明 + 数据库信息 + 主项目sql文件夹 + 云存储服务 + oss信息配置参考gulimall-third-party + C盘host配置 + nginx反向代理 + 192.168.xxx.xxx gulimall.com + 192.168.xxx.xxx search.gulimall.com + 192.168.xxx.xxx item.gulimall.com + 192.168.xxx.xxx auth.gulimall.com + 192.168.xxx.xxx cart.gulimall.com #### 相关网站 + 访问链接: https://thoughts.teambition.com/share/60af4057f64d5f0046ddbded#title=网址汇总 #### 开发流程 + JDK1.8 + 首先安装Java所需环境,JDK1.8,如果本地没有1.8可自行下载安装双JDK环境切换使用,可不配置环境变量 + Maven + 下载maven并修改maven远程仓库,可修改为Alibaba远程仓库 + Git + 下载安装Git客户端工具 + 虚拟机+Docker + 教程: https://thoughts.teambition.com/share/60af456a12e73d0046be777b#title=1.Linux环境搭建&Vagrant使用 + 安装虚拟机并安装docker容器 + 在docker容器中安装mysql和redis数据库信息 + 项目初始创建+数据库初始化 + 依次创建【项目结构】表格批次1的module + 初始化**主项目sql文件夹**,创建对应数据库 + 搭建前台框架+测试product项目 + 从码云上面下载人人开源项目 + 搭建流程: https://thoughts.teambition.com/share/60b18cb189cdfe00460aec83#title=4.前端设置 + 其他模块生成逆向工程 + 照着product项目操作就好了 + yml文件模块端口号设置,coupon:7000/member:8000/order:9000/product:10000/ware:11000 + SpringCloudAlibaba + https://thoughts.teambition.com/share/60b1b373eee3cb0046f421f5#title=5.SpringCloudAlibaba + Terminal: 切换到nacos/bin/目录 输入startup.cmd 启动项目 + 前端练习此处略过 + 使用feign远程调用 + 检查自己的微服务的pom.xml是否导入spring-cloud-starter-openfeign + 在member的主类上面增加@EnableFeignClients(basePackages = "com.example.gulimall.member.feign")开启feign功能 + member增加feign包,增加声明式远程调用接口:CouponFeignService + nacos + 本地增加nacos服务注册&发现&管理具体参考SpringCloudAlibaba文档, + nacos配置比较简单,可根据bootstrap.properties的内容自己配置 + 网关 + 具体参考springCloudGateway官网资料 + 跨域解决方案 com.example.gulimall.config.CorsConfig + OSS云存储 + 阿里云官网开通OSS-创建Bucket-创建RAM子账号-授权子账号上传访问权限 + ElasticSearch文档搜索 + 搭建教程 https://thoughts.teambition.com/share/60c1f29891b3120046f29685#title=ElasticSearch + nginx 反向代理,动静分离 + 性能压测 + 接入分布式缓存Redis、Redison + 线程池+JDK1.8异步编排方法 + 认证服务 + 购物车业务 + 使用ThreadLocal做临时购物车操作 #### 部署启动 + 步骤 + 启动nacos包下面startup.cmd + 启动docker的mysql数据库 + 启动renren-fast-vue前端 + 启动各个微服务,正常访问 #### 代码扫描 + Alibaba Code Guidelines 扫描修复 + Blocker:最严重的问题,要求是必须修复,不允许带着Blocker问题的代码上线,跟绩效挂钩。 + Critical:是比较严重的问题,要求是必须修复,不允许带着Critical问题的代码上线,跟绩效挂钩 + Major:问题,可以不修复,也可以修复。主要是看项目的排期和进度,如果说进度不是特别紧张的话,
建议全部修复。如果说项目进度很紧张的话,Major问题可以先放着,下次有时间了再修复。