Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 在服务结构服务之间移动大数据是一种反模式吗?_Design Patterns_Azure Service Fabric_Service Fabric Stateful_Service Fabric Stateless - Fatal编程技术网

Design patterns 在服务结构服务之间移动大数据是一种反模式吗?

Design patterns 在服务结构服务之间移动大数据是一种反模式吗?,design-patterns,azure-service-fabric,service-fabric-stateful,service-fabric-stateless,Design Patterns,Azure Service Fabric,Service Fabric Stateful,Service Fabric Stateless,我正在使用服务结构开发一个web数据爬虫。 我已经将爬行过程划分为无状态服务管道。 第一个服务加载HTML。(S1) 第二个从中解析数据。(S2) 第三个将结果保存到数据库中并执行附加操作。(S3) HTML代码从S1移动到S2,而不是S3(根据设计,我需要在第三个服务中使用HTML)。 HTML本身就是一个大数据量的问题,我不得不设置 [assembly: FabricTransportServiceRemotingProvider(MaxMessageSize = 1073741824)]

我正在使用服务结构开发一个web数据爬虫。 我已经将爬行过程划分为无状态服务管道。 第一个服务加载HTML。(S1) 第二个从中解析数据。(S2) 第三个将结果保存到数据库中并执行附加操作。(S3) HTML代码从S1移动到S2,而不是S3(根据设计,我需要在第三个服务中使用HTML)。 HTML本身就是一个大数据量的问题,我不得不设置

[assembly: FabricTransportServiceRemotingProvider(MaxMessageSize = 1073741824)]

这种设计是反模式吗?我是否应该在单个服务内使用HTML执行所有工作?

在将单个任务划分为多个服务时,总会涉及带宽+延迟成本。因为有成本,你需要一个好的理由去做。你似乎没有,或者至少你没有提到

无缘无故地制造问题是一种反模式


如果您确实有一个很好的理由将此工作划分为服务,那么您可以证明发送所有这些HTML的成本是合理的。不过,更可能的情况是,您应该选择一个不需要的不同服务分解。

在多个服务之间划分单个任务时,总会涉及带宽+延迟成本。因为有成本,你需要一个好的理由去做。你似乎没有,或者至少你没有提到

无缘无故地制造问题是一种反模式


如果您确实有一个很好的理由将此工作划分为服务,那么您可以证明发送所有这些HTML的成本是合理的。不过,更可能的情况是,您应该选择不需要的不同服务分解。

好的设计总是伴随着对数据和需求的良好理解。 S1、S2、S3、S4之间是否存在依赖关系?如果有必要,它们将是独立的服务

服务和HTML之间是否存在依赖关系。这个HTML是否会被更改,如果更改会导致多个服务被更新


你所做的事有成本吗?传输所花费的时间以及传输过程所花费的时间。

一个好的设计总是伴随着对数据和需求的充分理解。 S1、S2、S3、S4之间是否存在依赖关系?如果有必要,它们将是独立的服务

服务和HTML之间是否存在依赖关系。这个HTML是否会被更改,如果更改会导致多个服务被更新

你所做的事有成本吗?您花费了多少时间来传输,以及您的过程花费了多少时间