java
文章平均质量分 89
抽抽了
往事不堪回首,望君砥砺前行
展开
-
Sentinel限流熔断集成OpenFeign组件
说明:sentinel限流有编码方式,注解方式,控制台方式。这里只说明控制台限流+Nacos持久化方式。原创 2023-10-17 16:39:03 · 176 阅读 · 0 评论 -
授权认证之Shiro
代码地址:https://gitee.com/zlfmm/springCloudDemo/tree/master/ShiroCore代码地址:https://gitee.com/zlfmm/springCloudDemo/tree/master/ShiroSpringWebDemo原创 2021-06-30 20:55:00 · 108 阅读 · 0 评论 -
Docker
Docker一、什么是docker二、docker和虚拟机的区别三、docker的安装卸 载 老 版 本安装dockerEngines开启docker验证docker是否安装成功四、docker基础命令查看版本查看docker的信息docker的帮助命令查看运行中的docker查看容器的top信息查看容器元数据信息进入容器文件拷贝查看容器状态五、docker镜像命令查询镜像列表搜索镜像下载镜像删除镜像六、docker容器命令运行容器退出容器删除容器启动和重启容器停止容器杀死容器七、docker原理什么是镜像原创 2021-06-30 20:52:32 · 192 阅读 · 0 评论 -
Spring Cloud Sleuth + Zipkin
基本概念分布式跟踪系统在微服务架构中,众多的微服务之间互相调用,如何清晰地记录服务的调用链路是一个需要解决的问题。同时,由于各种原因,跨进程的服务调用失败时,运维人员希望能够通过查看日志和查看服务之间的调用关系来定位问题。一个分布式服务跟踪系统主要由三部分构成:数据采集数据传输数据存储数据分析数据可视化分布式服务跟踪系统设计理念:平台无关性多语言支持多中间件支持sleuth 介绍Spring cloud sleuth 是为了对微服务之间调用链路进行跟踪的一个组件,sleu原创 2021-05-22 14:06:02 · 616 阅读 · 0 评论 -
Spring Cloud Stream + Nacos
Spring Cloud Stream + NacosSpring Cloud StreamSpringMessageSpring MessagingSpring IntegrationStream使用多个Kafka实例使用NacosSpring Cloud StreamSpringMessage消息Messageing对应的模型就包括一个消息体Payload和消息头。消息通道MessageChannel用于接受消息,调用send方法可以将消息发送至该消息通道中。Spring Messagin原创 2021-05-21 09:24:28 · 506 阅读 · 2 评论 -
Spring Cloud Gateway
网关的作用无网关会有哪些问题?增加客户端请求的复杂度;服务端鉴权复杂,每个服务都要鉴权,安全性低;无法适配各种协议;有网关针对所有请求进行统一鉴权、限流、熔断、日志;协议转化。针对后端多种不同的协议,在网关层统一处理后以Http对外提供服务;提供统一的错误码;请求转发,并且可以基于网关实现内网和外网的隔离。...原创 2021-05-17 22:07:35 · 218 阅读 · 1 评论 -
限流熔断之Sentinel
什么是限流?限流的目的是通过限制并发访问数或者限制一个窗口内允许处理的请求数量来保护系统,一旦达到限制流量,则对当前请求处理采取对应的的拒绝策略。如跳转错误页面、进行排队、服务降级等。什么是熔断?服务熔断是指当前服务提供者无法正常为服务调用者提供服务时,比如请求超时、服务异常等,为了防止整个系统出现雪崩效应,暂时将出现故障的接口隔离出来,断绝与外部接口的联系,当触发熔断之后,后续一段时间内该服务调用者的请求都会直接失败,直到目标服务恢复正常。服务降级的几种常见方案平均响应时间比如1秒内持续进入原创 2021-05-15 18:05:16 · 845 阅读 · 4 评论 -
JVM原理与实战
一、JVM垃圾回收算法二、JVM垃圾收集器三、JVM常用参数四、JVM监控优化原创 2021-04-05 17:13:55 · 165 阅读 · 2 评论 -
Spring Boot
Spring Boot一、基础1. 什么是Spring Boot1.1 特征1.2 构建二、原理2.1 核心注解2.1.1 @SpringBootApplicationSpringBootConfigurationComponentScanEnableAutoConfiguration(重中之重)SpringFactoriesLoader详解Spring Boot启动原理配置静态资源地址和访问路径三、实战一、基础1. 什么是Spring BootSpring Boot makes it easy t原创 2021-03-01 17:12:15 · 284 阅读 · 1 评论 -
JDK8新特性
CompletableFutrue实现线程的三种方法:继承Thread类;实现Runnable接口;实现Callable<返回类型>接口。实现Runnable接口没有返回值;Callable接口可以通过Future获取返回值。使用Futureclass Task implements Callable<String> { public String call() throws Exception { return longTimeCalc原创 2021-02-24 17:06:35 · 221 阅读 · 0 评论 -
函数式编程
Java8新特性、函数式编程新日期APIInstant(时刻) & Duration(时间间隔)ZonedDateTime(带时区的日期和时间) & LocalDateTime(本地日期和时间)DateTimeFormatter(取代SimpleDateFormat)TemporalAdjusters函数式编程Lambda表达式函数式接口方法引用StreamStream的创建使用map使用filter使用reduceConcurrent其他新日期APIJava有两套日期和时间的API:原创 2021-02-22 13:31:40 · 173 阅读 · 0 评论 -
设计模式讲解
一、设计模式六大原则 计划任务最终目的:抽象构建框架、实现扩展细节。(高内聚低耦合)单一职责原则里氏替换原则接口隔离原则迪米特法则依赖倒置原则开闭原则https://blog.csdn.net/qq_33507618/article/details/111866527?spm=1001.2014.3001.5501二、不使用工厂模式根据构造方法来创建类,耦合度较高,不易扩展。三、简单工厂模式分为工厂类、抽象产品类(抽象类或者接口)、具体产品类。工厂类使用ifelse或者sw原创 2021-02-07 15:45:38 · 157 阅读 · 0 评论 -
Java反射、泛型、容器
Java反射、泛型、容器反射一、什么是反射?二、创建Class对象的三种方式方法一:直接通过一个class的静态变量class获取方法二:通过该实例变量提供的getClass()方法获取方法三:通过静态方法Class.forName()获取三、通过Class创建对象无参构造方法有参构造方法四、通过反射获取属性值五、创建一个反射工具类泛型容器反射一、什么是反射?Class是反射的核心。二、创建Class对象的三种方式创建一个实体类Person:package com.company.demo2;原创 2020-12-30 16:32:17 · 238 阅读 · 0 评论 -
设计模式的六大原则
设计模式的六大原则设计模式的六大原则设计模式的六大原则在学习设计模式之前,我们需要先了解下设计模式的六大原则。开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。里氏代换原则(Liskov Substitution Principle)里氏代换原则原创 2020-12-28 14:45:07 · 162 阅读 · 0 评论