springcloud
文章平均质量分 83
清辞sweet
这个作者很懒,什么都没留下…
展开
-
RabbitMQ服务异步通信
每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目加载时配置:@Slf4j@Override// 获取RabbitTemplate// 设置ReturnCallback// 投递失败,记录日志log.info("消息发送失败,应答码{},原因{},交换机{},路由键{},消息{}",// 如果有业务需要,可以重发消息});ConfirmCallback可以在发送消息时指定,因为每个业务处理confirm成功或失败的逻辑不一定相同。原创 2024-06-28 21:49:00 · 877 阅读 · 0 评论 -
分布式缓存--Redis主从与哨兵
单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。原创 2024-06-28 21:35:19 · 943 阅读 · 0 评论 -
分布式缓存--Redis持久化
单机的Redis存在四大问题:数据丢失问题,并发能力问题,存储能力问题和故障恢复问题。Redis有两种持久化方案:RDB持久化AOF持久化。原创 2024-06-28 21:22:30 · 712 阅读 · 0 评论 -
Sentinel解析与使用
我们知道微服务之间的调用可能因为服务链中的一个服务故障,引起整个链路都无法访问。原创 2024-06-28 21:11:30 · 1123 阅读 · 0 评论 -
微服务调用雪崩问题
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。原创 2024-06-27 21:22:23 · 248 阅读 · 0 评论 -
Feign远程调用使用详情以及优化
先看使用RestTemplate 发起远程调用的过程:RestTemplate需要使用服务的url进行调用,我们也可以看到他的url并不是IP+接口,但他是可以为我们进行转化的。在RestTemplate有LoadBalancerInterceptor, 这个类会在对RestTemplate的请求进行拦截,然后从Eureka根据服务id获取服务列表,随后利用负载均衡算法得到真实的服务地址信息,替换服务id。RestTemplate 发起远程调用代码可读性差,编程体验不统一参数复杂URL难以维护。原创 2024-06-27 15:02:16 · 384 阅读 · 0 评论 -
Nacos集群搭建
实际部署时,需要给做反向代理的nginx服务器设置一个域名,这样后续如果有服务器迁移nacos的客户端也无需更改配置.其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。主要是一些相关nacos的配置,将来集群搭建好后,向其中写入微服务配置会添加到数据库中。将nacos文件夹复制三份,分别命名为:nacos1、nacos2、nacos3。Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。然后修改application.properties文件,添加数据库配置。原创 2024-06-27 14:41:13 · 387 阅读 · 0 评论