面试官:SpringBoot、SpringCloud、微服务你会多少?回答淋漓尽致!

285 篇文章 0 订阅
129 篇文章 1 订阅

微服务项目

项目是以微信订单后台功能为例,模拟从对业务进行微服务划分开始,然后通过运用Spring Cloud常用组件使项目微服务架构不断完善、优化的过程。主要从以下几个部分循序渐进地完成本项目开发,并对每个部分的环境搭建、设计分析、关键步骤和代码做详细阐述。

第一部分从商品服务功能、订单服务功能两大模块的开发入手,将两大业务模块做成两个独立的微服务模块,并注册到微服务中心EurekaServer中。

第二部分根据Spring Cloud中基于Feign的服务间的远程调用,实现订单模块对商品模块部分功能的访问,为了减少模块之间代码冗余,降低模块之间的耦合度,将项目改造为多模块结构,模块之间访问时通过引入Maven依赖实现。

第三部分根据Spring Cloud分布式配置的相关知识来配置Git仓库,方便存储项目的配置文件,使配置文件和项目文件分离,配置文件修改后不需要重启服务,请求刷新接口后即可直接生效。

第四部分将消息队列应用到订单服务模块和异步扣库存功能,采用RabbitMQ消息框架和Spring Stream来实现。

第五部分在HTTP请求到达微服务之前,设计基于Spring Cloud Zuul的网关,实现客户端访问多个微服务的统一入口,根据不同请求选择访问不同的微服务,并在访问微服务之前通过设置过滤器实现权限控制、API监控等功能。

需要完整版的小伙伴可以帮忙一键三连后,加小助手vx:bjmsb2019或者vx:1249448307即可!

项目总体功能描述

1.项目功能需求介绍

本章案例主要涉及微信后台下单系统的核心功能模块:商城后台商品服务、订单服务,具体需求如下。

(1)商品服务

  • 查询商品类别。
  • 查询所有在架的商品。
  • 商品库存更新,此功能涉及微服务间的调用。

(2)订单服务

  • 查询商品信息,根据用户订单中的商品ID查询商品列表,涉及微服务间的调用。
  • 查询订单信息,这里是根据订单ID查询订单详细信息。
  • 订单信息校验,主要检查买家提交订单中的必填项,如买家微信号、地址、姓名、手机号等,并校验其输入格式是否正常。
  • 计算总价,根据订单项中的商品价格和购买数量,计算订单总价。
  • 扣除库存,用户下单成功后,商品库存数量需要更新。此功能涉及微服务间调用和消息队列的使用。
  • 订单入库,将完整的订单信息表保存到订单表,同时将跟订单对应的所有订单项保存到订单项表中,这里涉及事务管理。

2.技术框架

实战涉及的技术包括:Spring Cloud Greenwich全家桶组件(Greenwich版本是基于Spring Boot 2.1.x版本构建的)、Redis缓存、消息队列RabbitMQ、Spring Cloud Bus、Spring Cloud Stream。分布式配置存储使用Git,项目管理工具采用Maven。

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

 

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

 

全篇章节目录展示

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

 

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

 

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

 

Eureka Server 实现高可靠

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

 

配置仓库

吃透Spring Boot+Spring Cloud+微服务项目,看这套2021年笔记就够了

需要完整版的小伙伴可以帮忙一键三连后,加小助手vx:bjmsb2019或者vx:1249448307即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值