Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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服务器?_Git_Github_Load Balancing_Sharding_Git Http Backend - Fatal编程技术网

如何切分git服务器?

如何切分git服务器?,git,github,load-balancing,sharding,git-http-backend,Git,Github,Load Balancing,Sharding,Git Http Backend,我有N个git存储库,我想在负载平衡器后面的M个git服务器上共享这些存储库,但我不知道如何做到这一点 例如,如果我在客户端1上 git push foo master 应该将其推送到服务器A,然后在客户端2上 git push bar master 推送到服务器B 其中客户端1上显示的git remote-v foo https://git.example.com/foo.git/ (fetch) foo https://git.example.com/foo.git/ (

我有N个git存储库,我想在负载平衡器后面的M个git服务器上共享这些存储库,但我不知道如何做到这一点

例如,如果我在客户端1上

git push foo master
应该将其推送到服务器A,然后在客户端2上

git push bar master
推送到服务器B

其中客户端1上显示的
git remote-v

foo     https://git.example.com/foo.git/ (fetch)
foo     https://git.example.com/foo.git/ (push)
和客户端2上的git remote-v

bar     https://git.example.com/bar.git/ (fetch)
bar     https://git.example.com/bar.git/ (push)
通常,如果我要切分一个数据库,我会根据请求修改我的应用程序代码以指向不同的数据库,但在这种情况下,我既没有任何应用程序代码,也没有数据库。我只是使用git提供的,它使用本地文件系统


有没有一种简单的方法可以将某些存储库路由到某些机器,而不给每个存储库一个不同的子域?

每个服务器的主机名是否不同?我想让它们放在负载平衡器后面,这样用户就不会知道有多个服务器。拥有两个远程
foo
bar
暴露了这一事实有多个服务器。如果你想隐藏这个,那么你只需要一个遥控器,并配置你的网络来正确处理URL。这似乎根本不是git的问题,我目前只有一台git服务器承载许多存储库:foo、bar和N其他。我想要的是将它们从一台服务器分到多台服务器,因为N变得太大了。如果您的服务器上有两个代码相似的存储库,那么您将需要两个遥控器,如示例输出中所示。这是一个独立于负载平衡和分片的问题。负载平衡本身与git无关。您将配置网络,以便单个主机名引用整个服务器场。然后,负载平衡软件/硬件将确定哪个物理计算机处理每个请求。每个服务器是否有不同的主机名?我希望将它们放在负载平衡器后面,以便用户不知道有多个服务器。使用两个遥控器
foo
bar
暴露出存在多个服务器的事实。如果你想隐藏这个,那么你只需要一个遥控器,并配置你的网络来正确处理URL。这似乎根本不是git的问题,我目前只有一台git服务器承载许多存储库:foo、bar和N其他。我想要的是将它们从一台服务器分到多台服务器,因为N变得太大了。如果您的服务器上有两个代码相似的存储库,那么您将需要两个遥控器,如示例输出中所示。这是一个独立于负载平衡和分片的问题。负载平衡本身与git无关。您将配置网络,以便单个主机名引用整个服务器场。然后,负载平衡软件/硬件将确定哪个物理机器处理每个请求。