- 博客(17)
- 收藏
- 关注
原创 SpringCloud(九)【MQ服务异步通信】
发布订阅模式与之前案例的区别就是允许将同一消息发送给多个消费者。TopicExchange与DirectExchange类似,区别在于routingKey必须是多个单词的列表,并且以。实际结果:消费者1和消费者2的消息处理数量一样多,且消费者2没有在一秒内处理完成。预期:消费者1在一秒内处理完多的消息,消费者2在一秒内处理的消息不如消费者2多。Work queue,工作队列,可以提高消息处理速度,避免队列消息堆积。注意:exchange负责消息路由,而不是存储,路由失败则消息丢失。原因:存在消息预取机制。
2024-08-24 20:04:32
512
1
原创 SpringCloud(八)【Docker】
镜像结构镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。Dockerfile语法Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。指令说明不知道FROM指定基础镜像ENV设置环境变量,可在指令后使用COPY拷贝本地文件到镜像的指定目录RUN执行Linux的shell命令,一般是安装过程的指令EXPOSE指定容器运行时监听的端口,是给镜像使用者看的。
2024-08-18 22:42:25
900
原创 syscall:getsockopt(..) failed: Connection refused: /192.168.255.4:28094
微服务springCloud。
2024-07-19 14:39:37
611
原创 【笔记】表格处理(一)Apache POI
Apacche poi文档Apache POI 是一个强大的 Java 库,用于读写 Microsoft Office 文件。它特别擅长处理 Excel 文件(HSSF 和 XSSF)。
2024-06-22 17:22:14
737
原创 SpringCloud(七)【Gateway网关】
请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器,执行顺序如下。GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理。全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与GatewayFilter的作用一样。下配置的过滤器已经被注释,但是请求的时候仍然添加了header,默认过滤器的配置生效。默认过滤器和路由过滤器的配置方式是一样的只是作用范围不同,本质相同,都是。
2024-02-24 20:30:41
1413
2
原创 实现防止接口重复访问-Java-SpringBoot
在上面的代码中,我们假设从请求头中获取了userId,然后将其与接口路径拼接成Redis中的键,用于存储该用户上次访问该接口的时间。在preHandle方法中,首先从Redis中获取该用户上次访问该接口的时间,如果时间间隔小于5分钟,则返回错误信息;否则,将当前时间存储到Redis中,并放行该请求。在拦截器中可以从Redis中获取该用户上次访问该接口的时间,并计算与当前时间的时间间隔。在上面的代码中,我们假设需要限制访问时间间隔的接口都以“api”为前缀,因此只需要对以“api”开头的请求进行拦截即可。
2024-02-22 22:34:36
1108
原创 SpringCloud(五)【Nacos】
由于之前新建了一个名为“dev”的命名空间,在bootstrap.yml时,也需要配置命名空间,且application.yml的命名空间配置需保留,否则实例会到public下。端口8081按照dev环境启动,端口8082按照test环境启动,由于没有test环境配置,所以8082端口启动的接口获取的到的配置中。经过(一),已经将部分配置交给Nacos来统一管理,但是此时更新Nacos配置信息,并没有实现配置的热更新。如果将一个服务实例的权重调整为0,则不会访问该实例,此时可以对服务进行“平滑升级”。
2024-02-18 21:57:51
1902
1
原创 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test)
新接手别人的模块,要更改部分业务/新拉下来代码,打包运行的时候报错。
2023-10-19 15:31:02
207
原创 SpringCloud(四)【Ribbon】
Ribbon默认采用懒加载的方式,所以首次访问的时候会比较耗时,我们也可以通过配置yml文件来将加载方式改为饥饿加载。Ribbon的负载均衡规则是通过一个叫做IRule的接口来定义的,每一个子接口都是一个规则。可以看到服务启动后直接加载(饥饿加载),没有等到使用的时候再加载(懒加载)。,自动实现负载均衡,接下来就要讨论它是如何实现负载均衡的。上一篇提到在注入RestTamplate的时候使用了注解。重新启动测试后和前一种方式一样,不截图了。2. 通过yaml文件进行配置。
2023-10-15 18:20:43
77
原创 SpringCloud(三)【Eureka注册中心】
Spring Cloud 将 Eureka 与 Netflix 中的其他开源服务组件(例如 Ribbon、Feign 以及 Hystrix 等)一起整合进 Spring Cloud Netflix 模块中,整合后的组件全称为 Spring Cloud Netflix Eureka。Eureka 是 Spring Cloud Netflix 模块的子模块,它是 Spring Cloud 对 Netflix Eureka 的二次封装,主要负责 Spring Cloud 的。消费者该如何获取服务提供者具体信息?
2023-10-15 00:05:32
126
原创 SpringCloud(二)【单体服务及远程调用】
Order中包含User的信息,Order服务的数据库表中只存储了userId字段,如果这个时候我们分别启动两个服务,来看看效果。可以看到8080端口的order并未返回user的详细信息。如果要获取user的详细信息则需要实现两个服务之间的通信。可以看到user已经有了详细信息。重新启动服务查看效果。
2023-10-14 21:38:20
138
原创 SpringCloud(一)【微服务介绍】
SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件。微服务结构微服务的技术对比Dubbo注册中心远程服务调用Dubbo协议Feign(http协议)配置中心无服务网关无服务监控与保护dubbo-admin,功能弱HystixSentinel。
2023-10-12 22:11:09
63
原创 SpringBoot后端接口访问限流
从上游系统接数据,实现定时更新数据的同时可在本系统进行点击更新。由于数据量较大,需要在后台前端请求进行限流。找了很多种方法,记录一下过程。
2023-08-05 18:34:02
285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人