Stardust icon indicating copy to clipboard operation
Stardust copied to clipboard

发布中心要支持单个应用在指定服务器上部署多个版本

Open nnhy opened this issue 1 year ago • 2 comments

应用场景需求,希望应用App1能够在节点Node1上部署多个版本,如:App1A/App1B/App1C。

场景一

用户资源有限,希望在一台服务器上部署应用App1的测试版和生产版,端口不同。 可在发布节点里面添加两次节点Node1,命名发布集为:App1A/App1B,原来发布集统一使用应用名App1。 需要关闭自动发布,上传版本后,手工选择使用最新版本,然后在测试版App1B上点击发布。 待新版测试通过后,再电机App1A发布。

场景二

重要应用App1,仅有1台服务器,发布时需要重启,耗时1分钟左右,导致业务中断影响体验。 可在发布节点里面添加两次节点Node1,命名发布集为:App1A/App1B,原来发布集统一使用应用名App1。 配置两个发布的顺序和延迟时间(60秒),自动发布时,依次部署,间隔60秒。 前端nginx使用主备机制,确保发布过程中也有可用节点。

nnhy avatar Sep 22 '24 14:09 nnhy

说到这个,感觉是不是可以利用XProxyYARP 做一个能反代http/tcp的网关应用,用它来做常驻,支持配置热重载,同一个节点上的网络服务通过它来转发和负载均衡。用nginx可以也挺方便,但是还需要手动改些配置,无法做法完全自动化。或者专门为nginx写一个助理类,去匹配并修改配置然后reload。

DragonFlyEast avatar Sep 23 '24 00:09 DragonFlyEast

你所需要的功能,就是星尘网关 StarGateway,一直放在源码目录里面的反向代理,还没有实现配置集成。 它的设计方向,是从注册中心读取应用在线信息,然后实时调整反向代理。

nnhy avatar Sep 23 '24 00:09 nnhy

功能已实现

nnhy avatar May 21 '25 16:05 nnhy