Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在git上管理微服务问题或bug的最佳方法是什么_Git_Microservices_Issue Tracking - Fatal编程技术网

在git上管理微服务问题或bug的最佳方法是什么

在git上管理微服务问题或bug的最佳方法是什么,git,microservices,issue-tracking,Git,Microservices,Issue Tracking,微服务是关于在不同的存储库中有许多git上的项目 那么,当有一个bug需要修复多个服务上的代码时,管理问题的最佳方法是什么呢?简言之:您必须打开每个存储库上的特定问题/bug,以了解存储库中服务的特定缺点。microservices体系结构风格都是关于松耦合的,因此一个问题通常应该是局部的,并以此来处理。预计一个服务由一个专门的团队拥有,该团队将能够解决其服务中的特定问题,但在其他团队服务中却没有 如果在您的特定体系结构中,您经常发现自己正在修复许多服务中的一个问题,那么您可能必须重新考虑服务边

微服务是关于在不同的存储库中有许多git上的项目


那么,当有一个bug需要修复多个服务上的代码时,管理问题的最佳方法是什么呢?

简言之:您必须打开每个存储库上的特定问题/bug,以了解存储库中服务的特定缺点。microservices体系结构风格都是关于松耦合的,因此一个问题通常应该是局部的,并以此来处理。预计一个服务由一个专门的团队拥有,该团队将能够解决其服务中的特定问题,但在其他团队服务中却没有

如果在您的特定体系结构中,您经常发现自己正在修复许多服务中的一个问题,那么您可能必须重新考虑服务边界,因为它们可能没有理想的松散耦合。请注意,在应用微服务体系结构样式时,找到正确的服务边界可能是最困难的问题


下面是一个更进一步的问题。

简而言之:您必须针对存储库中服务的具体缺陷,在每个存储库中打开特定的问题/bug。microservices体系结构风格都是关于松耦合的,因此一个问题通常应该是局部的,并以此来处理。预计一个服务由一个专门的团队拥有,该团队将能够解决其服务中的特定问题,但在其他团队服务中却没有

如果在您的特定体系结构中,您经常发现自己正在修复许多服务中的一个问题,那么您可能必须重新考虑服务边界,因为它们可能没有理想的松散耦合。请注意,在应用微服务体系结构样式时,找到正确的服务边界可能是最困难的问题


下面是一个更进一步的问题。

如果它们在不同的回购协议中确实是不同的代码(但只是逻辑上相关),那么针对一个回购协议分别提交多个bug。如果您使用更高级的问题跟踪系统(如Jira)而不是github自己的(基本的)问题跟踪,您可以创建一个总体性的错误,这取决于单个回购协议的错误


正如奥斯温所说,我还建议考虑这些回购协议之间是否也可以物理共享代码。如果是这样,就去做。把它放在一个单独的回购协议中,也许可以使用git子模块将它们链接在一起。微服务体系结构!=不在微服务之间共享代码。

如果它们在不同的回购协议中确实是不同的代码(但只是逻辑上相关),那么针对一个回购协议提交多个bug。如果您使用更高级的问题跟踪系统(如Jira)而不是github自己的(基本的)问题跟踪,您可以创建一个总体性的错误,这取决于单个回购协议的错误


正如奥斯温所说,我还建议考虑这些回购协议之间是否也可以物理共享代码。如果是这样,就去做。把它放在一个单独的回购协议中,也许可以使用git子模块将它们链接在一起。微服务体系结构!=不在微服务之间共享代码。

“微服务是指在不同的存储库中有许多git上的项目”-不,不是。微服务本质上是面向服务架构的别名。一旦你摆脱了营销上的障碍,就没有什么区别了。它与问题跟踪或版本控制无关。系统包含多个项目、存储库和数据库,15年前也是SOA开始的时候,更早的时候是COM+和CORBA被使用的时候。没有明确的答案。显然,您需要一种按服务区分问题的方法,但这并不意味着您需要为每个服务分别设置一个Redmine项目或子项目。不过,这是最常见的解决方案。Git回购是另一回事。商业项目的独立性如何?如果10项服务是并行开发的,那么当出现需要修复多项服务上的代码的错误时,就没有必要同时处理10项不同的回购协议,并尝试保持标签和发布的同步。你有的是一个烟斗。微服务彼此完全独立。想想facebook或twitter登录。这些是您使用的微服务。当你遇到bug时,你要么向facebook抱怨,要么修复代码,你永远不会同时做这两件事。“微服务是指在不同的存储库中有许多git上的项目”-不,不是。微服务本质上是面向服务架构的别名。一旦你摆脱了营销上的障碍,就没有什么区别了。它与问题跟踪或版本控制无关。系统包含多个项目、存储库和数据库,15年前也是SOA开始的时候,更早的时候是COM+和CORBA被使用的时候。没有明确的答案。显然,您需要一种按服务区分问题的方法,但这并不意味着您需要为每个服务分别设置一个Redmine项目或子项目。不过,这是最常见的解决方案。Git回购是另一回事。商业项目的独立性如何?如果10项服务是并行开发的,那么当出现需要修复多项服务上的代码的错误时,就没有必要同时处理10项不同的回购协议,并尝试保持标签和发布的同步。你有的是一个烟斗。微服务彼此完全独立。想想facebook或twitter登录。这些是您使用的微服务。当你有一个bug,你要么向facebook投诉,要么修复代码,你永远不会同时做这两件事。