开发通用微服务的最佳实践

时间:2019-07-24 15:04:26

标签: spring-boot microservices

对于一个项目,我们将开发一些微服务。他们将有许多常见的部分,例如配置类,过滤器... 我寻找最佳实践和方法来开发它。

目前,我已经创建了一个通用的微服务,由所有人分叉以开发其之上的模块。但是,这样做并不方便,对一个Web服务进行某些修改可能会给通用MS的下一次合并带来一些困难。

您有任何想法进行开发还是可以激发我灵感?

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

创建一个或多个包含实现共享功能的Abstract类的库。

将一个或多个库导入每个单独的项目。

在各个项目中扩展Abstract类。

使用Spring注释(例如@Component或 @RestController)在各个项目中, 不在公共库中。

在公共库中使用一些Spring注释(例如@Scheduled)。 如果这样做,则允许各个项目覆盖这些批注中的值。 例如,

@Scheduled(initialDelayString = "${common.thing.initialDelayString:10_000}",
    fixedDelayString = "${common.thing.fixedDelayString:60_000}")

示例注释包含默认值,并允许各个项目根据需要覆盖这些值。