Mule ESB几点体验

刚开始接触Mule一点不熟悉,一般后端开发是看不到图形界面,但它不同,有图形表示flow,一个flow相当于一条api,也可以任务一条message在里面处理的流程。

使用了三个月左右,做了一些东西,说不上很熟悉,起码做业务没问题,总结下来,有几点体验。

1、诟病的Anypoint Studio

毕竟是脱胎与Eclipse,bug多是其特色,动不动假死,出现莫名其妙的Exception,和印度那边人、自己同事沟通过,也是发现类似情况,万幸需求不赶,否则让人抓狂。

2、优秀的测试支持

最大的感受就是Mule对测试的重视,项目结构都是和测试挂钩

main/app
main/api
main/java
main/resource
main/test/java
main/test/munit
main/test/resource
maint/test/junit_api_test

哪些是配置、哪些是业务代码、哪些是测试一目了然,当然现在熟悉了知道分层,一开始接触那真的是一头雾水。内部非常重视测试,10%Logic Code + 90%Test Code,在Jenkins上跑,Test必过才能Deploy。

3、黑盒般的组件

图形化界面意味着有图形化组件,组件内部集成很多功能支持,比如JDBC链接,MongoDB链接等等,然而一般情况我们大多是自己编写,只有对变量进行处理才会使用组件,或者需要传递变量到自己想要的message结构上。Object to Json实现有点问题,有几率顺序会不同。

4、流程清晰

毕竟图形化了,数据流转很清楚,哪块在哪个代码上处理,处理后要到哪个步骤,比起跳转代码方式有那么一丢丢的优势,熟悉之后也不错

对比下来,个人觉得还是Spring Boot用得来顺手,能将人从繁重的配置上解放,Mule配置也不多,但图形化界面不可避免造成IDE的卡顿,开发体验一般。最重要是,网上资料是真的少,只有内部的Confluence可以依赖,而且貌似企业版还要钱,当然公司不差这点软件钱。

Show Comments