logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Kafka与消息队列的比较

消息队列(Message Queues)是一种允许分布式系统和应用异步通信的服务。异步通信意味着消息发送者在等待接收者接收消息之前不需要等待,这可以提高性能和可扩展性,使应用能够并行处理消息。消息队列通过将消息存储在队列中来工作。生产者(也称为发布者)可以向队列添加消息,消费者(也称为接收者)可以从队列中获取和处理消息。每条消息一次只能由一个消费者处理。消息队列可以用于提高流程效率,帮助开发人员优

#kafka#java#分布式 +1
Kafka如何实现精确一次语义

精确一次交付保证是关于消息传递最具争议性的话题之一,因此也是最复杂的任务之一。然而,几年前,Kafka团队宣布他们实现了这一目标,让我们深入研究一下他们的实现方式以及存在的限制。首先,值得定义一下这些交付语义是什么。通常有三种使用的语义:•至少一次:系统保证消息被接收,但不能保证只接收一次。•至多一次:系统不保证消息被接收,但如果接收到,则只接收一次。•精确一次:综合了前两种保证,即消息被接收且只

#kafka#java#分布式 +2
提升Raft以加速分布式键值存储

介绍Raft是当前广泛使用的共识算法。流行的系统,如Kafka、Cockroach DB、MongoDB、Neo4j、Splunk等,都使用Raft来实现共识。系统要么是最终一致性的,要么是强一致性的。线性一致性是一致性模型中最强大的,但实现它可能很耗时。键值数据库出现在市场上,以避免SQL数据库的复杂性并提供横向扩展性。这些数据库主要提供两种操作:get(key)和put(key, value)

#分布式
面试最常被问的 Java 后端题

一、Java 基础篇1. Object 有哪些常用方法?大致说一下每个方法的含义java.lang.Object下面是对应方法的含义。clone 方法保护方法,实现对象的浅复制,只有实现了 Cloneable 接口才可以调用该方法,否则抛出 CloneNotSupportedException 异常,深拷贝也需要实现 Cloneable,同时其成员变量为引用类型的也需要实现 Cloneable,然

#java#经验分享#分布式 +1
​理解 Spark 写入 API 的数据处理能力

这张图解释了 Apache Spark DataFrame 写入 API 的流程。它始于对写入数据的 API 调用,支持的格式包括 CSV、JSON 或 Parquet。流程根据选择的保存模式(追加、覆盖、忽略或报错)而分岔。每种模式执行必要的检查和操作,例如分区和数据写入处理。流程以数据的最终写入或错误结束,取决于这些检查和操作的结果。Apache Spark 是一个开源的分布式计算系统,提供了

#spark#大数据#分布式
探索Git的复杂性:工作流程、不可变性和Merge VS Rebase

Git是如何工作的?下面的图示展示了Git的工作流程。Git是一种分布式版本控制系统。每个开发者都维护着主仓库的本地副本,对其进行编辑和提交。提交非常快,因为该操作不会与远程仓库进行交互。如果远程仓库崩溃,可以从本地仓库恢复文件。Git工作流程和不可变性这里的不可变性意味着一旦数据被写入Git,就不能被更改。修改只会创建新的数据版本,旧数据保持不变。在需要高度可审计性的系统中,如金融系统和版本控制

#git#github
微服务的颗粒度难题:找到合适的微服务大小

前言在微服务架构风格中,微服务通常按照单一职责原则(SRP)设计,作为一个单独部署的软件单元,专注于做一件事情。我们作为开发人员往往倾向于尽可能将服务设计得更小,却没有考虑为什么要这样做!关于服务颗粒度的主观性,即什么是单一职责,是我们作为开发人员在微服务颗粒度方面犯错的地方。为了克服开发团队在确定微服务大小时面临的困境,理解颗粒度的驱动因素是至关重要的。颗粒度在微服务中,有两个概念——模块化,涉

#微服务#运维#java +2
使用 Spring Boot AOP 实现 Web 日志处理和分布式锁

AOP 的全称为 Aspect Oriented Programming,译为面向切面编程。实际上 AOP 就是通过预编译和运行期动态代理实现程序功能的统一维护的一种技术。在不同的技术栈...

#分布式#数据库#redis +2
到底了