簡單-高效-優雅

          亂說異步

              異步是相對于同步而言的,也有地方稱之為“非阻塞”方式。從淺顯的字面理解,就是無需等待,由此可以肯定的是:系統的響應速度會大大增加,就用戶體驗來說,那肯定是好的,但在這字面理解的背后,異步又意味這什么?這是筆者過去常常思考而無所得的問題。時至今日,結合自己做系統的體驗和做性能的工作,若有所思:
              首先,說到A流程無需等待B子流程,那么是否意味著,A和B應該在業務上是不太緊密相關的?從設計角度說,他們最好是業務的兩個完全分離的關注點,典型的例子就是我們經常做的日志記錄,日志信息的處理,持久化等等,都可以無礙于主業務流程的正常執行,因此,它應該是可以異步的;
              其次,如果A流程無需等待B子流程,又是否意味著,A與B在邏輯上是解耦的,無論以何種方式進行異步(線程?消息系統?),那么對于相對獨立的A和B來說都是可以單獨增加資源進行擴容(比如單獨增加日志服務器),從而提高系統的可伸縮性;
              再次,如果AB異步執行,那么意味著B可能在未來的某個時間執行(相對于A執行的時間來說),這樣可以在時間維度上平攤系統的負荷,進而降低系統的負載峰值,也就是說可以使用性能差些、廉價些的機器完成相同的問題;(做性能的都非常明白,負載峰值越小,代表負載曲線越平滑)
              就胡攪蠻纏這么多,嘿嘿

          posted on 2008-06-14 20:52 BigOnion 閱讀(153) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 凤凰县| 仲巴县| 阳新县| 浪卡子县| 会宁县| 克什克腾旗| 荆门市| 金秀| 荔浦县| 民县| 耒阳市| 灵石县| 荆门市| 扎囊县| 买车| 三都| 浮山县| 平陆县| 兰坪| 水富县| 蒲城县| 江津市| 麟游县| 岑巩县| 镇安县| 荣昌县| 江山市| 朔州市| 会东县| 东明县| 涞水县| 剑阁县| 淮安市| 玛纳斯县| 津市市| 哈巴河县| 商丘市| 仲巴县| 怀仁县| 海宁市| 资中县|