公司服務器前端
CentOS 7
Nginx
tomcat
mysql or oracle
Redis(Codis) or Memcachedjava
建議使用:Redismysql
推薦理由:公司一直在使用、同事熟練程度高。git
MetaQ or kafka程序員
建議使用:kafkagithub
推薦理由:雖然MetaQ我一直在使用並無問題、可是因爲做者基本不更新社區活躍程度低。反而Kafka社區活躍、各大網站有成熟的解決方案、提供可參考的應用實例多。web
一個簡單的持續集成架構圖以下: 如上持續集成能夠實現開發、測試、生產自動化部署管控。方便調試。sql
略數據庫
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裏面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用Spring進行WEB開發時,能夠選擇使用Spring的SpringMVC框架或集成其餘MVC開發框架,如Struts1,Struts2等。apache
推薦使用理由:公司項目中一直在使用而且也是時下流行的技術框架。
熟練程度:熟練使用。
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,而且更名爲MyBatis 。 2013年11月遷移到Github。iBATIS一詞來源於「internet」和「abatis」的組合,是一個基於Java的持久層框架。 iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)
推薦使用理由:簡單易用的配置能夠直接經過SQL解決複雜的業務場景。學習成本不算高、替代hibernate。
熟練程度:熟練使用。
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson建立。簡單來講, Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。
推薦使用理由:公司項目中一直在使用而且也是時下流行的技術框架。
熟練程度:熟練
Dubbo是一個被國內不少互聯網公司普遍使用的開源分佈式服務框架,即便從國際視野來看應該也是一個很是全面的SOA基礎框架。 做爲一個重要的技術研究課題,在噹噹網咱們根據自身的需求,爲Dubbo實現了一些新的功能,並將其命名爲Dubbox(即Dubbo eXtensions)。
推薦使用理由:能夠解決系統與系統之間複雜調用、能夠實現面向服務SOA編程。簡單實現系統服務化發佈與治理。
熟練程度:熟練使用dubbo服務發佈和服務治理。若是可能能夠快速將單一系統重構爲分佈式服務架構系統。
freemarker:
Velocity:
Beetl:
beetl功能與Freemarker功能比較: http://javamonkey.iteye.com/blog/1573346
velocity freemarker比較: http://lishumingwm163-com.iteye.com/blog/933365
推薦使用理由:FreeMarker在公司系統中已經普遍使用、可是我的深深被beetl簡單易用所吸引所以推薦使用。
熟練程度:熟練使用(由於相似FreeMarker、文檔豐富、學習成本低)
推薦使用理由:若是長期考慮建議使用 disconf 。開發、測試、生產運維實現界面配置、後期擴展性高。若是單獨一個子系統使用Commons Configuration足矣。
熟練程度:能夠快速搭建disconf服務器並應用到項目中。
logback 和 slf4j 配合使用
推薦使用理由:公司項目中一直在使用而且也是時下流行的技術框架。
熟練程度:熟練使用。並能夠結合logback搭建系統錯誤郵件報警提醒。
建議使用 FastJson。參考網址:https://github.com/alibaba/fastjson
推薦使用理由: 零依賴、性能高、強大(支持普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum)。業內普遍使用。
熟練程度:熟練使用
建議使用 druid 爲監控而生的數據庫鏈接池。參考網址:https://github.com/alibaba/druid
推薦使用理由:druid爲監控而生、DruidDataSource 高效可管理的數據庫鏈接池。替換DBCP和C3P0。Druid提供了一個高效、功能強大、可擴展性好的數據庫鏈接池
熟練程度:熟練使用。
以下圖歸納系統數據訪問流程: