后台开发知识树
后台知识
1.操作系统
linux, 常用命令,shell脚本的编写
windows
ios
android
2.docker,将应用打包成镜像,可在有docker运行环境的主机运行
k8s,管理docker运行实例
3.负载均衡
nginx,软负载,支持哪些负载均衡策略
F5,硬件
4.网络
网络专线,使用场景比较重要的数据传输,对安全性、稳定性要求较高的使用场景,一般需要主备两条线
5.语言
C,网络编程
java,使用spring开发应用
6.数据库
6.1 SQL
oracle
mysql
postgresql
sqlserver
内存数据库:H2
6.2
mybatis集成:
hibernate集成:
数据库设计:三范式
字段冗余的原则是?
6.3NOSQL
redis
mongodb
例如需要产生大数据汇报的服务
7.缓存
不只是redis memcache,掌握缓存策略,什么时候invalidate缓存内容
本地:caffine
应用数据库缓存:mybatis缓存
5.MQ
kafaka
rocketmq
消息的生产和消费
4.应用开发
4.1应用类别
OLTP(联机事务处理):https://baike.baidu.com/item/OLTP/5019563?fr=aladdin,者例如一个面向消费者网站
OLAP(联机分析处理):https://baike.baidu.com/item/%E8%81%94%E6%9C%BA%E5%88%86%E6%9E%90%E5%A4%84%E7%90%86/423874?fromtitle=OLAP&fromid=1049009&fr=aladdin,例如需要产生大数据汇报的服务
4.2分布式系统
SOA RPC RESTFUL
dubbo
ESB
EJB
ESG
4.2应用扩容性Scalability
scale up:
scale out:考虑write和read,
write分发到不同节点,
read尽量从一个节点读取完,
4.3应用稳定性,考虑高可用
为了稳定性,基本原则就是冗余,把数据replicate到多个机器,具备灾备环境,异地多活
4.5了解微服务的整体结构,避免微服务循环依赖
5应用监控
monitor服务,探测应用的状态,应用主动上报状态到monitor服务