完成專案的一點思考

艾賀發表於2018-08-23

在新公司搞一個專案練練手,熟悉流程。到現在大體流程也熟悉了一遍,做東西的時候有點思考。

畢竟自己讀書少,大部分時間花在寫程式碼上,如果寫程式碼的時候再不思考,那就和鹹魚沒什麼區別了。標題寫成一點思考,自己想的還是太少。

專案過程

這段時間接手了幾個專案,有一個是往舊的專案上加功能,一個是完全自己開發的小系統。

整體設計:從etcd中拉取配置資訊,一般為資料庫,redis的配置資訊。
一般不是直連MySQL和Redis的,看業務而定,連線的的是KingShard,Codis-proxy。

內部系統並沒有用到快取,有些需要使用SOA呼叫,基於Http的方式,訊息佇列用的是Redis,Redis做訊息佇列要在客戶端做一些額外的操作。沒有專門的MQ好用。

程式碼層面,獨立開發的東西,我用的是Spring Boot,要依賴公司內部的一些jar包之類的,因為早先使用的是Tomcat + war包,Spring Boot還沒大規模使用,一些腳手架需要做一下,自己做了一個Spring Boot Starter。

個人系統:Spring,Spring MVC,BUI做後臺頁面, Mybatis運算元據庫, Spring Boot提供打包什麼的
舊系統:Spring Spring MVC, JPA運算元據庫,Jquery EasyUI做後臺頁面

自己寫前端頁面的時候,傾向於前後端分離,直接寫的HTML頁面,加ajax請求
老系統用的是JSP,資料通過jsp的屬性注入方式

部署方式:

  • 開發環境,舊專案,自己上傳,然後用supervisor進行控制啟動,停止。 我用的是Ansible,直接控制,沒有用supervisor

  • 測試環境,使用git上傳到內部的git倉庫,然後觸發Jenkins打包並且部署。

  • 線上知道用的是lvs + keepalived,然後redis,mysql的叢集高可用。線上由運維來部署,開發不參與

資料庫方面:

  • 開發完成之後,寫好文件,由DBA稽核資料表,並且建立表

單點登入用的是CAS,平時有問題就問問老員工

感受

單獨使用自己的技術開發專案的時候感覺還不錯,等到在舊專案之上進行開發的時候,覺得有點麻煩。

現在Java的熱部署外掛jrebel也收費了,299美元一年,有點貴啊,沒有了熱部署,每次啟動什麼的都要花不少時間,效率也降低了一些。

訊息佇列使用的是Redis,Redis做佇列,訊息的刪除都要手動操作,消費失敗也要在客戶端進行控制。如果不使用專門的MQ軟體,自己就要多處理一點東西啊。

在公司開發有一定的流程,也有許可權,如果很多東西都沒有許可權操作的話,那麼其實自己就要自己成長了。

先充實自己吧,有空多看書,技術也要成長。

  • 專案做完寫文件
  • 專門的人做專門的事
  • 做的時候配置挺多的


相關文章