跳转到主要内容

【开源软件】最好的开源软件-2022-第21名 Redpanda

bos 2022 redpanda rev

Redpanda是主要用C++编写的Kafka的插件替代品,它使用Seastar异步框架和Raft共识算法作为分布式日志。它可以将平均延迟降低10倍,Kafka事务速度提高6倍,同时运行的资源更少。Redpanda不需要使用ZooKeeper或JVM,其源代码可在GitHub上获得商业源代码许可证(BSL)。

即使在C++中重新实现之外,Redpanda也使用异步、无共享、每个核心线程的模型,无锁定、最小上下文切换和线程本地内存访问。Redpanda通过内联WebAssembly转换和地理复制的分层存储/阴影索引,超越了Kafka协议,进入了流媒体的未来。

——马丁·海勒

【应用安全】与Spring Boot、Kafka、Vault和Kubernetes的安全微服务间通信——第2部分:设置Kubernete和Kafka

链接

  • 第1部分:介绍和架构
  • 第2部分:建立Kubernetes和Kafka<--本文
  • 第3部分:设置Vault
  • 第4部分:建立微型服务
  • 第5部分:部署和测试


要求

目录结构

我们将使用的目录结构如下:

  • $PROJECTS
  • —|—DepositAccount
  • —|—GatewayKafka
  • —|—Transaction
  • —|—Registry
  • —|—k8s
  • —|—kafkatools

软件

这些是入门所需的软件

  • Java语言
  • OpenSSL

设置Kubernetes和Helm

在本教程中,我们将使用Docker Desktop及其Kubernetes引擎。

【应用安全】与Spring Boot、Kafka、Vault和Kubernetes的安全微服务间通信——第1部分:简介和架构

链接

  • 第1部分:介绍和体系结构<--本文
  • 第2部分:建立Kubernetes和Kafka
  • 第3部分:设置Vault
  • 第4部分:建立微型服务
  • 第5部分:部署和测试


介绍

微服务是一种设计模式,其中大型单片应用程序被分离为更小、更易于管理的组件。这些组件可以协同工作以解决特定的业务问题。

为此,组件需要相互通信。组件之间的通信可以通过多种方式实现:RESTful web服务、SOAP web服务、RPC、消息传递等。消息传递(发布/订阅)的一个流行实现是Kafka。

与大多数消息传递系统相比,Kafka具有更好的吞吐量、内置分区、复制和容错能力,这使其成为大规模消息处理应用程序的一个很好的解决方案。

发布订阅

Kafka遵循发布-订阅模式。这种模式就像一个公告板。例如,如果爱丽丝在公告板上张贴公告。鲍勃和查尔斯都能读。他们可以同时阅读,或者一个接一个地阅读。鲍勃今天可以读黑板,查尔斯明天可以读。爱丽丝的公告将一直保留在公告板上,直到过期为止。