项目的工具包,以功能分包,功能之间尽量减少相互依赖,每个功能作为最小单元供服务依赖。
Try to reduce mutual dependence between functions and functions. Each function is used as the minimum unit for service dependencies.

项目地址: GitHub https://github.com/tf2jaguar/microcosm
参考文尾的 各模块使用建议
讲在前边spring-boot类的项目的一些增强,如果你的项目不是用spring-boot开发的,那么它对你的用处可能没有那么大参考: guideline
父版本添加版本控制最新版本(参考本文的发版历史) io.github.tf2jaguar.micro micro-logging ${revision} io.github.tf2jaguar.micro micro-apollo ${revision} io.github.tf2jaguar.micro micro-qconf ${revision} io.github.tf2jaguar.micro micro-distribute ${revision} io.github.tf2jaguar.micro micro-core ${revision} io.github.tf2jaguar.micro micro-codec ${revision} io.github.tf2jaguar.micro micro-except ${revision} io.github.tf2jaguar.micro micro-micro-mybatis-plus ${revision} api模块增加依赖这里主要增加一些核心类库,包括但不限于出入参数封装 InputMessage, OutputMessage,
服务异常 ServerException,
业务异常 BusinessException,
核心异常枚举 ErrorEnums
io.github.tf2jaguar.micro micro-core 自定义服务异常枚举你可以通过实现ExceptionEnums接口,来定义自己的服务异常枚举,用来适配服务异常、业务异常。两种异常在统一异常捕获模块,会产生不一样的效果哦
public enum GmmpErrorCodes implements ExceptionEnums {// 异常
INTERNAL_EXCEPT(10000, "系统内部异常"),
INVALID_SIGN(10001, "请求加密协议错误"),
INVALID_IP(10002, "请求IP地址异常"),
INVALID_DATA(10003, "数据错误"),
INVALID_PARAMS(10004, "参数错误"),
INVALID_CITY_ID(10005, "无效的城市编号"),
INVALID_ENTERPRISE_ID(10006, "无效的企业编号"),
// …… 省略部分
;
private int code;
private String message;
public static final int MODULE = 200;
GmmpErrorCodes(int code, String message) {this.code = code;
this.message = message;
}
@Override
public int code() {return this.code;
}
@Override
public String message() {return this.message;
}
}common模块增加依赖这个模块主要是通用能力的封装,包括但不限于调用第三方服务、通用工具类处理
此处增加 出入参数封装依赖(qconf适配的依赖)
配置模块依赖io.github.tf2jaguar.micro micro-codec 如果你的服务使用qconf而不是nacos进行服务发现,那么你还需要添加以下依赖
io.github.tf2jaguar.micro micro-qconf main模块添加依赖这个模块是整个服务的启动模块,是springboot项目的启动类所在的模块
这里添加日志处理、apollo配置中心、统一异常捕获的依赖
配置模块依赖io.github.tf2jaguar.micro micro-logging io.github.tf2jaguar.micro micro-apollo io.github.tf2jaguar.micro micro-except 发版日历最新发版及调整参考: version
最新版本1.1.3.RELEASE
更新日历 1.1.3.RELEASE发布日期:2022-06-16
发布日期:2021-07-02
发布日期:2021-07-02
发布日期:2021-07-01
ExceptionEnums如内置的常用异常状态枚举的实现方式public enum ErrorEnums implements ExceptionEnums;封装了简单的分页请求入参和返回参数,封装了接口交互的出入参数格式类(通过micro-codec模块完成出入参数自动封装、解封装)feign调用的出入参数驼峰转换;实现了对http调用出入参数驼峰转换,入参数 params 封装,出参数code、data、message封装;实现了对swagger展示中入参数、出参数封装ServerException,打印error日志,返回接口错误 ;拦截业务异常BusinessException,不打印error日志,只返回接口错误 ;拦截参数绑定异常BindException,打印error日志,返回接口错误 ;拦截方法参数异常MethodArgumentNotValidException,打印error日志,返回接口错误 ;拦截全局异常Exception,打印error日志,返回接口错误发布日期:2021-05-13
发布日期:2021-05-13
http请求的出入参数记录,针对每个request的api日志用唯一的session_id进行区分;使用logback记录日志、记录all_log、error_log、api_log、access_log的日志并按照天做切分apollo配置变更自动刷新;实现了对apollo日志级别调整后自动刷新qconf中获取服务器列表,供给ribbon远程调用micro-logging模块的 pom 依赖micro.logging.api.ignore=忽略日志打印http请求的出入参数记录,针对每个request在日志中有唯一的session_id进行区分micro-apollo模块的 pom 依赖apollo配置变更自动刷新apollo日志级别调整后自动刷新feign调用的模块中添加micro-qconf模块的 pom 依赖qconf中获取服务器列表,供给ribbon远程调用micro-distribute模块的 pom 依赖micro.distribute.machine-list=指定当前机器集群(单机时无需配置,默认1),用来计算分布式id生成的机器id;micro.distribute.data-center-id=指定当前数据中心id编号(单机时无需配置,默认1),用来计算分布式id生成的数据中心idmicro-core模块的 pom 依赖ExceptionEnums如内置的常用异常状态枚举的实现方式public enum ErrorEnums implements ExceptionEnumsmicro-codec模块完成出入参数自动封装、解封装)micro-codec模块的 pom 依赖feign调用的出入参数驼峰转换http调用出入参数驼峰转换,入参数params封装,出参数code、data、message封装swagger展示中入参数、出参数封装micro-except模块的 pom 依赖ServerException打印error日志,返回接口错误BusinessException不打印error日志,只返回接口错误BindException打印error日志,返回接口错误MethodArgumentNotValidException打印error日志,返回接口错误Exception打印error日志,返回接口错误你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧