如何将dll作为微服务并使其驻留在系统之外

时间:2018-02-15 07:25:00

标签: c# .net dll microservices

我的要求很简单。

我们有一个系统,有很多组件相互作用。所有组件都构建为DLL并通过对象进行交互。

所以我想说我有一个组件XXX。现在我想删除系统外部的组件XXX,并希望用户只在需要时安装组件XXX。

我想将XXX作为“可扩展”和“可插入”组件,并独立开发和构建它,每当用户需要XXX dll提供的功能时,他将安装XXX dll作为独立组件。

此外,XXX dll使用对象与系统中的其他组件(例如YYY)进行交互。组件由对象绑定。

如果我想将XXX dll作为外部组件,那么通信XXX和YYY组件现在如何发生?我认为组件可以通过Web服务接口进行通信。

关于如何继续这个想法的任何线索或指示?我正在寻找有关微服务和其他服务的所有内容,但我无法提出一个好的可行方法。

1 个答案:

答案 0 :(得分:1)

我建议使用一些总线实现而不是普通的Web服务调用。例如,您可以将NServiceBus用于此类目的。这将使组件通信更加透明和健壮(您将获得负载平衡,回退机制和更多开箱即用)。或者你可以使用一些队列实现(如果你不会购买NServiceBus)。 RabbitMQ,ZeroMQ或其他类似的东西将是一个很好的选择(根据您的要求当然)。这种方法也会带来很多好处。