Javier Lopez和Mihail Vieru日前在Reactive Summit 2016大會上發表了關于基于云的數據集成和分發平臺的演講,該平臺可用于商業智能用戶案例的流處理。
Zalando公司是歐洲在線時尚零售商,該公司正在從整體服務架構逐漸轉變為微服務架構,并且從等級組織結構向敏捷組織結構轉變。
事件流的處理方式使Zalando的技術團隊能夠實現幾近實時的商業智能。他們使用諸如Flink、Kafka和Elasticsearch之類的技術來處理事件流。
在他們的架構中,各應用程序通過REST API互相溝通,而數據庫隱藏在Amazon Virtual Private Cloud(VPC)基礎架構里面。所有團隊都將數據發布到中央事件總線。該架構模型由應用程序(調用微服務(REST API)來與事件總線交互)、Kafka、Exporter和AWS S3數據存儲組成。他們還用Data Lake為數據提供分布式訪問和精細的安全性保護。
Lopez和Vieru討論了如何在微服務架構中使用Flink框架。 Flink用于處理基于事件、攝取和處理時間的流數據。它還負責背壓處理,這種背壓處理是通過系統架構隱式實現的。
Zalando公司的業務流程涉及1000多種事件類型,并且每個事件類型都有一個Kafka主題。他們通過關聯的事件類型(如Join&Union)來分析流程,并根據業務規則完善數據。他們還使用滑動窗口(1分鐘至48小時)的平臺快照來進行流處理。
該架構還包括用于安全性的OAuth、基于Postgres DB的配置服務、告警服務和Python可視化組件。
兩位演講者還探討了流處理的兩個用例:幾近實時的業務流程監控解決方案和流ETL。實時的流程監控有助于分析如訂單速度、交付速度等數據流和控制服務水平協議(SLA)。流式ETL用于釋放與關系型數據倉庫相關的資源,這種解決方案有助于提高數據倉庫的負載,減少延遲并使平臺更具可擴展性。
他們還談到了未來用于流處理的用例,比如幾近實時的銷售和價格監控以及檢測欺詐性付款。BPM和Flink的CEP庫及狀態功能的復雜事件處理能力將用于這些用例。
有關他們的事件流處理架構的更多詳細信息,請訪問該公司的博客網站。
查看英文原文:Microservices and Stream Processing Architecture at Zalando Using Apache Flink