美文网首页微服务架构与应用
微服务必须要使用的组件模块

微服务必须要使用的组件模块

作者: LOC_Thomas | 来源:发表于2018-08-04 20:46 被阅读95次

title: 简单实用的组件
date: 2018-08-04 20:08:52
tags:

  • 微服务改造
  • SpringBoot
  • SpringCloud
  • 日志
  • log
    categories:
  • 微服务

常用的简单组件

我们的框架整体依赖于SpringBoot和SpringCloud,但是除开这两个核心的框架组件以外还有很多工具性的组件,我们也进行了引入和集成,来弥补原始组件里面一些缺失的功能。下面介绍4个必备的常用工具包(lombok、problem、logbook、swagger)

工具列表

lombok(优化和减少代码的利器)

因为SpringBoot2仅仅支持jdk8以上的版本,所以可以利用jdk8的语法特性来大幅的减少代码量,然后利用lombok这个包,能够进一步减少代码量

problem(返回参数的统一)

框架需要对返回参数格式进行统一,可以利用problem这个包来完成ResponseBody格式的整体统一,problem对于正常返回和异常返回都有统一的结构和良好的api,对于统一返回的标准约定是相当有利的

logbook(统一记录请求和返回参数)

框架需要统一记录accessLog,来方便在出问题之后,快速的根据请求的参数进行回溯和追查问题。记录的元素也是相对标准的,一般包括请求参数、请求头、请求ip、请求耗时、返回参数、返回状态等标准信息,除开作为服务端需要记录日志之外,对于调用外部系统,也应该都有所记录,logbook对于常用的调用都有进行信息采集,并且按照统一的标准打印日志。可以利用logbook+elk完成整体的微服务日志的标准的定义、统一收集和统一分析的模块。

swagger(统一的接口文档定义)

任何接口都需要有相关文档,但是编写文档和维护文档往往也是很浪费时间的,利用swagger可以高效的定义文档,方便前后端的联调也方便服务端的自己测试。也是提高开发效率的利器。

和SpringBoot进行集成

以上的组件和SpringBoot的集成也是非常简单,虽然SpringBoot官方没有直接的starter,但是网上有都有开发者自己开发相关的starter,如果觉得这些starter不满足自己的需求,也可以根据框架来自己定义自己的starter。我们的框架里面,就是定义了自己的starter,这样更方便组件的升级和相关维护。

其他工具包

除开上面的几个工具包之外,还推荐一些工具类型的包(guava、apache-commons系列包等),基本有了上述的包之外,只需要专注于业务的开发, 大大提高了开发效率

相关文章

网友评论

    本文标题:微服务必须要使用的组件模块

    本文链接:https://www.haomeiwen.com/subject/dgomvftx.html