摘要: 今天看一篇英文文章时,有几句话不太理解,就用 Google 翻译和 ChatGPT 做了一下对比,发现 ChatGPT 真的更牛。 ## 第一句 > Confirmation Vs Curiosity 先用 Google 翻译,结果是: ``` 确认与好奇 ``` 再看 ChatGPT 的翻译结果: 阅读全文
posted @ 2023-05-23 18:51 AI科技界面 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 整体上看,Client 向 ES 发送写请求,es 接收数据,写入磁盘文件,返回响应给 Client 写入成功,这样就完成了。 然后拉近看一下,看看内部都做了什么工作。 2. ES 整体结构 ES 集群里面有多个 Server 节点,一个 ES Index 有多个 shard 分片,每个 shard 阅读全文
posted @ 2021-05-18 09:59 AI科技界面 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么产生消息堆积? 大多是因为 Consumer 出问题了,没有及时发现,或者故障恢复需要较长的时间,导致大量消息积压在 MQ 中。 2. 消息堆积会有什么后果呢? 2.1 消息被丢弃 例如 RabbitMQ 有一个消息过期时间 TTL,过期的消息会被扔掉,这样消息就彻底没有了。 2.2 磁 阅读全文
posted @ 2021-05-17 09:23 AI科技界面 阅读(1527) 评论(0) 推荐(0) 编辑
摘要: 要想实现消息有序,需要从 Producer 和 Consumer 两方面来考虑。 首先,Producer 生产消息的时候就必须要有序。 然后,Consumer 消费的时候,也要按顺序来,不能乱。 Producer 有序 像 RabbitMQ 这类普通的消息系统,队列结构简单,Producer 向队列 阅读全文
posted @ 2021-05-15 09:34 AI科技界面 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 本文我们聊聊 CQRS 这种架构模式。 CQRS 是用来解决什么问题的? 我们先看一个场景。 系统中的数据模型是按照实体以及关系进行设计的是吧。 例如电商系统,包含订单、用户、商品等等数据。 数据的变更操作、查询操作,都是基于这一套数据模型的。 但是,实际场景下的查询需求是多种多样。 例如这3类人群 阅读全文
posted @ 2021-05-14 09:02 AI科技界面 阅读(3185) 评论(0) 推荐(0) 编辑
摘要: 消息队列会丢失消息吗? 答案是肯定的,所以对于业务严谨的数据,我们要确保其在消息队列中的安全,不能丢。 要想解决不丢的问题,首先要弄清楚 消息是怎么丢的呢? 丢消息的关键点有3个: Producer 发送消息的过程 消息队列的消息存储 Consumer 消费消息的过程 下面挨个看看都是怎么丢的,以及 阅读全文
posted @ 2021-05-13 09:26 AI科技界面 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 本文我们简单聊聊当下主流的 3 个 Java 微服务框架,看看各自的特点。 1. Spring and Spring Boot Spring Boot 在 Java 微服务领域绝对是一哥,毫无争议,据说已经占据 57% 的市场份额。 Spring Boot 这么牛是有道理的,它太成熟了,功能特性极其 阅读全文
posted @ 2021-05-11 10:23 AI科技界面 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: 本文从高可用的角度观察一下 RabbitMQ、Kafka、RocketMQ,看看它们各自的实现思路。 1. RabbitMQ RabbitMQ 有 3 种部署模式: 单机模式 普通集群模式 镜像集群模式 单机模式与高可用完全没关系,咱就不说了,直接看看这2种集群模式。 1.1 普通集群模式 某一个 阅读全文
posted @ 2021-05-10 12:16 AI科技界面 阅读(194) 评论(0) 推荐(0) 编辑
摘要: Kafka 是主流的消息流系统,其中的概念还是比较多的,下面通过图示的方式来梳理一下 Kafka 的核心概念,以便在我们的头脑中有一个清晰的认识。 基础 Kafka 是一套流处理系统,可以让后端服务轻松的相互沟通,是微服务架构中常用的组件。 生产者消费者 生产者服务 Producer 向 Kafka 阅读全文
posted @ 2021-05-09 22:58 AI科技界面 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Kafka 2.8.0 出炉了,此版本有一项重大改进: 实现了 Raft 分布式一致性机制,意味着可以脱离 ZooKeeper 独立运行了。 ZooKeeper 在 Kafka 中扮演着重要的角色,用来存储 Kafka 的元数据。 ZooKeeper 存储着 Partition 和 Broker 的 阅读全文
posted @ 2021-05-09 22:56 AI科技界面 阅读(6171) 评论(0) 推荐(0) 编辑