閱讀148 返回首頁    go 阿裏雲 go 技術社區[雲棲]


was集群下基於接口分布式架構和開發經驗談

 
 某b項目是我首次采用was環境下架構和開發的手機wap應用,盡管做到了該項目的主程,但對此項目的全麵構件依然有不清楚的地方,因此在這裏我隻能簡單的談談開發中遇到的問題怎麼處理和應對辦法。


         記得第一天接觸這個項目時,隻記得些案例代碼(不知道那些是對的,那些是錯的)似曾相識,但不懂如何動手寫下第一個helloword,因其中的基於接口開發的ejb的架構以前根本就沒接觸過。好了,沒辦法,於是隻有硬著頭皮去嚐試第一個基於接口開發的ejb的第一個查詢方法(嗬嗬最簡單了吧)。因為一切都是新的,一沒有相對完整的資料可參考,二在無廣域網查資料,三沒人可問(人也是新的)。我心裏想,如果不能正常對接前端和所調用的各個接口方和協同各個部門,任務因我而耽擱,那豈不是藐視我的自尊心嗎?嗯,於是拿著些零碎的資料,一步一步的寫(含猜想),一步一步的測試,這樣的痛苦過程終於在第二天下午能交出第一個實現查詢方法了;等等,這才是開始,並不能代表你寫出的東西真的實用。接下來,問題是一個接一個,第一是這個係統采用什麼架構?各種架構優劣......要搞架構啊,好家夥,首先得弄清楚業務流程吧,第二得弄清楚技術流程吧,比如:was環境,ihs+was搭建吧,was包部署和發布吧,基於http和socket方式怎麼調用接口吧,弄清楚基於db2環境下的jdbc 方法吧,各種接口配置和集群對應的接口配置吧,還要弄清楚aixOS相關的shell吧,還要弄清項目升級會出現的各種調式和配置問題吧,還得弄清楚測試環境和生產環境的各種差異吧.....完了,一時間這些玩意都來了,你還不知道未來會遇到什麼不可預測的情況,比如流程安全改造,漏洞安全改造.....你更不知道如何確定接口方有沒有問題......麵對這些棘手的問題;這可不是玩的,那怎麼辦呢?當時,我沿用自己架構項目寫項目的一貫思維:第一這些問題盡管都是新的,但是他並沒有離開一個程序員正常的邏輯,因此他並不是那麼苦難,隻要把控每一步每一個微小的問題,一步一步實現即可完全把控;第二,他就是一個業務相對簡單的應用而已(比起之前的做的那些大型項目並不複雜)。好了,基於這2點自信上,這一深入下來就是近2個月的痛苦嚐試,2個月後終於功夫不負有心人,第一業務流程和技術流程的各個關聯微小的地方完全把握,第二與各個部門協同的非常順利。也就是通過了這段時間,完勝的把控了was集群下基於接口分布式架構和開發中的各種問題。


       因這個項目,使我產生對舊技術線路動搖和新技術線路實施的靈感。


       這是我做這個項目最大的成就之一。

最後更新:2017-04-03 07:57:14

  上一篇:go 關於webview調用js出現has no method 'toString'
  下一篇:go Netty係列之Netty可靠性分析