在观看了Azure Service Fabric的BUILD会议视频后,我想象一下这对于我们当前基于微服务的架构是否合适.有一件事我不太确定我将如何解决,但是 - API网关/代理.
考虑一个不那么简单的微服务架构,其中您在Azure Service Fabric中运行N个服务,从而暴露REST端点.在许多情况下,您希望将这些分散的API端点打包到单条目API中供消费者使用,以避免它们直接连接到服务结构实例.Azure Service Fabric解决方案在各方面都看起来如此完整,我有点想知道当我在BUILD会谈期间提到的功能中没有看到一种简单解决这个问题的方法时我是否错过了一些明显的东西.
像Vulcan这样的服务旨在通过让服务在etcd中注册他们想要路由到它们的路径来解决这个问题.我猜测解决这个问题的一种方法可能是创建一个单独的有状态Web服务,其他服务可以自己注册,提供服务名称和路由到它们的路径.然后,有状态Web服务可以根据其状态将流量路由到正确的实例.但是,这似乎并不完全理想,例如删除应用程序时删除路由,以及通常使状态与群集中部署的服务保持同步.有没有人对此提出任何想法,或者有任何想法如何在Azure Service Fabric中解决这个问题?
我们公司正在使用Service Fabric开发新的应用程序.我们遇到的一个常见问题是,多个开发人员使用队列,数据库,远程服务器上的存储,每个都有不同的配置,所有设置都存储在每个环境的ApplicationParameters文件中,对于本地开发,只有一个Local.5Node .XML.当我们获得这些文件的最新版本时,很常见的开发人员检查他们的凭据并覆盖其他人.
我正在尝试自定义ServiceFabric部署脚本'Deploy-FabricApplication.ps1'以使用自定义PublishProfile,具体取决于已登录用户的Windows凭据.我可以实现更新部署文件,当我们使用发布进行部署时,它可以正常工作,但是当我们点击F5(debug)时,ServiceFabric的默认行为似乎是用特定的Local.5Node.xml应用程序参数覆盖参数.
我探索了所有服务结构.ps1文件,但找不到这个定义的位置.我想这是在.targets文件上定义的,所以我不知道如何避免这种默认行为.
是否有任何其他方法在Local.5Node.xml以外的本地开发机器上使用自定义PublishProfiles?
在 Visual Studio (*.sfproj) 中构建 Service Fabric 项目时,Deploy-FabricApplication.ps1会创建一个脚本作为模板的一部分,以将此应用程序部署到 Azure(或在任何地方运行的 Service Fabric)。由于我们的构建和部署过程是容器化的,我正在寻找一种方法来将该机制容器化为 Windows Docker 映像的一部分。有没有办法从 Windows Docker 容器中运行此脚本,如果是,映像需要具备哪些先决条件?