汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

转自:http://www.51testing.com/html/83/n-3718883.html

有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也。非也,这是近几年,对于技术这碗饭有一些心得体会,大多数人成为某领域*专家可能会有些难度,但应对日常工作,成长为资深研发工程师、技术专家、甚至成为小团队的Team Leader,其实并不难。

多读书、多看报,多研究常用开源框架的源码,比如:github.com,这里汇集了全球工程师的智慧!

言归正传,下文会列举工作中常用的一些技术,以及如何锻炼提升自己的架构能力。

由于每块技术市场上基本都有对应的网络资料或书籍,所以本文只是少篇幅列举工作中用到的核心知识点,抛砖引玉,属于进阶型,不适用初学者。


基础知识


java

spring

spring boot

spring cloud

ibatis

设计模式

Log日志


数据库

目前使用最多还是mysql,虽然单机性能比不上oracle,但免费开源,单机成本低且借助于分布式集群,可以有强大的输出能力。


连接池

事务

分库分表

id生成器

DAO层接口性能监控

读写分离

sql技巧

其它


web容器/协议/网络


负载均衡
Nginx
tomcat
http协议
CDN
其它

常用三方工具包


Google Guava
fastJson
log4J
commons-codec
commons-lang3
commons-io
Quartz
HttpClient
Javassist

中间件

RPC框架


dubbo
dubbox
motan
Thrift
RPC框架性能比较

MQ消息


ActiveMQ
RabbitMQ
Kafka
RocketMQ

缓存


redis
codis

memcache


搜索


Elasticsearch

分布式数据框架


cobar
Mycat
tsharding
tddl
sharding-jdbc

分布式协调服务


zookeeper

大数据


Hbase
Spark
Hadoop
Hive
Flink
other框架

配置管理


super-diamond
disconf
apollo

分布式文件系统


FastDFS

其它


数据库binlog的增量订阅&消费组件
数据库同步系统

系统架构


架构经验
经典案例
通用技术方案选型
编码前3000问

项目管理


论需求调研的重要性
项目生命周期
项目管理案例
代码规范
git常用命令
ab性能压测
maven仓库

运维


快速排查线上问题

linux常用命令

本地代码调试

Docker


个人成长


Tom的读书单

个人成长与职业规划

学习网站


infoQ
云栖社区
并发编程网
开源中国
*


视频网站


慕课网
网易云课堂
腾讯课堂


github 伯乐在线

程序员素养


其它


常用软件工具

一致性hash算法

面试


java面试题
大数据面试题


回车与换行的区别

github上fork项目后,如何同步更新后面提交