<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 簡介 ![](https://box.kancloud.cn/29c22826b3895a6775341b897db067fe_1576x736.png) # storm架構圖 ![](https://box.kancloud.cn/a552d48b78cd8a67baa5a490ebfc805e_715x429.png) * Nimbus:負責資源分配和任務調度。(類似yarn的ResourceManager) * Supervisor:負責接受nimbus分配的任務,啟動和停止屬于自己管理的worker進程。(類似yarn的NodeManager) * Worker:運行具體處理組件邏輯的進程。啟動多少個work是由用戶提交的任務的配置決定的.supervisor啟動多少個worker是由nuimbus鏡像分配的 * Task:worker中每一個spout/bolt的線程稱為一個task. 在storm0.8之后,task不再與物理線程對應,同一個spout/bolt的task可能會共享一個物理線程,該線程稱為executor。 # storm編程模型 ![](https://box.kancloud.cn/8628704396ae78d7a470a5909b110956_690x510.png) ## 基本介紹 Topology: Storm中運行的一個實時應用程序,因為各個組件間的消息流動形成邏輯上的一個拓撲結構。 Spout:有三個方法(open, nextTuple, outputFields) 在一個topology中產生源數據流的組件。通常情況下spout會從外部數據源中讀取數據,然后轉換為topology內部的源數據。 Spout是一個主動的角色,其接口中有個nextTuple()函數,storm框架會不停地調用此函數,用戶只要在其中生成源數據即可。 Bolt:有兩個方法(execute(Tuple input), outputFields) 在一個topology中接受數據然后執行處理的組件。 Bolt可以執行過濾、函數操作、合并、寫數據庫等任何操作。Bolt是一個被動的角色, 其接口中有個execute(Tuple input)函數,在接受到消息后會調用此函數,用戶可以在其中執行自己想要的操作。 Tuple: 一次消息傳遞的基本單元。 本來應該是一個key-value的map, 但是由于各個組件間傳遞的tuple的字段名稱已經事先定義好, 所以tuple中只要按序填入各個value就行了,所以就是一個value list. 本質上是list數據結構 Stream: 源源不斷傳遞的tuple就組成了stream。 # 如何實時的進行業務邏輯處理 在storm中每個業務邏輯都可以抽象成一個Bolt,復雜的業務可以用多個bolt進行連接 數據連接的方式,有幾種策略可選(shuffleGrouping, local or shufflerGrouping, FiledGrouping) # 并行度 一個worker運用多少個線程(task),取決于所有組件的并行度/worker數 # 集群概念 nimbus(主節點,管理任務的分配) supervisor(每個物理服務器上的管理者,負責啟動和停止自己的worker) worker(負責運行用戶的topology程序),包含具體的線程(task) task:spouttask和bolt task
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看