Web services 用于连接多个.Net服务的逻辑层

Web services 用于连接多个.Net服务的逻辑层,web-services,architecture,microservices,Web Services,Architecture,Microservices,我不确定这是否是合适的地方,但我提出了一个“概念”模块化设计架构,将逻辑分离到各个服务中,以允许一个几乎即插即用的场景,其中服务之间没有依赖关系。考虑一个功能列表,只启用您想要的功能 为了实现这一点,我意识到我需要某种类型的中间件,将这些连接在一起并控制数据流。然而,我不确定具体的细节是什么,这将是适当的实现这一点 我计划使用基于.NETSOAP的服务来实现这些服务,那么这是使用类似Tibco的服务吗 任何关于什么是最合适的,甚至是从哪里开始寻找的建议都会很好 如果上面的描述没有意义,希望这个

我不确定这是否是合适的地方,但我提出了一个“概念”模块化设计架构,将逻辑分离到各个服务中,以允许一个几乎即插即用的场景,其中服务之间没有依赖关系。考虑一个功能列表,只启用您想要的功能

为了实现这一点,我意识到我需要某种类型的中间件,将这些连接在一起并控制数据流。然而,我不确定具体的细节是什么,这将是适当的实现这一点

我计划使用基于.NETSOAP的服务来实现这些服务,那么这是使用类似Tibco的服务吗

任何关于什么是最合适的,甚至是从哪里开始寻找的建议都会很好

如果上面的描述没有意义,希望这个图像在描述服务之间的关系时更清晰一些


谢谢。

根据您的需要,您可以使用NServiceBus()。NServiceBus是一种通信中间件,可用于MSMQ、RabbitMQ等不同类型的排队系统。它本质上是一个servicebus,对开发人员非常友好,并且非常专注。它不仅有助于基于异步消息的分布式通信,而且:

  • 使用自动注册发布/订阅与传输无关的内容
  • 传输:可用于MSMQ、RabbitMQ、Azure存储队列等
  • 安全性:支持消息加密
  • BLOB’s:支持使用数据总线透明地存储大型消息有效负载,以允许比传输允许的更大的通信消息
  • 可扩展性:向外扩展和向上扩展以提高吞吐量
  • 可靠性:重复数据消除,幂等处理,无需分布式事务
  • 编排:Sagas可以帮助控制消息流和路由
  • 异常处理:在两个不同的阶段自动重试异常
  • 监视:诸如Service Pulse、Service Insight和Windows性能监视器之类的工具,用于监视性能和错误。查看发生了哪些错误,然后重试
  • 序列化:可以使用支持xml、json、二进制等格式的不同序列化程序
  • 开源:所有源代码都可用
  • 审核:可以将所有已处理的消息移动到审核队列以满足归档或审核要求
  • 社区:拥有一个大型的开发者社区,他们活跃在论坛上,但也提供额外的传输、序列化和其他功能
我必须提到我的工作是特别的,但也有其他的选择要考虑。NServiceBus不使用SOAP进行消息交换,而是使用一种轻量级消息,其格式如序列化项目符号所述。它可以与需要SOAP的服务集成。它能够将服务(端点)公开为WCF服务,以便于集成,并且可以在代码中使用SOAP,使用.net framework和visual studio提供的功能调用外部SOAP服务

祝您好运,为您的项目选择正确的技术