前言
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Sentinel 具有以下特征:
-
丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
-
完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
-
广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
-
完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
以上内容引自 Sentinel 官方介绍。在本文中,笔者将从实际应用的角度,来学习Sentinel的使用。
正文
这次写一下springboot与redis的结合,这里使用的是redis集群模式(主从),主从环境的搭建,请参考redis集群搭建
搭建完redis集群环境后,开始springboot之旅
1、REDIS介绍
redis的介绍及应用场景参考 redis介绍
2、项目构建
我们还是从redis项目构建开始说起,首先还是进入的spring官网,
从这里开始构建项目,如下图
当然也可以自己添加pom文件,如下
3、添加配置文件
application.properties中
4、JEDIS配置类的编写
这里是核心jedisCluster这个bean的创建
5、通用接口的编写
经过这几篇的博客,可能也发现很多接口的定义,然后由不同的业务类去实现,面向接口的编程也是经历过近期的一个项目才有了比较深的理解,这些都是跟朱哥和军哥学习的,代码编写的规范,对于一个程序员来说,越早养成越好
6、接下来是JEDIS接口的实现
这里我只写了几个基础的核心配置,包括一些异常的处理,这里都没有贴出代码,当然代码在文章最后也会给出,不必担心
7、业务DAO的实现
不同的业务只需继承上面的类即可
这里同样也是只写了一个set方法
8、单元测试
添加完成后,去查看发现,已经有已经生成。
分享
首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:
(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)
其次分享一些技术知识,以截图形式分享一部分:
Tomcat架构解析:
算法训练+高分宝典:
Spring Cloud+Docker微服务实战:
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
Java高级架构面试知识整理:
0道互联网Java面试题:
[外链图片转存中…(img-Crv7gh1e-1653401787346)]
Java高级架构面试知识整理:
[外链图片转存中…(img-ipcnXUEf-1653401787346)]