![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式
文章平均质量分 89
嗯mua.
这个作者很懒,什么都没留下…
展开
-
【SpringCloud】Gateway自定义RoutePredicateFactory路由断言工厂、GatewayFilterFactory路由过滤器工厂和全局过滤器
Gateway内置了十几种路由断言工厂,比如AfterBeforeBetween等,路由断言工厂的架构图如下:现在有一个需求:用户种类有两种,一种是普通用户,另一种是vip用户。只有vip用户才能够访问接口。Gateway提供的现有路由断言工厂都无法实现这个需求,那么就需要我们自定义一个路由断言工厂。Gateway内置了三十多种路由过滤器,架构如下:现在有一个需求:经过网关的请求必须携带一个参数,参数名必须为param。使用自定义路由过滤器实现。需求,定义一个全局过滤器统计所有接口的耗时。原创 2024-05-19 16:17:50 · 987 阅读 · 0 评论 -
【SpringCloud】Micrometer + ZipKin 分布式链路追踪
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。在大规模分布式与微服务集群下,如何实时观测系统的整体调用链路情况。在大规模分布式与微服务集群下,如何快速发现并定位到问题。在大规模分布式与微服务集群下,如何尽可能精确的判断故障对系统的影响范围与影响程度。原创 2024-04-28 01:08:27 · 909 阅读 · 2 评论 -
【SpringCloud】CircuitBreaker断路器之Resilience4J快速入门
断路器有三种状态,状态之间的转换有两种策略原创 2024-04-27 01:10:32 · 966 阅读 · 0 评论 -
【SpringCloud】OpenFeign高级特性
OpenFeign中 http client 如果不做特殊配置,OpenFeign默认使用JDK自带的 HttpURLConnection 发送HTTP请求,由于默认HttpURLConnection没有连接池、性能和效率比较低,所以我们采用阿帕奇的Http客户端替换掉它。如果A服务想让B服务的超时时间为2s,C服务想让B服务的超时时间为1s,那么全局配置就合适了,应该使用指定配置。OpenFeign 的重试机制默认是关闭的,需要手动开启。注意:如果全局配置和指定配置同时存在,则以指定配置为主。原创 2024-04-25 22:49:31 · 1063 阅读 · 1 评论 -
【SpringCloud】OpenFeign服务接口调用快速入门
点击跳转Feign是一个声明性web服务客户端。它使编写web服务客户端变得更容易。使用 Feign 创建一个接口并对其进行注释。它具有可插入的注释支持,包括Feign注释和 JAX-RS 注释。Feign 还支持可插拔编码器和解码器。Spring Cloud 添加了对 Spring MVC 注释的支持,以及对使用 Spring Web 中默认使用HttpMessageConverter 的支持。原创 2024-04-25 00:58:08 · 977 阅读 · 0 评论 -
【SpringCloud】LoadBalance负载均衡服务调用快速入门
点击跳转是由 SpringCloud 官方提供的一个开源的、简单易用的客户端负载均衡器,它包含在中用它来替换了以前的Ribbon组件。相比较于Ribbon,Spring Cloud LoadBalancer 不仅能够支持 RestTemplate,还支持 WebClient( WeClient 是 Spring Web Flux 中提供的功能,可以实现响应式异步请求)原创 2024-04-25 00:00:02 · 738 阅读 · 1 评论 -
【SpringCloud】Consul-服务注册中心及配置中心快速入门
首先要创建一个 Config 文件夹,然后创建各个子文件夹,最后的data文件就是配置文件。注意:如果输入结尾是’/',则当前为文件夹,下方的文本框会消失。注解即可开启动态刷新配置的功能,默认每隔55s刷新一次配置。启动SpringBoot服务,检查服务是否注册成功。为例,默认环境的配置如下,其他几个环境操作都相同。在测试之前,别忘了将。原创 2024-04-23 22:09:25 · 1125 阅读 · 0 评论 -
【SpirngCloud】分布式事务解决方案
XA 模式的优点是什么?事务的强一致性,满足ACID原则。常用数据库都支持,实现简单,并且没有代码侵入。XA 模式的缺点是什么?因为一阶段需要锁定数据库资源,等待二阶段结束才释放,性能较差。依赖关系型数据库实现事务简述AT模式和XA模式的最大区别是什么?XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源。XA模式依赖数据库机制实现回滚,AT模式利用数据快照实现数据回滚。XA模式强一致,AT模式最终一致AT模式的优点一阶段完成直接提交事务,释放数据库资源,性能比较好。原创 2023-07-24 19:03:32 · 1177 阅读 · 0 评论 -
【SpringCloud】学习笔记之分布式事务
本地事务,也就是传统的。原创 2022-12-25 20:57:48 · 386 阅读 · 0 评论 -
【RabbitMQ】学习笔记(二)RabbitMQ高级
每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目加载时配置:// 获取RabbitTemplate RabbitTemplate rabbitTemplate = applicationContext . getBean(RabbitTemplate . class);原创 2022-12-25 20:46:00 · 292 阅读 · 0 评论 -
【SpringCloud】学习笔记之微服务保护
在微服务中,服务间的调用关系错综复杂,一个微服务往往依赖于多个其他微服务。如图,如果服务提供者I发生了故障,那么当前的调用I的服务消费者因为依赖于服务I,因此也会被阻塞。此时,其他不依赖于服务I的业务似乎不会受到影响。但是,依赖服务I的业务请求被阻塞,用户不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞:服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致该服务的其他业务都不可用,那么当前服务也就不可用了。原创 2022-12-23 17:35:52 · 249 阅读 · 0 评论 -
【ElasticSearch】学习笔记(三)es的高级操作
默认的拼音分词器会将每个汉字单独分为拼音,但我们希望的是每个词条形成一组拼音,所以需要对拼音分词器做个性化定制,形成自定义分词器。**character filters:**在tokenizer之前对文本进行处理。例如删除字符,替换字符。**tokenizer:**将文本按照一定的规则切割成词条(term),例如keyword,就是不分词;还有ik_smart。**tokenizer filter:**将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等。原创 2022-12-16 23:37:43 · 350 阅读 · 0 评论 -
【ElasticSearch】学习笔记(二)DSL的基本用法进阶
match和multi_match的区别是什么?**match:**根据一个字段查询**multi_match:**根据多个字段查询,参与查询的字段越多,查询性能越低精确查询常见的有哪些?term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段range查询:根据数值范围查询,可以是数值、日期的范围query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件。原创 2022-12-15 23:38:49 · 449 阅读 · 0 评论 -
【ElasticSearch】学习笔记(一)es的基本操作
创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名修改索引库(添加新字段):PUT /索引库名/_mapping创建文档:POST /索引库名/_doc/id { json文档 }查询文档:GET /索引库名/_doc/id删除文档:DELETE /索引库名/_doc/id修改文档:全量修改:PUT /索引库名/_doc/文档id { json文档 }原创 2022-12-13 21:03:39 · 353 阅读 · 0 评论 -
【RabbitMQ】 学习笔记(一) RabbitMQ基础入门
①多个消费者绑定一个队列,队列中的一条消息只能被一个消费者处理。②可以通过设置prefetch来控制消费者预取的消息数量声明队列、交换机、绑定关系的Bean类型分别是什么?QueueBindingDirect根据RoutingKey将消息路由到指定队列Fanout将信息路由到所有与之绑定的队列如果对队列都拥有至少一个相同的RoutingKey,那么Direct的功能和Fanout相同。@QueueBinding 绑定关系@Queue 声明队列@Exchange 声明交换机。原创 2022-11-28 17:19:46 · 675 阅读 · 0 评论 -
【Docker】 Docker相关基本操作
常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。而要自定义镜像,就必须先了解镜像的结构才行。原创 2022-11-17 00:00:00 · 579 阅读 · 0 评论 -
【Docker】Docker的安装及配置
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。转载 2022-11-16 15:22:49 · 1605 阅读 · 0 评论 -
【SpringCloud】微服务常用组件的pom依赖及配置
编码方式yml配置方式使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplate类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解。原创 2022-11-13 00:21:47 · 1443 阅读 · 0 评论 -
SpringCloud学习笔记(一) Spring循环依赖问题
日志提示我可能存在循环依赖问题,可是我检查了一遍之后发现好像并没有循环依赖的问题(也有可能是我没发现),总之就是因为这个问题导致我这个。 在学习SpringCloud的过程中遇到一个问题,在使用feign编写失败降级逻辑之后重启服务调用方。 但是之前导致服务不能正常启动的真正原因我还不清楚,如果有了解原理的同学希望能够多多指教,评论。那么如何解决这一问题呢?看过弹幕里给出的两种解决方法。 只要采用上面两种方法中的任何一个,服务调用方都能够重新正常启动。原创 2022-09-01 22:37:18 · 1221 阅读 · 3 评论