![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务中间件
文章平均质量分 91
一条粉肠与蛋散
我写的代码,像诗一样优雅
展开
-
微服务中间件--MQ服务异步通信
可以去对应的GitHub页面下载3.8.9版本的插件,地址为https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/3.8.9这个对应RabbitMQ的3.8.5以上版本。当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。如果该队列配置了dead-letter-exchange属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为。原创 2023-08-24 11:59:00 · 2065 阅读 · 0 评论 -
微服务中间件--多级缓存
修改/usr/local/openresty/nginx/conf中的nginx.conf,添加 location ~ /api/item/(\d+)缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。,译意为水道/管道/沟渠,canal是阿里巴巴旗下的一款开源项目,基于Java开发。nginx的默认配置文件注释太多,影响后续我们的编辑,这里将nginx.conf中的注释部分删除,保留有效部分。原创 2023-08-24 11:47:38 · 1138 阅读 · 0 评论 -
微服务中间件--分布式搜索ES
elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。正向索引和倒排索引传统数据库(如MySQL)采用正向索引文档(document):每条数据就是一个文档词条(term):文档按照语义分成的词语文档。原创 2023-08-24 11:41:11 · 1862 阅读 · 0 评论 -
微服务中间件--MQ
MQ (MessageQueue),中文是消息队列,字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。原创 2023-08-24 02:53:06 · 1010 阅读 · 0 评论 -
微服务中间件--统一网关Gateway
创建AuthorizeFilter方法实现GlobalFilter接口:添加@Order注解或实现Ordered接口。原创 2023-08-23 20:03:11 · 1740 阅读 · 0 评论 -
微服务中间件--http客户端Feign
Feign运行自定义配置来覆盖默认配置,可以修改的配置如下:一般我们需要配置的就是日志级别。配置Feign日志有两种方式:方式一:配置文件方式全局生效:feign:client:config:default: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置loggerLevel: Full # 日志级别局部生效:feign:client:config:userservice: # 写服务名称,则是针对某个微服务的配置。原创 2023-08-23 20:00:15 · 1423 阅读 · 0 评论 -
微服务中间件--Nacos
Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。原创 2023-08-20 16:31:51 · 1331 阅读 · 0 评论 -
微服务中间件--Ribbon负载均衡
Ribbon默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长。2.(只针对某服务)配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改规则。1.发起请求http://userservice/user/1,Ribbon拦截该请求。2.Ribbon通过EurekaServer拉取userservice。3.EurekaServer返回服务列表给Ribbon做负载均衡。4.Ribbon轮询到端口。原创 2023-08-20 16:16:29 · 760 阅读 · 0 评论 -
微服务中间件-分布式缓存Redis
在Sentinel集群监管下的Redis主从集群,其节点会因为自动故障转移而发生变化,Redis的客户端必须感知这种变化,及时更新连接信息。利用cluster failover命令可以手动让集群中的某个master宕机,切换到执行cluster failover命令的这个slave节点,实现无感知的数据迁移。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点。原创 2023-08-18 18:25:27 · 1267 阅读 · 0 评论 -
微服务中间件--Eureka注册中心
1.每个服务启动时,将自动在eureka中注册服务信息 (每个服务每隔30秒发送一次的心跳续约,当某个服务没有发送时,eurekaServer将自动剔除该服务,保障消费者拉取到最新的服务) 1.在service项目引入spring-cloud-starter-netflix-eureka-client的依赖。2.当有服务需要某个服务信息时,通过eureka拉取相关的信息。服务拉取时基于服务名称获取服务列表,然后在对服务列表做负载均衡。3.运用负载均衡算法,在拉取的服务列表中挑选其中一个。原创 2023-08-18 11:49:58 · 1249 阅读 · 0 评论 -
微服务中间件--微服务保护
默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。如果要自定义异常时的返回结果,需要实现BlockExceptionHandler接口:异常说明限流异常热点参数限流的异常降级异常授权规则异常系统规则异常@Component@OverrideString msg = "未知异常";msg = "请求被限流";msg = "请求被热点参数限流";msg = "请求被降级";msg = "没有权限访问";原创 2023-08-17 17:09:20 · 1145 阅读 · 0 评论 -
微服务中间件--分布式事务
官网地址:http://seata.io/,其中的文档、播客中提供了大量的使用说明、源码分析。XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。重启微服务,现在微服务到底是连接tc的SH集群,还是tc的HZ集群,都统一由nacos的client.properties来决定了。原创 2023-08-17 15:57:11 · 1138 阅读 · 0 评论