2.项目结构及bug修复

0 阅读2分钟

image.png

image.png

image.png

bug描述

jack用户可以删除订单 rose删除订单失败

项目结构

结构一:每个项目下的每一个微服务,需要创建一个project,尽可能的降低耦合。 结构二:创建一个Project, 项目下的多个微服务是Project下的Module,方便管理。适用于中小型项目。

image.png 其中有的module是微服务,例如tj-auth;有的module则是工具包例如tj-commom

tj-auth

权限服务,用户授权,权限校验,用户登录认证等功能。

image.png

tj-auth-service跟权限有关的业务代码,会被部署,例如做用户登录的认证。

tj-auth-common 放一些通用的工具模块。

tj-auth-resource-sdk 工具包,给其他资源服务用的工具包。

tj-auth-gateway-sdk 工具包,给网关服务用的工具包。

基本配置

image.png

nacos中配置

除了基本的配置外,其他配置都放在了nacos中共享,包括两大类:

1.共享的配置 例如很多微服务都需要去使用到mysql,redis,es,rabbitmq等。

2.微服务中可能会根据业务变化的配置

跟业务进行强关联的配置。

image.png

image.png

找到请求入口

image.png

理清请求链路

访问的是api.tianji.com 也就是网关微服务 在看后面是/ts

image.png 可以看出访问的是trade-service微服务

image.png

image.png

idea远程调试功能

image.png

host就是服务器的ip port是自动生成的,不用管 use module classpath 表示对应的本地代码的module image.png image.png image.png image.png image.png image.png

image.png

分析bug并解决

享元模式

image.png

Long封装类对象,如果在-128到127之间,不会创建一个Long对象,而是从缓存池中(共享对象)直接取出。

image.png

采用逻辑删除(利用mybatis-plus实现)

image.png

image.png

deleted tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',

如果在本地仅仅测试tj-trade微服务,有两种办法

1.停掉服务器上tj-trade的微服务 2.在nacos上,将服务器的tj-trade的权重设置为0

image.png

将dev分支代码,在服务器环境将各个微服务都部署起来,进行测试

jeankins配置修改

image.png

image.png

表示监听到dev分支代码发生变化则进行重新构建

image.png

这里表示构建那个分支的代码,应该也改成dev分支上

结果就成功删除订单 image.png