我正在经历的架构决策之一是为几乎90%相同的功能构建2个服务和1个服务。这里的关键是性能因素。
两个服务的逻辑是:
1项服务的逻辑:
对于这一经典论点,是否有一个标准的行业范围的方法?
谢谢。
发布于 2015-12-23 09:16:40
我认为这将很大程度上取决于两个服务之间有多少共同的功能和代码。如果像您建议的那样,90%的代码被复制到另一个服务中去,那就太傻了。而且,从维护的角度来看,这意味着对于外部和内部共同的每个更改都需要加倍的工作。
应该非常简单地将只需要外部客户端的功能与内部的服务(可能是接口?)分开。我认为这更多的是在这一点上仔细设计1服务,而不是尝试创建和维护2。
发布于 2015-12-23 09:42:11
根据您的问题说明,我建议您使用一种服务。
如果您将两个服务用于相同的功能,维护成本和服务的完整性如果在性能上存在问题,则可能会得到compromise.Also,更好的解决方案是使用多个服务端点和负载平衡来提供服务的有效使用。
在实现中,您可能有两个不同的实现来满足内部和外部用户(使用接口和覆盖功能),但是所有用户都指向同一个服务。
https://stackoverflow.com/questions/34431909
复制相似问题