本文系Smallfan(程序猿小风扇)原创内容,转载请在文章开头显眼处注明作者和出处。
总结目前流行的常用框架,同时立一个flag,逐个击破。
MVC框架
- SpringMVC
- Jersey
- JFinal(国人开发)
- WebX(阿里)
IoC框架:
- Spring
缓存框架:
- Redis(可使用Spring的RedisTemplate),
- Memcached
性能检测框架:
- Jwebap
数据库:
- 关系型数据库(MySQL, PostgreSQL)
- NoSQL(MongoDB, HBase, 其中HBase用于大数据库领域的列数据库,受限于查询性能, 一般不用于做业务数据库)
数据库中间件:
- Cobar(阿里)
- Atlas(360)
- DDB(网易)
- MyCat
- Kindshard
- MySQL Proxy(支持Lua, 性能较差)
ORM框架:
- MyBatis
- Spring ORM提供的JdbcTemplate
- TDDL(阿里)
- Sharding-JDBC(当当)
搜索引擎:
- Solr
- Elasticsearch
文件存储:
底层采用传统的RAID, 上层HDFS
单点登录系统:
- 耶鲁大学开源的CAS ( https://github.com/apereo/cas/tree/master/cas-server-webapp )
统一认证中心:
- 用户注册/登录认证/token鉴权
- 内部信息系统用户的管理和登录鉴权
- APP的管理,包括APP secret生成, APP信息的验证(如验证接口签名)
统一配置中心:
- Zookeeper
- Disconf(百度)
统一调度中心(定时任务):
- Linux Cron
- Java Quartz
- Oozie(Azkaban&Yahoo)
- Spring Quartz+Zookeeper
- elastic-job(当当)
消息队列:
- Kafka(LinkedIn)
- RabbitMQ
服务治理框架(http/RESTful/RPC):
- RMI
- Hessian
- Thrift, Dubbo
- Dubbox(当当)
统一日志服务:
- Log4j
- LogBack
收集方案:
- Scribe
- Chukwa
- Kafka(LinkedIn)
- Flume
传输方案:
- Kafka(LinkedIn)
数据库与数据仓库同步:
- Sqoop(Apache)
- Canal(阿里)
离线数据分析:
- Hadoop
- Spark
Tip 数据倾斜: Region数据分布不均, 造成有些节点负载很低, 而有些却负载很高, 从而影响整体性能
实时数据分析:
- Storm
- Spark Streaming(批量计算, 高延迟)
- Flink
实时+离线数据分析:
- Lambda
数据即席分析:
- Presto
- Impala
- Hive
- 自己搭建内部HUE
故障监控:
系统监控:
- Nagios
- Cacti
- Ganglia(分布式服务集群)
- OpenFalcon(小米)
业务监控:
- ELK(Elasticsearch+Logstash+Kibana)
- Mercury(唯品会)
- 鹰眼(阿里)
- WatchMan(新浪)
- Zipkin(Twitter)
- HTrace(Apache)
- Spring Cloud Sleuth(如果使用Spring Cloud)
我是程序猿小风扇,请多多指教
Github:Smallfan