API Gateway:html
選型1:Kong。Kong基於nginx LUA定製開發的,nginx自己比較成熟穩定,LUA方式應用場景較爲普遍。另外Kong的社區活躍度很是高。前端
Kong URL:https://github.com/Mashape/kongreact
Kong的架構:https://getkong.org/about/jquery
缺點:服務的對外能力暴露還須要額外配置和定義,比較麻煩。須要調用kong的restful api進行配置和定義(參考:配置kong的url配置)。nginx
選型2:zuul:netflix的標配,和netflix相關組件配合良好。支持從eureka拿到服務信息,能夠經過serviceid直接進行調用。git
這樣就比較方面調用了。參考http://blog.didispace.com/springcloud5/github
先選擇zuul。spring
服務註冊和發現:sql
選型1:Consul。Consul 自己也很成熟,和ETCD並列的分佈式配置和服務註冊中心,spring 對consul進行了封裝,支持基於spring consul的服務註冊和發現,consul支持集羣模式。數據庫
直接採用Consul官方的集羣模式,部署爲至少3個節點的集羣
URL:https://github.com/hashicorp/consul
spring和consul結合參考 http://www.voidcn.com/blog/mn960mn/article/p-6075068.html
關鍵點:若是選型zuul,則zuul是否支持從consul中獲取相關信息?仍是須要利用spring consul,從spring consul獲取信息。這個須要驗證?
選型2:eureka。netflix官方標準組件。
先選擇eureka。
微服務開發框架:Spring Boot。 Spring Boot開發微服務很是輕量級,上手快,和spring相關工具融合度好。
URL:http://projects.spring.io/spring-boot/
client 端LB:Spring Feign 。Feign 整合了Ribbon和Eureka來提供均衡負載的HTTP客戶端實現。
微服務配置中心:Spring Config。基於git的配置管理,自然支持版本化管理。git的文件須要放置到共享存儲上,保證配置的高可用性。
URL:https://github.com/spring-cloud/spring-cloud-config
微服務熔斷:Spring Hystrix.不過因爲自身管理系統併發量比較小,能夠暫時不考慮引入。
URL:https://github.com/spring-cloud/spring-cloud-netflix
工做量引擎:Activity 是workflow的業界標配,工單系統,變動管理等都須要走workflow。因爲是內部系統,流程定義先手動定義,後續有須要在提供圖形化定義。另外,流程的圖形化展現須要支持。
Pipeline:備選方案:
1:spinnaker:https://github.com/spinnaker 原超超預研
2:jenkins的pipeline插件。 管小偉預研
前端頁面技術: reactjs + bootstrap
下面比較下reactjs和jquery
reactjs
jquery+jquery插件
https://facebook.github.io/react
https://jquery.com
社區活躍性
star 71k; 1,041 contributors
star 45k; 265 contributors
學習難度
容易
容易
組件化開發
支持
使用插件方式進行擴展,易讀性很差
組件開發
很是簡單,靈活
比較麻煩,組件越複雜越難。能夠開發一個日期組件比較下
頁面性能
較好
好
手機端app,是否能夠複用代碼
好
差
靈活性
較好
直接操做dom,好
數據庫:Mysql
緩存:Redis
LB:LVS