为现实秒杀场景,搭建后端spring cloud微服务架构,前端可以使用vue或者其他框架。
1.后端框架包括:2个注册中心eureka,2个api网关zuul,客户端负载均衡ribbon,声明式服务调用feign,断路器hystrix,同时还包括两个后端业务服务,一个用户服务,一个订单服务。
2.流程说明:用户从浏览器或者app等终端发起http请求,通过cdn加速和dns域名解析后,请求到达Nginx后,Nginx对网关层进行负载,因为网关也需要多HA。
此时网关Gateway接收到请求后,根据请求路径进行动态路由,通过注册中心eureka服务发现是订单中的服务,则从ribbon中选择一台订单的实例进行调用,订单实例中如需要其他服务信息(例如用户服务信息),
再通过声明式服务调用feign调用其他服务接口信息,将数据业务处理后,反馈给前端,流程结束。
3.用到相关服务和技术:redis缓存,mysql数据库,rabbitMQ队列,Nginx,redisson分布式锁,Mybatis持久层框架,Mybatis的分页插件pagehelper,mybatis-generator代码自动生成工具,spring cloud微服务组件。JDK1.8,maven-3.3.9。
4.系统服务配置:
操作系统hosts文件配置内容:127.0.0.1 www.buba.com
Nginx路径下conf目录下nginx.conf文件配置内容:
http {
upstream backServer {
server 127.0.0.1:7000 weight=1;
server 127.0.0.1:8000 weight=1;
}
server {
server_name www.buba.com;
location / {
proxy_pass http://backServer;
}
}
}
5.post请求:请求url:http://www.buba.com/orderservice/order/pay
Headers内容:Content-Type:application/json 和 userToken:zhangsan
请求入参json参数:{"userName":"zhangsan"}
如果下单成功请求出参json参数:{"code":"0","msg":"下单成功","timestamp":1557127591533,"data":{"id":"9f361c558cb340f0aa76449fa0c4a8f0","userid":"1"}}
6.运行微服务应用前必须启动redis服务,rabbitMQ服务,Nginx服务和mysql服务:业务应用按顺序启动itcast-platform-eureka,itcast-platform-zuul,itcast-platform-order和itcast-platform-user
7.架构模块介绍:从名称中即可理解每个module的作用。其中itcast-common是一个公共基础包,方便给后台服务引用。itcast-parent为各个module的父pom,统一对各子模块依赖版本进行管理。
8.itcast-platform-eureka和itcast-platform-zuul模块中application-prod.yml有两个profiles: peer1和peer2,双实例部署测试高并发高可用。两个后端业务服务根据测试和生产需求,进行多实例部署测试。
9.启动多实例多profiles指令:java -jar itcast-platform-zuul-1.0.0.jar --spring.profiles.active=prod,peer1 或 java -jar itcast-platform-zuul-1.0.0.jar --spring.profiles.active=prod,peer2
10.数据库表初始化脚本:
CREATE TABLE
USER
(
ID VARCHAR(128) COLLATE utf8_general_ci NOT NULL,
USER_NAME VARCHAR(120) COLLATE utf8_general_ci,
PASSWORD VARCHAR(64) COLLATE utf8_general_ci,
PRIMARY KEY (ID)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE
TDORDER
(
ID VARCHAR(128) COLLATE utf8_general_ci NOT NULL,
USER_ID VARCHAR(128) COLLATE utf8_general_ci,
GOODS_ID VARCHAR(128) COLLATE utf8_general_ci,
CAMPAIGN_ID VARCHAR(128) COLLATE utf8_general_ci,
PRIMARY KEY (ID)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `user` (`ID`, `USER_NAME`, `PASSWORD`) VALUES('1','zhangsan','123456');
免责声明:
1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。
2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。
3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。
4.本资源不应用于商业用途。
5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。
6.对于因使用本资源而产生的任何损失或损害,我概不负责。
请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。
资源最后修改时间:2024-12-11 22:30:29
4516330442447
fbf4f305-3b16-4760-8815-ae843cff5a82
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
【Java源码】基于秒杀场景微服务架构代码.zip (83个子文件)
itcast-platform-master
itcast-parent
pom.xml 8KB
itcast-platform-orderReceive
pom.xml 4KB
src
main
resources
application-test.yml 3KB
mapper
OrderMapper.xml 3KB
logback.xml 1KB
application-uat.yml 3KB
application-dev.yml 3KB
application-prod.yml 3KB
mybatis-generator.xml 2KB
application.yml 3KB
java
com
itcast
mapper
OrderMapper.java 340B
controller
OrderMQReceive.java 2KB
utils
RedissonConfig.java 2KB
IDUtil.java 708B
RabbitMQConfig.java 5KB
OrderReceiveApplication.java 717B
entity
Order.java 861B
itcast-platform-eureka
pom.xml 1KB
src
main
resources
application-test.yml 521B
logback.xml 1KB
application-uat.yml 521B
application-dev.yml 522B
application-prod.yml 1KB
application.yml 1KB
java
com
itcast
platform
eureka
PlatformEurekaApplication.java 441B
itcast-common
pom.xml 2KB
src
main
java
com
itcast
common
BizException.java 2KB
utils
RsaUtils.java 11KB
RequestUtils.java 7KB
JsonUtils.java 5KB
ResponseUtils.java 8KB
KeyUtils.java 2KB
DigestUtils.java 3KB
AesUtils.java 4KB
Consts.java 1KB
dto
ReqKey.java 2KB
Pageable.java 2KB
Session.java 2KB
RetCode.java 2KB
Header.java 5KB
Response.java 3KB
itcast-platform-user
pom.xml 4KB
src
main
resources
application-test.yml 2KB
mapper
UserMapper.xml 3KB
logback.xml 1KB
application-uat.yml 401B
application-dev.yml 1KB
application-prod.yml 2KB
mybatis-generator.xml 2KB
application.yml 813B
java
com
itcast
mapper
UserMapper.java 378B
controller
UserController.java 1KB
entity
User.java 651B
UserApplication.java 595B
itcast-platform-zuul
pom.xml 3KB
src
main
resources
application-test.yml 296B
logback.xml 1KB
application-uat.yml 194B
application-dev.yml 296B
application-prod.yml 396B
application.yml 2KB
java
com
itcast
platform
zuul
filter
AuthZuulFilter.java 2KB
PlatformZuulApplication.java 666B
README.md 5KB
itcast-platform-order
pom.xml 4KB
src
main
resources
application-test.yml 3KB
logback.xml 1KB
application-uat.yml 3KB
application-dev.yml 3KB
application-prod.yml 3KB
mybatis-generator.xml 2KB
application.yml 4KB
java
com
itcast
OrderApplication.java 703B
controller
OrderController.java 2KB
utils
FullLogConfiguration.java 225B
RabbitMQConfig.java 5KB
service
UserServiceFallbackImpl.java 693B
UserService.java 532B
entity
Order.java 861B
dto
ResultMsg.java 2KB
OrderInfo.java 921B
EEnum.java 12KB
User.java 648B
共 83 条
- 1
资源评论
武昌库里写JAVA
- 粉丝: 7033
- 资源: 3205
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 白色大气风格的旅游酒店企业网站模板.zip
- 白色大气风格的律师行政模板下载.zip
- 白色大气风格的旅游整站网站模板.zip
- 白色大气风格的美国留学成人教育网站模板.zip
- 白色大气风格的贸易物流企业网站模板.zip
- 白色大气风格的绿色服务型公司模板下载.zip
- 白色大气风格的美食DIY应用APP官网模板.zip
- 白色大气风格的美容养生spa企业网站模板.zip
- 白色大气风格的美食餐饮网站模板下载.zip
- 白色大气风格的模糊背景商务网站模板下载.zip
- 白色大气风格的美食厨师展示模板下载.zip
- 白色大气风格的木材加工行业网站模板下载.zip
- 白色大气风格的美食网站模板下载.zip
- 白色大气风格的摩托车爱好者网站模板下载.zip
- 白色大气风格的摩天大厦网站响应式模板.zip
- 白色大气风格的农业科技网站模板下载.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功