# parking-project **Repository Path**: ncharming/parking-project ## Basic Information - **Project Name**: parking-project - **Description**: SpringBoot3.x、SpringClound、SpringCloundAlibaba实践停车场项目 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: test - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-22 - **Last Updated**: 2024-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1.搭建微服务-会员模块(parking-member) 1.1 mybatis-generate 自动生成 entity、mapper、xml 代码 mybatis-generator:generate -e 1.2 SpringBoot3.x 整合 mybatis-starter3.x 、druid-spring-boot-3-starter 可以调通接口 2.SpringBoot3.x 整合 Swagger3 2.1 依赖 springdoc-openapi 2.2 Swagger3Config 配置文件以及需要 token 验证的配置 2.3 学习部分 springdoc-openapi 注解,使文档看起来更完整、清晰 问题:多个子模块都有自己的 swagger 如何查看方便?即在同一个页面查看? 3.整合 nacos 配置/注册中心 3.1 引入 spring-cloud-starter-alibaba-nacos-config、discovery 3.2 引入新的子模块(card 积分模块)也注册到 nacos 4.整合 feign 远程调用 4.1 cloud 版本 2022.0.5 对应 springboot3.0.x 重新对应cloud 和alibaba cloud 版本 4.2 feign 远程调用成功,并且编写 fallback 为调用失败兜底(需要注意pom依赖和application配置) 5.整合 redis 5.1 踩坑点, 没有将启动类放在 com.parking.charging 包下,导致扫描不到 6.待完善:bff 架构,引入一个中间层(小程序是一个、PC是一个等)将多个服务数据整合再返给前端 6.1 核心逻辑就是新增一个子模块,使用 feign 远程调用具体业务模块,将其组合再返回到前端 7.整合一个消息中间件:kafka 1. 安装 kafka 以及配置,需要本地可以访问 2. 生产者、消费者测试成功 8.springcloud 虽然有 openfign 但是也能整合 dubbo 8.1 引入官方推价版本支持 SprinBoot3 org.apache.dubbo dubbo 3.2.15 8.2 application 中的 yaml dubbo 配置 提供方需要扫描接口包 使用 nacos 作为服务注册中心 nacos://192.168.88.132:8848 提出一个单独的 api 模块,只有接口,以便 dubbo 的提供/消费者双方引入 9.整合 SpringCloudGateWay 1.不要在 gateway 项目里面设置 server.servlet.context-path: 很多坑 2.需要引入 loadbalancer依赖,才能转发 lb://xx-service 3.将路由配置放到 nacos 中去,用代码实现动态刷新 RouteDefinition RefreshRoutesEvent 刷新路由事件类,被 CachingRouteLocator 监听 4.引入 sentinel 服务降级, rule-type:gw-flow,我这里版本只能写这个,不能写 flow ,否则不生效, 官网下载对应的 jar 包,按照下面的方式启动,再启动网关服务,就能看见限流配置。还有写入一个限流快速失败异常:SentinelConfig java -Dserver.port=8858 -Dcsp.sentinel.app.type=1 -Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.6.jar 10.分布式事务-seata https://seata.apache.org/zh-cn/docs/ops/deploy-guide-beginner/ 10.1 参考 application 中的 seata 配置 10.2 seata 中各类定义需要学习? 10.3 似乎引入了 seata ,feign 的 fallback 没有生效了? 目前 seata 还不支持服务降级?但是降级和一致性,肯定得选一致性 11.分布式锁 redisson RLock rLock = redisson.getLock(""); boolean isLocked = rLock.tryLock(...);