Angular google出品的js框架,是最早的,也比较大,提供了强大的双向绑定等功能,但是学习曲线很陡峭,需要学习大量他自己定义的东西,但是如果学好了,写一些很酷的功能的时候,代码量很小。它采用了一个将dom对象划分为区域,然后自动导入js代码的概念。
Backbone.js 出品于2010年,轻量的
Ember 出品于2011年,是最庞大的,但是功能最多,融合了backbone.js的组件化模型(容易学习)和Angular的动态绑定,官网上第一个例子就是用Ember去做的Angular的双向绑定例子。虽然大但是超值!
Jersey 比较轻量级的RESTFul框架,但是文档少
JBoss出的 RESTEasy 也很不错,优点是文档多
JSHint 用于js的代码检查,相当于是js版本的findBug
Mokito可以很方便的做Junit 的 Mock
moco :一个mock框架,用很短的代码就可以模拟一个服务器出来,对测试手机端有很大的帮助,配置极度简单
Hystrix 这是一个针对分布式系统的延迟和容错库,对错误资源隔离防止影响其他资源
grunt 可以建立项目脚手架,运行自动测试等内建任务,相当于js版的maven(除去包管理功能,这块npm已经覆盖了)
snapCI:thoughtwork出品的持续集成工具,没看出来比jenkins的好处在哪里,可能是其有良好的分布式集成界面支持吧。
travis CI:为ios 和 os x 的基于云计算的持续集成业务
使用Capistrano实现多机代码部署自动化
使用Puppet实现多机环境配置的自动化
使用Greenhopper插件可以实现jira的敏捷管理
ansible采用yaml规范编写playbook实现自动化部署,而且支持命令式,专为linux设计
cloud-init: 允许配置虚拟机启动时的行为,与Immutable和Phoenix 服务器配合使用,优点是轻量级,缺点是这三个东西文档都很少
Docker:Docker 之所以有用,是因为把代码从一个机器迁移到另一个机器经常是困难的。它尝试去使得软件迁移的过程变得更加可信和自动化。跟传统的war打包方式不同的是,他连依赖环境都打包了,打包成一个镜像。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)
Selenium(ThoughtWorks公司开发的web自动化测试工具)直接运行于web可以做界面化的测试
Calabash是一个开源的移动端UI自动化测试框架,支持android和IOS
Chaos Monkey 通过主动的搞坏系统来进行测试“避免失败的最好办法是经常失败”。随机杀掉架构中的运行实例和服务,这是一个很新颖的思路。前提是你的系统每个节点都是轻量级的,经得起下线的。
HAproxy 是做负载均衡的,成本很低使用方便
Logwatch一款专门监测Linux log文件(日志文件)的软件
Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。
Upstart 是Ubuntu使用的替代init的新的自启动方案,是基于事件的
cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,小而灵活,界面美观
ganglia适用于分布式的监控,报警机制欠缺但是适用于分布式,查看资源利用率,服务端负载低 [mongodb插件支持]
zabbix最新的监控平台,定制化程度高,但是服务端负载高,但是功能强大(nagios + cacti),配置简单,
nagios监控,报警多样性,一般nagios跟 ganglia 混用 或者 nagios 跟 cacti 混用 [mongodb插件支持]
Munin 监控 ,提到的较少,安装简单,界面简单 [mongodb]
Sensu:基于ruby的监控工具。不同于以往监控机器性能等的框架,Sensu主要监控业务行为。