文章汇总(Spring和SpringCloud篇)
本篇总结内容是作者2018年截至2022年的学习总结,后续将持续更新。作者将大部分业余的时间贡献给了代码实属不易,如果文章对你有帮助记得点赞收藏支持一下作者,你们的鼓励是作者最大的动力。常用注册中心对比注册中心的产生背景:注册中心是微服务架构的核心,在传统架构中url繁多不方便管理,通过注册中心可以方便管理服务的和健康情况、负载均衡、服务保护。中间件: Nacos:SpringCloud Alib
本篇总结内容是作者2018年截至2022年的学习总结,后续将持续更新。作者将大部分业余的时间贡献给了代码实属不易,如果文章对你有帮助记得点赞收藏支持一下作者,你们的鼓励是作者最大的动力。
微服务
注册中心
常用注册中心对比
特性 | Nacos | Etcd | Consul | Eureka | Zookeeper |
---|---|---|---|---|---|
公司 | Alibaba | CoreOS | HashiCorp | Netflix | Apache |
活跃度 | 非常活跃 | 活跃 | 较活跃 | 较活跃 | 一般 |
开发语言 | Java | GO | GO | Java | Java |
CAP | AP/CP | CP | CP | AP | CP |
一致性算法 | Raft | Raft | Raft | 无 | Paxos中ZAB |
暴露接口 | HTTP/DNS | HTTP/grpc | HTTP/DNS | HTTP | 客户端 |
注册中心的产生背景:
注册中心是微服务架构的核心,在传统架构中url繁多不方便管理,通过注册中心可以方便管理服务的和健康情况、负载均衡、服务保护。
中间件:
- Nacos:SpringCloud Alibaba Nacos安装与服务注册
- Zookeeper:SpringBoot整合Zookeeper搭建服务注册与发现
- Consul:SpringBoot整合Consul搭建服务注册与发现
- Eureka:SpringBoot整合Eureka搭建服务注册与发现
- Etcd:SpringBoot整合Etcd搭建服务注册与发现
分布式配置中心
-
Consul:SpringBoot整合Consul搭建配置中心
-
SpringCloud Config:SpringCloud Config搭建配置中心
-
Apollo:SpringBoot整合Apollo搭建配置中心
-
Zookeeper:SpringBoot整合Zookeeper搭建配置中心
负载均衡
- 负载均衡概念以及常用算法
- F5硬件负载均衡、四层负载均衡、七层负载均衡、中间件负载均衡、服务负载均衡
- SpringCloud 负载均衡Loadbalancer和OpenFeign和自定义手写负载均衡策略
- Nginx负载均衡
- Keeplived + LVS负载均衡
- Haproxy负载均衡
服务网关
- Spring Cloud Gateway 网关基本使用
- Spring Cloud Gateway 常用配置和整合Loadbalancer
- Spring Cloud Gateway 跨域配置
- Spring Cloud Gateway 整合配置中心实现动态配置
- Spring Cloud Gateway 整合MySQL数据库实现动态配置
- Spring Cloud Gateway 源码分析
- Spring Cloud Gateway 高可用
- Spring Cloud Gateway 整合Swagger
- Spring Cloud Gateway 整合OAuth
- Nginx网关
- Zuul网关
服务保护
在用户并发量比较大的情况下,服务会发生雪崩效应:用户同时请求堆积在一个接口,导致其它的接口服务无法访问,这种效果给到用户体验不好。
保护策略:对服务限流(熔断),在高并发场景客户端请求达到阈值,直接调用服务降级方法,给到友好提示如:当前访问人数过多,稍后重试。
-
SpringCloud Alibaba服务保护Sentinel整合Gateway
-
SpringCloud Alibaba服务保护Sentinel整合Nacos 持久化数据
-
SpringCloud Alibaba服务保护Sentinel 秒杀解决方案热词控制
-
SpringCloud Hytrix
分布式事务
分布式事务理论:
CAP理论、BASE理论。2PC提交、TCC。
两阶段提交(2PC):类似tcp的三次握手,分为协调者(领导)、参与者(下属)、用户(客户端),当用户会先跟领导沟通,领导再询问下属有没有准备好,如果半数以上准备好了,那么领导再将数据发给下属。
三阶段提交(3PC):2PC有一个缺陷:就是第一次询问下属需要等待说有都回应,这个时候都会进入阻塞状态。
3PC是在2PC的基础上解决参与者超时问题和多加了一层询问。
常用的分布式事务解决方案:
-
Alibaba Seata
-
LCN
分布式锁
-
Redis(Redission、RedisLock + Lua脚本)
-
ETCD
-
Zookeeper
-
MySQL
服务链路追踪
- SkyWalking
- Sleuth + zipkin
微服务中间件汇总
Consul
Zookeeper
【Zookeeper教程】2.Zookeeper数据模型以及与Java整合
【Zookeeper教程】3.SpringBoot整合Zookeeper搭建服务注册与发现
SpringCloud
2.SpringCloud 负载均衡Loadbalancer和OpenFeign
SpringCloud Alibaba
1.SpringCloud Alibaba Nacos安装与服务注册
2.SpringCloud Alibaba Nacos分布式配置中心
3.SpringCloud Aibaba Nacos 服务消费和负载均衡
Etcd
1.Etcd的安装
2.SpringBoot整合Jetcd搭建服务注册与发现
Spring
IOC容器
AOP
【Spring教程】AOP的使用
MVC
【SpringMVC教程】SpringMVC的使用
异常
异步
SpringBoot基础篇
【SpringBoot教程】1.配置文件和默认配置
【SpringBoot教程】2.自定义Banner
【SpringBoot教程】3.自定义starter
数据库篇
【Spring Data教程】1.SpringBoot整合MySQL和JdbcTemplate的使用
【Spring Data教程】2.整合Mybatis
【Spring Data教程】3.整合Mybatis Plus
【Spring Data教程】4.整合Alibaba Druid
【Spring Data教程】5.JdbcTemplate自定义多数据源实现
【Spring Data教程】6.dynamic-datasource多数据源实现
【Spring Data教程】7.分布式ID设计
【Spring Data教程】8.整合ShardingSphere Jdbc 读写分离
【Spring Data教程】9.整合ShardingSphere Jdbc 单数据库分表
【Spring Data教程】10.Canal数据库同步神器
事务
【Spring事务教程】1.@Transactional的使用
【Spring事务教程】2.@Transactional不生效的原因
【Spring事务教程】3.整合dynamic-datasource解决多数据源事务
Web
【Spring Web教程】1.SpringBoot 整合SpringFox-SwaggerUI 3
【Spring Web教程】2.整合WebSocket
【Spring Web教程】3.整合OkHttp
缓存
【Spring 缓存教程】1.缓存注解@Cache的使用
【Spring 缓存教程】2.SpringBoot整合Java轻量级缓存ehcache
【Spring 缓存教程】3.SpringBoot整合Redis
消息队列
【Spring RabbitMQ教程】01.Docker安装RabbitMQ
【Spring RabbitMQ教程】01.Windows安装RabbitMQ
【Spring RabbitMQ教程】02.SpringBoot整合RabbitMQ和P2P例子
【Spring RabbitMQ教程】03.SpringBoot整合RabbitMQ的Fanout(发布订阅模式)
【Spring RabbitMQ教程】04.SpringBoot整合RabbitMQ的Routing
【Spring RabbitMQ教程】05.SpringBoot整合RabbitMQ的TOPIC
【Spring RabbitMQ教程】06.RabbitMQ重试机制
【Spring RabbitMQ教程】07.RabbitMQ处理幂等性
【Spring RabbitMQ教程】08.RabbitMQ自动响应和手动响应
【Spring MQ教程】2.整合ActiveMQ
【Spring MQ教程】3.整合RocketMQ
【Spring MQ教程】4.整合Kafka
搜索
【SpringBoot教程】整合ElasticSearch
日志
【SpringBoot教程】Log的使用
【SpringBoot教程】整合ELK + Kafka
安全
【SpringSecurity教程】1.权限
【SpringSecurity教程】2.OAuth单点登录
【SpringSecurity教程】3.XSS、CSRF控制
文件上传
【SpringBoot教程】1.整合阿里云OSS
【SpringBoot教程】2.整合七牛云
其它第三方
【SpringBoot教程】1.整合百度AI
【SpringBoot教程】2.整合阿里云短信
更多推荐
所有评论(0)