高级软件工程师与架构师技术栈
2021-03-16 09:38:45 0 举报
AI智能生成
通过总结BATJ官网上对高级工程师和架构师的能力和技能要求,建立了这一思维导图。如果你有一个成为架构师的理想,那这张思维导图绝对是你的不二之选。
作者其他创作
大纲/内容
技术栈
技能
软件工程
需求分析
系统设计
系统开发
系统进度把控
需求的调研、讨论及可行性评估
服务拆分
主要内容
缓存
CDN缓存
反向代理缓存
Nginx
Squid
本地应用缓存
Ehcache
分布式缓存
Redis
Memcache
https://zhuanlan.zhihu.com/p/55303228
中间件
消息中间件
概念
分类
基础中间件
RabbitMQ
Kafka
交易中间件(事务)
TUXEDO
CICS
应用服务器
LVS
工作在协议栈第四层
Hadoop
数据流中间件
集成中间件
主要用于异构系统
行业领域应用平台
RPC框架
Netty
Mina
负载均衡
二层负载均衡
负载均衡服务器对外依然提供一个 VIP(虚IP),集群中不同的机器采用相同 IP地址,但机器的 MAC 地址不一样。当负载均衡服务器接受到请求之后,通过改写报文的目标 MAC 地址的方式将请求转发到目标机器实现负载均衡。
三层负载均衡
和二层负载均衡类似,负载均衡服务器对外依然提供一个 VIP(虚IP),但集群中不同的机器采用不同的 IP 地址。当负载均衡服务器接受到请求之后,根据不同的负载均衡算法,通过 IP 将请求转发至不同的真实服务器。
四层负载均衡
四层负载均衡工作在 OSI 模型的传输层,由于在传输层,只有 TCP/UDP 协议,这两种协议中除了包含源 IP、目标 IP 以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息( IP+端口号 )将流量转发到应用服务器。
七层负载均衡
七层负载均衡工作在 OSI 模型的应用层,应用层协议较多,常用 HTTP、Radius、DNS 等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多有意义的内容。比如同一个 Web 服务器的负载均衡,除了根据 IP 加端口进行负载外,还可根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡。
软件
安全防御
认证鉴权
常见认证方式
HTTP Basic Authentication
户端把用户名和密码用 BASE64 加密后,放在 Authorization Header 中发送给服务器
基于 Session 的认证
户登录认证成功后,将用户相关数据存储到 Session 中,单体应用架构中,默认 Session 会存储在应用服务器中,并且将 Session ID 返回到客户端,存储在浏览器的 Cookie 中。
基于 Token 的认证
Token 一般会包含用户的相关信息,通过验证 Token 就可以完成身份校验
JWT
Oauth2
服务网关
作用
统一接入
为各种无线应用提供统一接入服务
负载均衡,容灾切换
流量管理
服务降级
熔断
路由-(异地多活中的应用)
协议适配
前端系统(http、http2) 后端RPC
长、短连接支持
安全维护
IP黑名单、URL黑名单
风控防刷
Zuul
Nginx+ Lua
服务治理
关注点
服务注册与发现
可观测性
调用拓扑关系
监控(Metrics)
日志(Logging)
调用追踪(Trace)
安全
SpringCloud
Dubbo
Istio
发展趋势
分支主题
熟练运用ElasticSearch、MongoDb
存储
内容
小数据
SQL
数据建模+分库分表设计能力
熟悉数据库原理
oracle
mysql
大数据
Flink
Spark
Hive
工作流调度
crontab
azkaban
程度
精通
网络通信
熟悉常用的网络通信协议原理
熟悉进程间通信、内存管理
架构设计
常见架构模型
能力要求
清楚常见的设计模型和算法模型
基础知识扎实
分析和发现系统的优化点,负责推动系统的性能和可用性的提升
能够熟练阅读和编写英文论文,具有优秀的科学技术研究能力
研究和分析能力
对现存或未来系统进行宏观的思考,规划形成统一的框架、平台或组件
能深入理解产品和业务,推动技术不断升级,解决客户和平台问题
从技术趋势和思路上能影响技术团队
根据业务需求进行系统模块的划分、抽象设计、技术文档编写、编码及单元测试
收藏
收藏
0 条评论
回复 删除
下一页