![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring-cloud基础架构
文章平均质量分 66
spring-cloud基础架构
爱上编程2705
这个作者很懒,什么都没留下…
展开
-
zuul的性能调优
1、1.x 同步阻塞,编程模型简单,社区成熟,通过调整参数能满足生产性能需求2、2.x 异步非阻塞,相对编程模型复杂,刚出来也许还有些坑(bug),追求更好性能可以尝试当高并发情况下,服务网关服务器(Zuul)可通过以下方法提高支持并发的能力。1、调整Zuul组件参数2、支持Zuul高可用,多实例3、选择异步、非阻塞版本。原创 2024-03-29 11:21:58 · 1012 阅读 · 0 评论 -
Spring Security Oauth资源服务器并发情况下获取用户信息错乱
在该子类中,可以看出setAccessToken并没有做并发控制,简而言之是当A用户设置了token准备访问url获取用户信息时候,B用户进来修改了该值变为Btoken,然而A用户线程又获取到CPU,开始访问了url链接,拿着已被修改为B的token 值获取了 B的用户信息。当用户A与用户B分别持有一个合法的令牌token 访问同一个资源服务器时,会间接性的出现,用户A拿着A的合法token 却获取到了用户B的用户信息,B用户相反而之。在这里出现并发问题的主要是在getmap这个函数。原创 2024-02-29 09:53:04 · 1071 阅读 · 1 评论 -
手写一个starter
Data/*** 是否开启日志*//*** 平台:不同服务使用的区分,默认取 spring.application.name*/@ConfigurationProperties:该注解和@Value 注解作用类似,用于获取配置文件中属性定义并绑定到Java Bean 或者属性中;换句话来说就是将配置文件中的配置封装到JAVA 实体对象,方便使用和管理。这边我们定义两个属性,一个是是否开启日志的开关,一个是标识平台的名称。/***/原创 2023-11-14 16:50:04 · 127 阅读 · 0 评论 -
java修改请求头信息
解决问题:我们开发中遇到的问题,h5不需要登录以游客模式查看信息,但是接口过多,而且逻辑也比较复杂,所以我们在后端指定接口伪装一个内部账号登录。原创 2023-05-29 18:27:10 · 388 阅读 · 0 评论 -
在linux中安装mysql
修改mysql的密码。原创 2023-05-09 16:56:30 · 84 阅读 · 0 评论 -
rabbitmq在linux中的安装
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。查看自己的virtual hosts中的queues, exchanges 和 bindings。查看、创建和删除自己的virtual hosts所属的policies和parameters。查看和关闭自己的channels 和 connections。查看真正的关于所有virtual hosts的全局的统计信息。查看其他用户的connections和channels。原创 2023-05-09 15:17:36 · 575 阅读 · 0 评论 -
sharding-jdbc读写分离
sharding-jdbc读写分离原创 2022-08-01 11:35:52 · 294 阅读 · 0 评论 -
swagger接口文档的简单配置
swagger接口文档的简单配置jar包的引入 <properties> <java.version>1.8</java.version> <springfox-swagger.version>2.8.0</springfox-swagger.version> <swagger-bootstrap-ui.version>1.7.2</swagger-bootstrap-ui.version> &l原创 2021-04-14 14:31:12 · 1074 阅读 · 4 评论 -
xxl-job在项目中集成与使用
xxl-job在项目中集成与使用1、Gitee代码地址:https://gitee.com/lilinchun/xxl-job-master2、导入sql语句3、修改数据库地址### xxl-job, datasourcespring.datasource.url=jdbc:mysql://10.10.0.53:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTim原创 2022-05-10 15:03:17 · 2632 阅读 · 0 评论 -
SpringBoot 如何统计、监控 SQL运行情况
SpringBoot 如何统计、监控 SQL运行情况Druid 是Java语言中最好的数据库连接池。虽然 HikariCP 的速度稍快,但是,Druid能够提供强大的监控和扩展功能,也是阿里巴巴的开源项目。1添加依赖pom.xml<!-- 阿里巴巴的druid数据源 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-s原创 2022-03-10 19:01:49 · 1253 阅读 · 0 评论 -
过滤与拦截——>实现日志的打印
过滤与拦截过滤代码新建一个 TimeFilter 实现 Filterpackage com.llcbenwu.filter;import com.llcbenwu.exception.BusinessException;import org.springframework.stereotype.Component;import javax.servlet.*;import java.io.IOException;@Componentpublic class TimeFilter i原创 2022-03-07 19:03:48 · 661 阅读 · 0 评论 -
切面编程AOP
切面编程动态代理导入jar包 <!--aop--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>建立切面package com.example.demo.anncoation;import ja原创 2021-04-25 16:05:49 · 300 阅读 · 0 评论 -
rabbitMQ延时队列(TTL+DLX)
TTLTTL全称Time To Live (存活时间/过期时间)。当消息到达存活时间后,还没有被消费,会被自动清理。RabbitMQ可以对消息设置过期时间,也可以对整个队列(Queue)设置过期时间例如下了订单为这个订单设置一个过期时间,当超过这个过期时间这个订订单就失效了设置过期时间方式一:声明队列的时候设置为队列设置统一过期时间,时间范围内没有消费消息,消息将自动删除(消息从进入队列开始计算)代码示例:/** * Expiration字段以微秒为单位表示TTL值,且与x原创 2021-06-10 15:33:07 · 469 阅读 · 0 评论 -
RabbitMQ高级特性
RabbitMQ高级特性1.rabbitmq整个消息投递的路径为:producer–>rabbitmq broker —>exchange—>queue---->consumerRabbitMq为我们提供了两种方式用来控制消息的投递可靠性confirm 确认模式消息从producer到exchange则会返回一个confirmCallback.1.代码示例 /** * 路由发送消息 * @param message * @return原创 2021-06-07 20:28:42 · 419 阅读 · 3 评论 -
RabbitMQ应用问题
消息可靠性保障——消息补偿消息幂等性保障——乐观锁机制幂等性指一次和多次请求某一个资源,对于资源本身应该具有相同的结果,也就是说,其任意多次执行对资源本身所产生的的影响均与一次执行的影响相同。在MQ中指,消费多条相同的消息,得到与消息该消息一次相同的结果。...原创 2021-06-10 16:42:06 · 101 阅读 · 0 评论 -
后端解决跨域的问题
后端解决跨域的问题package com.itllc.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.serv原创 2021-09-16 16:32:25 · 261 阅读 · 0 评论 -
Feign的配置和使用
Feign的配置和使用引入jar包(配置类) <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>测试调用接口package com.itllc.api;import com.itllc.api原创 2021-07-28 15:05:14 · 2759 阅读 · 0 评论 -
项目集成普通模块Oauth2.0
Oauth2.0在项目中的配置及使用现在分三个模块对Oauth2.0进行配置模块一 认证模块导入jar包 <dependencies> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> <version>2.5.原创 2021-07-24 16:48:33 · 239 阅读 · 0 评论 -
Oauth2.0的认证登录
Oauth2.0的认证登录介绍Oauth 2中的登录地址localhost:8998/oauth/tokengrant_type=password&client_id=system&client_secret=system&scope=app&username=admin&password=admin登录的请求接口在org.springframework.security.oauth2.provider.endpoint.TokenEndpoint中登录的原创 2021-07-17 18:15:05 · 1707 阅读 · 0 评论 -
微服务中网关的配置及使用
路由规则:Spring Cloud Gateway支持多种路由规则,包括基于URI、Path、Query String等路由规则,而Zuul则支持多种过滤器和插件,可以自定义路由规则。总的来说,Spring Cloud Gateway在小型项目中具有更好的性能表现,而Zuul在处理大量请求时表现更好。监控和调优:Spring Cloud Gateway提供了丰富的监控和调优功能,可以帮助开发者更好地了解应用程序的性能瓶颈。注意routes的下的服务发现必须和nacos中的服务发现名称一样。原创 2021-07-07 15:21:10 · 1796 阅读 · 0 评论 -
sentinel的介绍与应用
sentinel的基本介绍Sentinel 是什么随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。sentinel的下载地址:https://github.com/alibaba/Sentinel/releases在windows中运行命令 :java -jar sentinel-dashboard-1.6.0.jar,来启动,这样就是默原创 2021-07-02 16:02:35 · 429 阅读 · 0 评论