高并发,分布式架构商城实现, 项目基于 Gradle 构

mall

高并发,分布式架构 尚硅谷谷粒商城实现

微服务 后台管理系统 网关服务 商品系统 全文检索系统 订单系统 购物车系统 仓库系统 秒杀系统 物流系统 会员系统 优惠系统 支付系统 技术栈

反向代理、动静分离 - Nginx

注册中心、配置中心 - nacos

认证中心(社交登录,weibo) - OAuth2.0

权限控制 - Spring Security

统一网关 - SpringCloud Gateway

客户端负载均衡 - Ribbon

服务熔断降级 - Sentinel

缓存系统 - redis

分布式事务 - Seata

远程调用 - openFeign

对象存储 - 阿里云对象存储 OSS

全文检索 - Elasticsearch

消息队列 - RabbitMQ

链路追踪 - Zipkin + Sleuth

线上监控系统 - Prometheus

日志系统 - ElasticSearch + Logstash + Kibana

压力测试 - Jmeter

性能优化

人人快速开发平台

支付宝API

容器化技术 - Docker

声明式可配式容器负载和服务管理平台 - Kubernets

初级篇 分布式基础概念 微服务 注册中心「Nacos」 配置中心「Nacos」 远程调用「Feign + Ribbon」 网关「SpringCloud Gateway」

基础开发 SpringBoot2.0 SpringCloud,MyBatisPlus,Vue组件化

环境 Docker,MySQL,Redis,逆向工程「人人开源」

开发规范

数据校验「JSR303」 Spring MVC 统一异常处理「@ControllerAdvice + @ExceptionHandler」 响应统一封装「R」 跨域统一解决「在网关配置跨域」 VO / TO / PO common 抽取 中间件安装 MySQL

docker un -p 3306:3306 --name mysql\ -v /mall/mysql/log:/var/log/mysql\ -v /mall/mysql/data:/var/lib/mysql\ -v /mall/mysql/conf:/etc/mysql\ -e MYSQL_ROOT_PASSWORD=123456\ -d mysql # -p 端口映射 宿主机端口/容器端口 # -v 目录挂载 宿主机目录/容器目录 # -e MYSQL_ROOT_PASSWORD=123456,初始化root密码 docker exec -it mysql /bin/bash docker update mysql --restart=always Nginx

Redis

docker run -p 6379:6379 --name redis\ -v /mall/redis/data:/data\ -v /mall/redis/conf/redis.conf:/etc/redis/redis.conf\ -d redis redis-server /etc/redis/redis.conf # 以 /etc/redis/redis.conf 配置启动 docker exec -it redis redis-cli docker update mysql --restart=always

ElasticSearch

Kibana

renren-fast

renren 快速开发平台,生成后台管理系统 mall-admin 创建db并执行db下sql文件

renren-generator

renren 逆向代码生成,包括5个系统:

coupon 优惠系统,mall_sms member 会员系统,mall_ums order 订单系统,mall_oms product 商品系统,mall_pms ware 仓库系统,mall_wms

将逆向生成的Java代码,copy至各项目

startup

mall-common

导入Mybatis-Plus compile 'com.baomidou:mybatis-plus-boot-starter:3.4.0' 导入MySQL驱动 runtime 'mysql:mysql-connector-java:8.0.22' 配置数据源 hikari 速度最快的数据源

nacos - 注册中心

引入 nacos com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery 配置 nacos server地址 spring.cloud.nacos.server-addr: 127.0.0.1:8848 开启注解 @EnableDiscoveryClient

openfeign - 远程调用

引入 openfeign org.springframework.cloud:spring-cloud-starter-openfeign 开启注解 @EnableFeignClients(basePackages="com.yangzl.mall.product.feign") 声明式接口 编写声明式接口,标注@FeignClient("application-name"),声明式调用(mvc 注解路径)

nacos - 配置中心

引入 依赖 com.alibaba.clous:spring-cloud-starter-alibaba-nacos-config 创建bootstrap.properties(bootstrap优先于application加载) 添加项目名称与nacos server地址 spring.application.name=, spring.cloud.nacos.config.server-addr= 项目启动默认读取(${application.name}.properties) 所以在nacos配置创建文件 ${application.name}.properties 并添加配置 在要使用动态配置的组件添加注解 @RefreshScope nacos 使用详解:

配置中心优先于本地配置

命名空间 配置集 配置集ID 高级篇 分布式篇

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。