【问题标题】:Hosting Wcf Microservices in IIS在 IIS 中托管 Wcf 微服务
【发布时间】:2020-04-26 23:15:03
【问题描述】:

我正在使用 Wcf 和 IIS 构建微服务架构,但我不确定它是否完全符合微服务的定义。

我在 IIS 中有 4 个站点,每个站点用于一个服务,它有一个职责。 Wcf 服务部署到这些站点并与每次调用实例管理一起使用。这意味着,根据我的理解,每个请求都会产生一个网络进程,彼此独立。

我不太确定这是否都符合微服务的定义,是否还有其他适当的方法? 感谢您的每一个输入!

BR

【问题讨论】:

    标签: c# .net wcf microservices


    【解决方案1】:

    这听起来像是微服务,但部署方面只是其中的一部分。这些服务是否是轻量级的,尽管它们只有一个责任,它们是封闭单元,只向调用者提供响应,还是一些相互依赖?

    虽然可以帮助实现微服务架构,但不一定要单独托管每个服务。

    只要服务是轻量级的、松散耦合的并且可以独立部署和扩展,您就可以将其视为微服务。

    当多个服务部署到同一个 IIS 主机时,如果需要调用其他服务的每个调用都通过代理、队列或负载平衡器进行调用,那么它仍然可以被视为微服务,这样调用横向扩展时,可以由完全不同的 IIS 实例接收和处理。

    一些很好的参考:

    【讨论】:

      【解决方案2】:

      微服务一直是一个流行词,尤其是在过去几年。根据《构建微服务:设计细粒度系统》的作者Martin Fowler

      简而言之,微服务架构风格是一种开发 单个应用程序作为一套小服务,每个服务都运行在它的 拥有自己的进程并与轻量级机制进行通信,通常是 HTTP 资源 API。这些服务是围绕业务构建的 能力和独立部署完全自动化 部署机械。有一个最低限度的集中式 这些服务的管理,可以用不同的方式编写 编程语言并使用不同的数据存储技术。

      微服务的边界没有很好的定义,因为它是一个概念或一种风格。人们往往会不时根据自己的需要对其进行调整。

      看看你的应用程序的描述,它确实看起来像微服务。但是,如果您想将其称为“真正的”微服务架构,您还需要回答几个问题。

      • 能否扩展应用程序的各个组件?就您而言,每项服务?
      • 您的每项服务是否有单独的数据源?
      • 它们是否具有容错能力?即使其他三项服务崩溃,您的一项服务能否独立运行?
      • 他们是无国籍的吗?

      如果您对以上所有问题的回答都是“是”,那么您就在正确的轨道上。你可以在这里找到更多参考

      Adopting Microservices at Netflix: Lessons for Architectural Design - Netflix

      Microservices by Martin Fowler

      【讨论】:

        猜你喜欢
        • 2022-12-13
        • 1970-01-01
        • 2012-08-18
        • 2012-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多