后端
未读
分布式链路追踪Micrometer
1. 背景 在分布式与微服务场景下,我们需要解决如下问题: 在大规模分布式与微服务集群下,如何实时观测系统的整体调用链路情况。 在大规模分布式与微服务集群下,如何快速发现并定位到问题。 在大规模分布式与微服务集群下,如何尽可能精确的判断故障对系统的影响范围与影响程度。 在大规模分布式与微服务集群下,
后端
未读
断路器CircuitBreaker
1.简介 Circuit Breaker是一套规范和接口,落地实现者是Resilience4J Resilience4i 是一个专为函数式编程设计的轻量级容错库。Resilience4i 提供高阶函数(装饰器),以通过断路器、速率 限制器、重试或隔板增强任何功能接口、lambda 表达式或方法引用。
后端
未读
服务接口调用OpenFeign
1.简介 OpenFeign基本上就是当前微服务之间调用的事实标准,只需创建一个Rest接口并在该接口上添加注解@FegnCLent即可 2.配置OpenFeign pom <!--openfeign-->
<dependency>
<groupId>org.springframework.
后端
未读
服务注册与发现的解决方案Consul
1.简介 Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。 提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案
后端
未读
RabbitMQ其他知识
1.幂等性 1.1 概念 用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱
后端
未读
RabbitMQ之确认发布2
1.发布确认高级示例 在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢?特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,
后端
未读
RabbitMQ之延迟队列
1.延迟队列概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列。 2.延迟队列使用场景 1.订单在十分钟之内未支付则自动取消 2.新创建的店铺,如果在十天内都没
后端
未读
RabbitMQ之死信队列
1.死信 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费
后端
未读
RabbitMQ之交换机
1.交换机(Exchanges ) 生产者生产的消息从不会直接发送到队列,只能将消息发送到交换机,消息能路由发送到队列中其实是由 routingKey(bindingkey)绑定 key 指定的,借由交换机来应对更多种对消息处理的情形,常用的交换机类型有如下几种 名称 类型 直接(发布订阅模式) d
后端
未读
RabbitMQ之确认发布1
1.单个确认发布 即发布一次确认一次,由于线程阻塞效率较低,但数据不会丢失 public static void publishMessageIndividually() throws Exception {
try (Channel channel = RabbitMqUtils.
后端
未读
RabbitMQ之Work Queues
1.轮询分发消息 一个消费者线程可能无法处理一个生产者线程所发出的大量数据,我们可以采用多消费者线程+轮询策略 1.1抽取工具类 public class RabbitMqUtils {
static String host = "";
static String User = ""
后端
未读
RabbitMQ的单体部署以及入门案例
一.RabbitMQ安装 1.介绍 2.安装 1.官网地址 https://www.rabbitmq.com/download.html 2.安装文件 //安装erlang环境
rpm -ivh erlang-21.3-1.el7.x86_64.rpm
yum install socat -y
rp
后端
未读
Docker的基本使用
一.docker安装 1.卸载旧docker yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-lo
后端
未读
Redis基本数据类型及命令
一,redis介绍 1.基本数据类型 关键字 类型 String 字符串 List 列表 Hash 哈希表 Set 集合 ZSet 有序集合 GEO 地理空间 HyperLogLog 基数统计 bitmap 位图 bitfield 位域 St