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