反内卷
文章平均质量分 56
抗内卷程序员
这个作者很懒,什么都没留下…
展开
-
Spring源码设计模式之装饰者模式
House接口装饰者类2001装饰基本对象类2016装饰对象类继承了装饰类(对2001年进行装饰)2017装饰对象类继承了2016装饰对象类测试类测试结果:总结:增量的添加装饰,装饰器模式用于动态地添加职责,原本的功能必须执行,对用户而言重要的是添加的职责。...原创 2021-12-24 16:04:45 · 600 阅读 · 0 评论 -
Spring源码设计模式之委托设计模式
工厂接口oracel公司类实现了工厂接口sun公司类实现了工厂接口Boss类实现了接口总结:专人做专事,我需要sun公司生产就委托给sun来生产,直接调用sun的product()方法,需要oracle公司就调用oracle类的方法,Boss持有委托对象的引用,不需要再Boss类中有关生产的代码,所有生产的代码都委托给sun或者oracle公司。...原创 2021-12-23 20:20:04 · 972 阅读 · 0 评论 -
Spring源码设计模式之模板设计模式
父类方法子类方法1子类方法2测试类总结:父类方法中有主流程方法和抽象的钩子方法,子类实现钩子方法 来干预父类的业务执行流程,钩子方法挂载到父类方法中执行。原创 2021-12-23 19:47:36 · 384 阅读 · 0 评论 -
SpringCloud之链路追踪
其实链路追踪就是日志追踪,微服务下日志跟踪,微服务系统之间的调用变得非常复杂,往 往一个功能的调用要涉及到多台微服务主机的调用,那么日志追踪也就要在多台主机之间进 行,人为的去每台主机查看日志这种工作几乎是不能完成的工作,所以需要有专门的日志监 控工具推荐:ELK...原创 2021-12-21 15:22:01 · 209 阅读 · 0 评论 -
SpringCloud微服务项目下的权限校验
1.以前的单体架构权限验证用户登录操作传入用户名和密码,传到后端,后端到DB里查询,如果查到就返回登录成功并把session信息存到内存中并把session的唯一标识(JessionId)返回给我们的浏览器,浏览器就会把我们的JessionId存到cookie里面,当我们下一次请求的时候,一样会被我们的登录拦截器拦截到,然后通过JessionId获取session判断你有没有登录过,如果有就说明你已经登录了,这是我们最传统的基于session的登录校验和登录,参考下图:传统项目的问题:1..原创 2021-12-15 17:24:50 · 3341 阅读 · 1 评论 -
SpringCloudConfig组件之可视化监控 SpringCloudAdmin
1.简介Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。Spring Boot Admin 提供了很多功能,如显示 name、id 和 version,显示在线状态,Loggers 的日志级别管理,Threads 线程管理,Environment 管理等。2.使用2.1 jar包导入<?xml version="1.0" encoding="UTF-8"?>.原创 2021-12-14 22:03:16 · 864 阅读 · 0 评论 -
SpringCloudConfig五大组件之服务网关-Zuul
1.为什么需要服务网关假如说我们没有服务网关的话,nginx需要配置每一台商品模块的主机地址,假如有100台或者1000台商品模块呢?参考下图:网关就是负责网络转发的,一般情况下我们的网关服务是要远远小于整个系统的其他模块的个数的,后端的应用就会由网关来负责路由,减少了我们nginx里的配置量。系统架构就会变成如下图所示:总结:Zuul是分布式springcloud项目的流量入口,理论上所有进入到微服务系统的请求都要经过zuul来过滤和路由。...原创 2021-12-14 10:43:24 · 188 阅读 · 0 评论 -
SpringCloudConfig配置完成后客户端读取不到配置中心的配置文件
有可能是客户端启动类上使用的是 @EnableEurekaClient注解,可以尝试改成@EnableDiscoveryClient/** * 开启eureka客户端功能 *///@EnableEurekaClient/** * @EnableEurekaClient和@EnableDiscoveryClient都让注册中心能够发现,扫描到该服务。 * 不同点:@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其原创 2021-12-11 20:54:31 · 3499 阅读 · 1 评论 -
SpringCloud五大组件之分布式配置中心-SpringCloudConfig
1.为什么需要分布式配置中心?第一 比如说我们现在有商品模块,订单模块,购物车模块,物流模块,这些模块连接Redis,MangoDB等等是同一套,也就意味着连接Redis,MangoDB的配置文件是一模一样的,假如说我们以后要更改就必须每个模块的配置文件都要改,这明显是不合理的且繁琐的工作,第二 我们传统的项目都是修改了配置就要重启系统,这也是不可取的,所以分布式配置应运而生。2.概况讲分布式配置中心主要解决了下面两点:1、抽取出各模块公共的部分,做到一处修改各处生效的目标2、做到系统的原创 2021-12-09 22:45:34 · 824 阅读 · 1 评论 -
SpringCloud主流组件之Feign
业务流程比较复杂不建议使用FeignFeign是对服务端和客户端通用接口的封装,让代码可以复用做到统一管理。使用1.jar包导入 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId>原创 2021-12-09 20:26:59 · 481 阅读 · 0 评论 -
SpringCloud之 idea 一键启动所有模块
1.打开workspace.xml文件,搜索RunDashboard标签,添加下图标签<component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationType" /> </set> </opti.原创 2021-12-09 16:15:26 · 1523 阅读 · 1 评论 -
SpringCloud五大组件之断路器-Hystrix
为什么要使用断路器-Hystrix背景雪崩是系统中的蝴蝶效应导致其发生的原因多种多样,有不合理的容量设计,或者是高并发 下某一个方法响应变慢,亦或是某台机器的资源耗尽。从源头上我们无法完全杜绝雪崩源头 的发生,但是雪崩的根本原因来源于服务之间的强依赖,所以我们可以提前评估。当整个微 服务系统中,有一个节点出现异常情况,就有可能在高并发的情况下出现雪崩,导致调用它 的上游系统出现响应延迟,响应延迟就会导致 tomcat 连接本耗尽,导致该服务节点不能正 常的接收到正常的情况,这就是服务雪崩行为原创 2021-12-08 21:35:16 · 510 阅读 · 0 评论 -
SpringCloud五大组件之服务调用与负载均衡-Ribbon
Ribbon 是一个独立的组件,是用来进行远程接口调用的我们这里不需要添加Ribbon的依赖,因为Eureka Client包里面帮我们引入Ribbon相关的依赖,代码如下:<!-- Pom 的 jar 包依赖,其他都跟 eureka 服务端是一样的,只是服务提供方要把服务注册到 eureka服务端,所以服务提供方就是 eureka 的客户端,所以需要导入 eureka 客户端的启动器。--> <dependency> <groupId原创 2021-12-08 11:04:20 · 656 阅读 · 0 评论 -
SpringCloud五大组件之注册中心-Eureka
一、架构演变过程我们最先接触的单体架构,整个系统就只有一个工程,打包往往是打成了 war 包,然后部署 到单一 tomcat 上面,这种就是单体架构,如图:假如系统按照功能划分了,商品模块,购物车模块,订单模块,物流模块等等模块。那么所 有模块都会在一个工程里面,这就是单体架构。单体架构优点1、结构简单,部署简单2、所需的硬件资源少3、节省成本缺点 1、版本迭代慢,往往改动一个代码会影响全局2、不能满足一定并发的访问3、代码维护困难,所有代码在一个工程里面,存在被..原创 2021-12-06 22:35:32 · 717 阅读 · 0 评论