如何在微服务架构中创建流程或实现类似设计

时间:2018-11-06 17:02:53

标签: c# azure process architecture microservices

当前,我有一个MVC Web应用程序,该应用程序托管在Azure中Windows服务器上的IIS上。在同一VM上,我还有一个控制台应用程序(MyConsoleApp.exe)。

该Web应用程序知道MyConsoleApp.exe的位置。通过Web应用程序,我可以创建和终止进程。每次我通过UI创建流程时,Web应用程序都会创建一个运行MyApplication.exe的新流程。进程信息记录到SQL数据库(PID和GUID),然后通过UI,我可以决定终止进程或获取每个控制台应用程序已记录的信息。

下图显示了通过运行控制台应用程序创建的3个进程的体系结构。可以创建N个进程。这只是一个例子。

enter image description here

我想使用.net core将我的应用程序转换为微服务,并且还将用Mongo替换SQL。

我的问题是,如何替换通过Web应用程序创建单独流程的部分?作为微服务的Web应用将在其自己的容器上运行。我当时想远程旋转容器,以模仿每个进程当前正在执行的操作,但这听起来很糟糕。

能否请您提出我可以考虑实施的体系结构解决方案或设计?

我的愿景是这样的,但是过程部分使我感到困扰。

enter image description here

1 个答案:

答案 0 :(得分:0)

这种事情通常是通过在队列结束时分派工作人员来完成的。微软的Reference Architecture在他们谈论Function Apps时对此进行了详细说明。