首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为外部客户或内部客户分别提供WCF服务还是单个高性能服务?

为外部客户或内部客户分别提供WCF服务还是单个高性能服务?
EN

Stack Overflow用户
提问于 2015-12-23 08:58:12
回答 2查看 114关注 0票数 0

我正在经历的架构决策之一是为几乎90%相同的功能构建2个服务和1个服务。这里的关键是性能因素。

两个服务的逻辑是:

  1. 外部客户服务将更具高性能。
  2. 如果只有外部客户端需要这些方法,那么这个方法可能是特定于此服务的。
  3. 内部和外部服务都将使用一些用于核心DAL,SAL功能的通用dll。以确保不存在代码冗余。

1项服务的逻辑:

  1. 如果外部和内部的功能没有太大的不同,那么添加几个方法就可以了。
  2. 单个高性能服务,为什么内部用户要受影响?:)
  3. 随着时间的推移,分支2服务可能会增加更多的开销&因为涉及到两个不同的团队,因此保持某些逻辑同步的风险更大。这可能在类似的出现职能方面造成差异。

对于这一经典论点,是否有一个标准的行业范围的方法?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-12-23 09:16:40

我认为这将很大程度上取决于两个服务之间有多少共同的功能和代码。如果像您建议的那样,90%的代码被复制到另一个服务中去,那就太傻了。而且,从维护的角度来看,这意味着对于外部和内部共同的每个更改都需要加倍的工作。

应该非常简单地将只需要外部客户端的功能与内部的服务(可能是接口?)分开。我认为这更多的是在这一点上仔细设计1服务,而不是尝试创建和维护2。

票数 0
EN

Stack Overflow用户

发布于 2015-12-23 09:42:11

根据您的问题说明,我建议您使用一种服务。

如果您将两个服务用于相同的功能,维护成本和服务的完整性如果在性能上存在问题,则可能会得到compromise.Also,更好的解决方案是使用多个服务端点和负载平衡来提供服务的有效使用。

在实现中,您可能有两个不同的实现来满足内部和外部用户(使用接口和覆盖功能),但是所有用户都指向同一个服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34431909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档