介紹下目前整個軟件開發團隊的配套成員
技能 |
人數 |
android |
1 |
ios |
1 |
前端 |
1 |
美工 |
1 |
java |
2 |
以上就是我們這個項目的人員搭配,我除了項目上的管理,更多的是在做業務需求,系統架構,平台建設,然后也頂多算半個開發人員參與在寫代碼。
一 系統架構
從前面的業務需求描述,到現在的人員配置,再加上時間進度上要求二個月出產品,在技術架構選型上基本首先考慮到是單體模式架構,采用傳統的MVC開發模式,java開發人員是整個項目的核心擔當,項目管理使用maven,運營平台UI采用的是容易上手的jquery easyui,后台采用的是springMVC+mybatis,數據庫毫無疑問用的是mysql,app用的是原生語言開發,微信前端頁面由美工設計(包括app),前端切圖成html,交給java開發,整個分工大概就這樣。
項目結構如下:
項目名 | 描述 |
orange-parent | 定義整個項目基本群的基本信息,依賴插件信息,以及自定義信息 |
orange-framework | 定義spring curd,rest服務,MVC等基類和模板 |
orange-core | 核心項目(dao,entity,mapper) |
orange-utils | 豐富的常用工具包 |
orange-redis | 分布式緩存redis組件 |
orange-serviceweb | 業務接口,主要對接app |
orange-wechat | 微信平台 |
orange-adminweb | 運營平台 |
orange-mqtt | mqtt協議組件 |
二 物理架構
所有基礎設施服務器首選阿里雲,我不是在替阿里雲打廣告,如果非要覺得我在打廣告,麻煩各位在阿里雲買服務器的時候選擇下我的幸運卷(哈哈),后續在服務器選型和部署有相關問題可以找我一起探討,幸運卷地址:
言歸正傳,像這種創業型互聯網項目首選阿里雲是比較好的選擇,我指的不單單是阿里雲提供的ECS服務器,更多看重的是阿里雲的整套解決方案。比如我們要做tomcat集群,可能要裝nginx,nginx要高可用,就得通過keepalive主從雙機熱備自動切換,就光這么一套配置下來,你少說也要好幾台服務器吧,而且還不一定穩定,更加沒有可視化控制台監控各項指標,但是在阿里雲你根本無需花這些時間來弄這些,去買個SLB負載均衡即可搞定,而且又便宜。再比如數據庫mysql,前期就算不做集群,你也要做主備高可用吧,如果二台mysql做高可用,你還得需要keepalive或者haproxy,這么一套配置下來,成本也不低。說實話,我覺得阿里雲數據庫RDS前期配置在同等的情況下更加便宜方便,畢竟RDS mysql本身還自帶了控制台可以方便監控各項參數排查問題,阿里雲數據庫RDS在后期的配置升級的確是成本昂貴,這個時候自己用一些廉價的服務器搭建數據庫集群是可取的,當然這個是后話了。還有文件服務器就算采用fastdfs搭建也需要一台服務器,總的算下來,還是不划算。
平台ECS的配置:
項目名 |
描述 |
ECS服務器 |
SLB負載均衡 |
orange-adminweb |
運營平台后台 |
1台 [4核8G5M | |
orange-mqtt |
mqtt中間平台 |
2台 [4核8G5M] |
1個[主備5M] |
orange-serviceweb |
核心業務層 |
2台 [4核8G5M] |
1個[主備5M] |
orange-wechat |
微信業務 |
1台 [4核8G5M] |
平台數據庫配置: 高可用通用型4核8G
平台redis配置: 4G主從版
平台文件存儲: OSS買流量包
平台mqtt配置: 按連接數上限購買,前期買2000,后期繼續升級(說實話,這個和RDS一樣越往后面升級配置越貴)