gpt4 book ai didi

java - 将通用代码打包到微服务应用程序中

转载 作者:行者123 更新时间:2023-12-02 09:05:10 25 4
gpt4 key购买 nike

我即将开始一个微服务项目的工作,该项目有一个共享的 postgres 数据库,由 hibernate 访问。我对感兴趣 。打包代码库的最佳方法是什么。

多个微服务将访问数据库,这可能会导致一个或多个微服务想要访问同一个 Java DTO 对象。

我可以将所有 DTO 对象打包到公共(public) jar 并允许微服务访问该 jar,或者在不同的微服务之间共享不同的 DTO,这可能会导致同一 DTO 的多个实例,但会保持单个微服务代码库的纯净。

我通常首选的方法是构建一个通用的 jar 文件,以便在必须维护的代码量上进行编码。

在这个问题上有没有什么流派可以通过?

同样的问题也有一些共同的常量需要共享

最佳答案

微服务不共享数据库,或者更一般地说:

Microservices do not share a common state.

存在三种可能的情况:

一:您尝试拆分一个小用例。那么您只需要一个微服务。

二:数据管理是一个单独的问题。然后您应该创建一个独特的服务来处理数据。该服务随后将被您的其他服务使用。

三:您正在尝试在一个数据库中管理多个不同的用例。然后,您的每项服务都会有一个专用数据库。

实际上,即使执行两个,您也可能会执行三个,因为您的微服务应该保持功能(响应性且至少部分有用),即使服务使用由于某种原因,所有这些都已关闭。

关于公共(public)常量:它们可能需要冗余地打包到每个 Micrososervice 中。不过,您可以共享一个公共(public)库(阅读:maven 工件)。

关于java - 将通用代码打包到微服务应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59880079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com