Kafka基本概念

Kafka是什么?

Kafka是一个由Scala和Java编写的企业级的消息发布和订阅系统。最早由LinkedIn公司开发,最终开源到Apache软件基金会的项目。Kafka是一个分布式的,支持分区的,多副本,多订阅者且基于zookeeper协调的高吞吐量的分布式消息系统,也是一个分布式流式处理平台。它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛应用在应用解耦、异步处理、限流削峰和消息驱动等场景。

Kafka基本概念

Producer:生产者,负责将消息发送至Kafka中,支持消息的异步发送和批量发送。

Consumer:消费者,消费者连接到Kafka上并接收消息;

Maven项目运行测试类程序包不存在问题解决方法

简介

报错示例:
Error:(6, 29) java: 程序包rg.bouncycastle.asn1不存在
Error:(3, 32) java: 程序包org.springframework.boot不存在

实际依赖的jar包都能找到,也可以打包成功,但就是运行项目或测试用例时提示包不存在。

解决方法

方法一:勾选Delegate IDE build/run actions to Maven

将IDE构建/运行操作委托给Maven。

具体步骤:
在Idea编辑器中打开File--Settings--Build, Execution, Deployment--Build Tools--Maven--Runner页面,勾选Delegate IDE build/run actions to Maven即可。

此方式效率低,启动慢,每次需编译所有模块。

为什么要使用Docker容器化技术

什么是Docker?

Docker 是一个开源的应用容器引擎,基于Go语言开发。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上。容器是完全使用沙箱机制,不同容器之间是相互隔离的,可以通过网络互相通信。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

一个完整的Docker由以下几个部分组成:
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器