从Java高级工程师到架构师,你需要学习下面这些能力
下面以我的github为线索https://github.com/flylib来讲讲架构师进阶需要学习的能力。
贡献了这么多干货,所有的技术要点都有纯java实现。 记得点star!
1. 电商秒杀抢购程序设计--http高并发--大数据库--数据库高并发
主要内容,redis应对高并发, 限流, 减库存, 消息队列异步处理业务能力, 悲观锁与乐观锁,mysql行锁
redis事务,数据库事务等
https://github.com/flylib/fly-seckill
2. flylib创立的各种常见的架构技术,合集, 主要包含一致性hash(consistent-hashing)技术
一致性hash主要用于分布式缓存的实现
比如弹性伸缩(动态扩容) redis存储节点的增加和减少的时候,可以把需要迁移和hash()值的变化量做到最小。
https://github.com/flylib/fly-arch3. 服务器端缓存的使用,并且用redis来实现用户的权限拦截 -sso单点登录
https://github.com/flylib/flylib-passport
4. Java JWT解决分布式环境下的认证和session一致性问题
使用了springboot
https://github.com/flylib/fly-auth
5. apidoc原本是用nodejs开发的, Java项目想使用它作为在线接口文档的标准。
可以用antlr来解析APIDOC语法树
antlr是可以用来解析一切编程语言的语法解析器,主要用于编辑器的前置处理。很厉害的。
https://github.com/flylib/apidoc4j
6. 基于Netty编写自己的RPC框架
原理netty nio+ JDK动态代理+反射实现rpc
非常有意思的小框架。 基于这个原理,可以自己开发一款rpc框架,甚至服务治理的框架,比如dubbo等
https://github.com/flylib/frpc
7. Spring源码以及依赖注入,AOP原理的学习,并能自己开发出一款迷你型的IoC容器的框架https://github.com/flylib/containerx