Mule ESB 2 0 苦鬥兩周之後的初印象

2021-08-22 17:19:36 字數 3100 閱讀 2650

與mule 2.0抵死纏綿了兩周,喜憂摻半。但只在2.0之後,mule才算真正站到了esb的起跑線上。完整的筆記見我的wiki:

, 這裡主要列一下實際的公升級感受。

<

connector

name

="systemstreamconnector"

classname

="org.mule.providers.stream.systemstreamconnector"

>

<

properties

>

<

property

name

="promptmessage"

value

="pleaseentersomething:"

/>

<

property

name

="messagedelaytime"

value

="1000"

/>

properties

>

connector

>

改為transport特定的namespace後,ide中清晰顯示了可選的配置項。

<

stdio:connector

name

="systemstreamconnector"

promptmessage

="pleaseentersomething:"

messagedelaytime

="1000"

/>

<

pooled-component

>

<

spring-object

bean

="myspringpojo"

/>

<

binding

inte***ce

="org.mule.example.loanbroker.credit.creditagencyservice"

>

<

outbound-endpoint

ref="creditagency"

/>

binding

>

<

pooling-profile

exhaustedaction

="when_exhausted_fail"

initialisationpolicy

="initialise_all"

maxactive

="1"

maxidle

="2"

maxwait

="3"

/>

pooled-component

>

上文按pooling-profile定義的pooled-component,在spring中定義myspringpojo,並將乙個遠端的cxf endpoint binding到pojo的creditagencyservice變數中,可直接呼叫;

web service支援增強隨著cxf作者的加入,web service這事實上soa裡最重要的transport得到了加強,wsdl終於可以通過annotation準確配置。 雖然無奈,就衝這個理由就應該公升級到2.0了。不是2.0太好,而是1.4太差了。rest支援增強mule restpack

,支援apache abdera(atom publish協議實現),jersey(jsr131 restful webservice實現)和restlet 三種transport。

**結構的合理化抽象出相對穩定的org.mule.api界麵包,代替原來的org.mule.umo包。 開發團隊還檢查調整了mule中所有物件的定義,使其更加準確。

各個模組的公升級如核心mulemanager大物件拆成mulecontext and registry,執行時reistry支援動態載入service,支援向osgi進軍; 如以流的方式轉換處理訊息。 如seda模型定義的細化,見後。

工具增強mule galaxy

soa治理工具(開源), mule saturn

訊息流監控工具,mule hq

底層監控工具。 不過還沒試用不知道實際效果如何。

效能下降無論是代替xfire的cxf還是mule 2.0,都拖得效能大大下降。 用乙個簡單例子測試,mule 1.4+xfire : mule 1.4 + cxf : mule 2.0 + cxf 的每秒事務數對比是15000:10000:8000。

仍然沒有自帶的集群

,負載均衡,流量控制實現。不像bea、servicemix都使用jms的底層,mule使用vm queue在單一jvm的節點間流動。 我們團隊主要用terracotta 在集群裡同步狀態資料,流量控制與負載均衡也是自己實現。

cxf transport 仍然使用mule自己實現的http connector。cxf standlone也是用jetty的,看tomcat們努力的勁頭,相信誰都能隨便實現乙個不錯的http connector。

從1.4公升到2.0非常的花時間。估計團隊重構的太興奮了,從**到配置檔案再到xfire to cxf,一些**級修改還沒文件詳述。

文件從1.4版更新到2.0版的進度太慢,而且文件仍然簡略。質量仍然需要在使用中檢驗。文件說2.0版本的比1.x版本增加了30%的單元測試用例,按理來說專案質量應該提高了。 但還是被我發現了在很重要的abstractentrypointresolver類裡,居然有記憶體洩漏,原因是用沒有過載object的equals()函式的stringbuffer作為hashmap的key,結果map永遠都在增大。 這說明了,開源專案的質量,最終是靠乙個積極使用和反饋的使用者群和乙個活躍的開發團隊,"用"出來的。

這兩周的迷茫總結

大三快開始的時候,才知道有產品經理這個職位 乙個團隊的小領導,在網際網路行業,不用太懂技術,可以廣泛的與人交流,就是這種感覺,毫不猶豫的決定了以後就做產品經理,過了乙個多月開始著手找產品實習。十分幸運,一去就找到了,有段時間很忙,但累並快樂著。這兩周閒下來了,有點不知道該怎麼辦。深知自己能力不夠,但...

過了兩周的大二

總是在感慨時間很快,然而時間總是在感慨中更快的溜走。大一的軍訓訓得熱火朝天,想想去年的這個時候,我正在軍體拳方隊中揮汗如雨,有考慮過我剩下的四年要怎麼過,一不小心只剩下三年了。大二和大一簡直是毫無可比性,一開學,各種專業課猛地就全上來了,成天的滿課,為了早日修滿公選課個性課學分,周一到周四晚上也全是...

開學兩周來的教學情況

每週8課時,開學兩周半了,現在已經進行到順序程式設計中資料輸入輸出部分了,先對這兩周的教學情況總結一下,作個了結,再著實更新吧。前面兩章主要講了資料型別,這部分我感覺不應該太多的深入,學生很容易在這部分產生怕難情緒,比如資料在記憶體中儲存,優先順序 整型和字元型的關係,運算子結合性等,這些我都是一帶...