Spring雲數據流如何處理分佈式處理?如果服務器部署在PCF上並說有2個實例,那麼這2個實例之間的輸入數據將如何分配?
Spring雲數據流分佈式處理
另外,在PCF上部署故障時如何處理故障? PCF將產生一個失敗的新實例。但是它會照顧部署流還是需要人工干預?
Spring雲數據流如何處理分佈式處理?如果服務器部署在PCF上並說有2個實例,那麼這2個實例之間的輸入數據將如何分配?
Spring雲數據流分佈式處理
另外,在PCF上部署故障時如何處理故障? PCF將產生一個失敗的新實例。但是它會照顧部署流還是需要人工干預?
您應該區分Spring Cloud Dataflow文檔稱爲「服務器」和組成管理流的應用程序。
「服務器」僅在這裏接收部署請求並兌現它們,產生組成您的流的應用程序。如果你部署了多個「服務器」實例,那麼沒有什麼特別的。 PCF將以LB作爲前端,任一實例都將處理您的REST請求。在PCF上部署時,狀態將保留在綁定服務中,因此這裏沒有特別的地方。
如果你而指的「應用程序」,即默認情況下的部分或全部使用多個實例的一部分部署流,即
stream create foo --definition "time | log"
stream deploy foo --properties "app.log.count=3"
那麼,它是由粘結劑實施選擇如何分配數據。這通常意味着輪循平衡。
如果您想控制與同一個概念性域對象有關的數據如何在同一個應用程序實例上結束,您應該告訴Dataflow如何執行此操作。像
stream deploy bar --properties "app.x.producer.partitionKeyExpression=<someDomainConcept>"
至於處理失敗,我不知道你在問什麼。部署的應用程序是的流。一旦PCF發送並接收了流組件的多個實例的請求,它將負責遵守該請求。這是Dataflow在這一點之外的,這正是爲什麼Spring Cloud Deployer合同的邊界已經在那裏設置的原因(對於其他運行時也是如此)/