Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/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
定制服务总线和;适配器“;对于使用WCF的it_Wcf_Architecture_Performance - Fatal编程技术网

定制服务总线和;适配器“;对于使用WCF的it

定制服务总线和;适配器“;对于使用WCF的it,wcf,architecture,performance,Wcf,Architecture,Performance,目前,我正在开发一个用于卫星监测物体的服务器。 在当前状态下,它在高负载情况下非常高效和稳定。 服务器每天必须能够处理50多个mln消息,如果使用负载平衡,则处理的消息数必须超过50个。 它由gps数据网关(singleton)和“databroker”(singleton)组成,后者负责持久化数据,根据请求提供数据,并提醒订阅者新数据、登录服务(每次呼叫)和客户端服务(每次会话),负责订阅和使用web界面和富客户端 在这种状态下,我可以预见这些问题: 如果添加新服务,则复杂性将不断增加 紧密耦

目前,我正在开发一个用于卫星监测物体的服务器。 在当前状态下,它在高负载情况下非常高效和稳定。 服务器每天必须能够处理50多个mln消息,如果使用负载平衡,则处理的消息数必须超过50个。 它由gps数据网关(singleton)和“databroker”(singleton)组成,后者负责持久化数据,根据请求提供数据,并提醒订阅者新数据、登录服务(每次呼叫)和客户端服务(每次会话),负责订阅和使用web界面和富客户端

在这种状态下,我可以预见这些问题:

  • 如果添加新服务,则复杂性将不断增加
  • 紧密耦合
  • 很难配置
  • 在未来的bl服务(例如报告)中,处理订阅等的大量低级代码 为了解决这些问题,我想使用ServiceBus之类的工具。
    MS解决方案对我们的客户来说太贵了,NServiceBus让我有点害怕,因为它源代码是开源的(源代码中的Class1=D),CIO要求避免使用它。
    因此,我决定编写自己的简单总线,在处理和订阅不同类型的服务(单例、每个会话、每个调用)时遇到了问题,而且还需要进行负载平衡

    为此,我找到了一个非常优雅的解决方案:使用总线wcf服务的“适配器”来解决一些特定的服务问题,比如负载平衡。所以总线将只看到适配器和它们之间的路由消息,它们将进一步转发消息。但我关心的是表现和整个想法。。 如果能听到大家对这些东西的看法,我将非常感激。=)
    PS总线和适配器使用MSMQ进行它们之间的通信,但其他服务可以使用http、tcp绑定。
    对不起,我的英语不是我的母语=)

    您可以尝试使用“sql service broker”作为服务总线


    这篇博文还提供了其他服务总线的链接,您可以尝试。

    谢谢大家的回复(是=)我说服了老板们使用NServiceBus。(在周末创建工作总线原型后=)。现在,它非常适合系统=)

    我可能只是想让死路一条,但如果您仍然想实现自己的总线,这些链接可能会派上用场(在设计层面上):


    我找到了一些关于如何通过中央路由器服务动态注册子服务并将消息从客户端路由到它们的问题的答案

    哪些“MS解决方案”对您来说太贵了?你看过“云服务总线”(Azure servicebus)吗?是的,打赌这不是一个选项=(例如,使用我们的服务器监控携带现金的车辆的客户……他们希望自己的IT基础设施处于完全控制之下。我们的系统功能之一是,我们的客户可以使用任何db Nhibernate支持。对其进行了一些优化,并在数据存储之间实现负载平衡。检查了大众运输和简单服务ice总线。大多数em在两侧都大量使用msmq。我想实现这样的行为,即1总线wcf服务将有多个端点来支持不同的MEP。现在我考虑两个问题:1.如何为不同的MEP存储消费者?2.如何将消息序列化为二进制格式或尝试使用standart wcf序列化程序。尝试保持ev一切尽可能简单。无论如何谢谢=)