【问题标题】:Automated processing using windows services/applications使用 Windows 服务/应用程序进行自动化处理
【发布时间】:2016-07-04 14:25:38
【问题描述】:

在我们公司,我们的主服务器上运行着很多服务。在研究每项服务时,我注意到其中大部分是具有不同参数的相同应用程序。我们有 600 多个服务,但总结起来应该只有 9 个应用程序。基本上,每个客户端都安装了相同的服务,并在配置文件中提供了不同的参数。

我正计划削减主要服务,并针对每个计划或流程需求为每个客户使用控制台应用程序假脱机一个单独的流程。

我已经使用简单的服务和 POC 的控制台应用程序进行了尝试,它运行良好。我只是担心我所考虑的方法从长远来看是否会出现问题。根据我的 POC,除了我仍在工作的时间之外,它应该没有任何重大问题。

我不知道这是否离题,但我想请教各位大师。我的想法是,我想避免为每个客户端为同一服务安装另一个实例。当您的服务器遇到问题并且您需要在另一台服务器上设置服务时,这是一种负担。您认为这种方法有一个主要缺点吗?

请赐教。

【问题讨论】:

  • "600+ 服务" - 天哪,您的计算机必须花费一个 eon 才能启动!
  • 再读一遍,平均并发服务是多少?
  • @MickyD - 我不确定,实际上我还没看过。

标签: .net


【解决方案1】:

只要服务执行相同但参数不同,则始终首选将其保留为单个服务。使用这种方法,维护会很容易。

Pl。留言询问更多。

【讨论】:

  • 但是,同时运行实时服务器和您当前的方法 (POC) 始终是安全的,这样可以减少因任何意外问题而回滚更改的麻烦。
  • 是的,当我想出这个想法时,我正在考虑可维护性。我希望我的老板会考虑这种方法。 :-)
【解决方案2】:

如果只是配置,您可以运行相同的实例,然后为每个配置项生成一个进程。这将使您能够集中控制任务的创建。

配置可以存储在数据库结构中,甚至可能有某种小的 UI 应用程序允许用户修改配置。您还可以将事情推得更远一些,并且可能拥有某种身份验证系统,以便您可以控制哪些用户可以修改哪些配置。

显然,由于您将拥有一个衍生出其他进程的集中式进程,因此请确保在日志中记录适当的信息,以便更好地跟踪事情。

【讨论】:

  • 感谢您的好主意,我认为为每个客户端的每个进程的配置提供修改等的 UI 会很好。 :)
【解决方案3】:

它不是一个建议大师。但是对于这种东西(客户端-服务器),你看看WCF(Windows通信服务)。

在某些情况下可能会有一些例外,但大多数时候您的服务器端应该只有一项服务。没有任何关于您的业务需求的信息很难说。

【讨论】:

  • OP 不是在谈论 that 之类的 service
  • 感谢您的建议,尽管正如@MickyD 提到的,我的问题是关于 Win 服务。 :-)
  • 这些 Windows 服务在做什么?他们是否听取并处理来自客户端(软件)的查询?他们是否为客户处理自动化任务(作为业务实体?)。在服务器上创建 600 个控制台应用程序(即 UI 应用程序)而不是 600 个 Windows 服务对我来说看起来非常相似。这就是为什么我试图理解你在更高层次上想要做什么......
  • 大部分服务都在处理自动报告,解析从另一个应用程序生成的移交文件。
  • 您的需求看起来更像是任务而不是服务。看看weblogs.asp.net/jongalloway//428303,问问自己你是否真的在正确的服务方法中。请注意,我手中的牌并不是全部。我真的不能说什么是最适合你的。
猜你喜欢
  • 1970-01-01
  • 2020-04-10
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2019-07-19
  • 1970-01-01
  • 2021-10-30
相关资源
最近更新 更多