加载中
5种分布式事务最终一致性解决方案,一次性说清!

分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,尤其在微服务架构中,几乎可以说是无法避免,因此也常常被认为是微服务落地的最大阻碍。 随着系统...

ElasticSearch 海量数据查询性能优化

ES 接收到查询请求后,会转发给所有相关的 Shard 分片,每个 Shard 在自己这块儿进行搜索,各自的结果汇总后再返回给客户端。 这个过程有2个核心性能关键点: Shard 执行查询计算的耗时 Shar...

图解 Elasticsearch 写入流程

整体上看,Client 向 ES 发送写请求,es 接收数据,写入磁盘文件,返回响应给 Client 写入成功,这样就完成了。 然后拉近看一下,看看内部都做了什么工作。 2. ES 整体结构 ES 集群里面有多个...

图解 Elestricsearch 写入流程

整体上看,Client 向 ES 发送写请求,es 接收数据,写入磁盘文件,返回响应给 Client 写入成功,这样就完成了。 然后拉近看一下,看看内部都做了什么工作。 2. ES 整体结构 ES 集群里面有多个...

Kafka 不再需要 ZooKeeper

Kafka 2.8.0 出炉了,此版本有一项重大改进: 实现了 Raft 分布式一致性机制,意味着可以脱离 ZooKeeper 独立运行了。 ZooKeeper 在 Kafka 中扮演着重要的角色,用来存储 Kafka 的元数据。 ...

细说 Kafka Partition 分区

Partition(分区)是 Kafka 的核心角色,对于 Kafka 的存储结构、消息的生产消费方式都至关重要。 掌握好 Partition 就可以更快的理解 Kafka。本文会讲解 Partition 的概念、结构,以及行为方...

微服务设计原则

良好的微服务设计可以使后期的升级维护更加轻松,否则将会令人非常头疼。 下面几个设计原则强烈建议采用: 单一职责 高内聚 低耦合 隐藏内部实现 避免代码库共享 避免数据过度暴露 避免数据库...

05/08 09:06
0
RabbitMQ、Kafka、RocketMQ 是如何实现高可用的?

本文从高可用的角度观察一下 RabbitMQ、Kafka、RocketMQ,看看它们各自的实现思路。 1. RabbitMQ RabbitMQ 有 3 种部署模式: 单机模式 普通集群模式 镜像集群模式 单机模式与高可用完全没关...

3 个主流 Java 微服务框架

本文我们简单聊聊当下主流的 3 个 Java 微服务框架,看看各自的特点。 1. Spring and Spring Boot Spring Boot 在 Java 微服务领域绝对是一哥,毫无争议,据说已经占据 57% 的市场份额。 Sp...

如何设计实现一个通用的微服务架构?

前段时间一个初创公司的老板带着他们的技术负责人来做技术交流,他们列了一长串问题,有微服务技术选型方面的,有技术难点方面的。这些问题如果不能快速解决,那么就会影响产品质量、上线进度...

消息队列把消息弄丢了怎么办?

消息队列会丢失消息吗? 答案是肯定的,所以对于业务严谨的数据,我们要确保其在消息队列中的安全,不能丢。 要想解决不丢的问题,首先要弄清楚 消息是怎么丢的呢? 丢消息的关键点有3个: ...

架构模式 CQRS

本文我们聊聊 CQRS 这种架构模式。 CQRS 是用来解决什么问题的? 我们先看一个场景。 系统中的数据模型是按照实体以及关系进行设计的是吧。 例如电商系统,包含订单、用户、商品等等数据。 ...

消息队列如何确保消息的有序性?

要想实现消息有序,需要从 Producer 和 Consumer 两方面来考虑。 首先,Producer 生产消息的时候就必须要有序。 然后,Consumer 消费的时候,也要按顺序来,不能乱。 Producer 有序 像 Rabb...

消息队列产生严重消息堆积怎么处理?

1. 为什么产生消息堆积? 大多是因为 Consumer 出问题了,没有及时发现,或者故障恢复需要较长的时间,导致大量消息积压在 MQ 中。 2. 消息堆积会有什么后果呢? 2.1 消息被丢弃 例如 Rabbit...

消息队列产生严重消息堆积怎么处理?

为什么产生消息堆积? 大多是因为 Consumer 出问题了,没有及时发现,或者故障恢复需要较长的时间,导致大量消息积压在 MQ 中。 2. 消息堆积会有什么后果呢? 2.1 消息被丢弃 例如 RabbitMQ...

消息队列如何确保消息的有序性?

要想实现消息有序,需要从 Producer 和 Consumer 两方面来考虑。 首先,Producer 生产消息的时候就必须要有序。 然后,Consumer 消费的时候,也要按顺序来,不能乱。 Producer 有序 像 Rabb...

05/15 09:36
24
架构模式 CQRS

本文我们聊聊 CQRS 这种架构模式。 CQRS 是用来解决什么问题的? 我们先看一个场景。 系统中的数据模型是按照实体以及关系进行设计的是吧。 例如电商系统,包含订单、用户、商品等等数据。 ...

消息队列把消息弄丢了怎么办?

消息队列会丢失消息吗? 答案是肯定的,所以对于业务严谨的数据,我们要确保其在消息队列中的安全,不能丢。 要想解决不丢的问题,首先要弄清楚 消息是怎么丢的呢? 丢消息的关键点有3个: ...

05/13 09:29
0
RabbitMQ、Kafka、RocketMQ 是如何实现高可用的?

本文从高可用的角度观察一下 RabbitMQ、Kafka、RocketMQ,看看它们各自的实现思路。 1. RabbitMQ RabbitMQ 有 3 种部署模式: 单机模式 普通集群模式 镜像集群模式 单机模式与高可用完全没关...

细说 Kafka Partition 分区

Partition(分区)是 Kafka 的核心角色,对于 Kafka 的存储结构、消息的生产消费方式都至关重要。 掌握好 Partition 就可以更快的理解 Kafka。本文会讲解 Partition 的概念、结构,以及行为方...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部