簡單-高效-優(yōu)雅

          亂說異步

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

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 高雄市| 镇坪县| 定西市| 长岭县| 图木舒克市| 道孚县| 临海市| 疏附县| 商丘市| 仲巴县| 绥棱县| 宁海县| 福泉市| 中超| 调兵山市| 浦东新区| 饶河县| 梅州市| 合川市| 堆龙德庆县| 蛟河市| 金昌市| 贺兰县| 和平县| 兴和县| 阳城县| 庄浪县| 霍州市| 图木舒克市| 贵阳市| 汽车| 石首市| 大荔县| 土默特右旗| 资阳市| 东辽县| 宜城市| 襄城县| 宜良县| 石屏县| 通州市|