- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
kafka,分布式集群架构下,高性能的流式事件数据(主要是消息)集成、发布(生产)和订阅(分发、消费)组件(中间件)。
kafka依赖zooeeper(数据后端),这里有Windows下安装配置启动zookeeper的 文章(1):
Windows 10环境zookeeper单机伪集群部署和配置_Zhang Phil-CSDN博客Windows 10环境zookeeper单机伪集群部署和配置1,首先到zookeeper项目主页地址下载项目包,https://archive.apache.org/dist/zookeeper/本文基于zookeeper-3.5.52,本例目的是在一台Windows 10(64位)机器上,部署三个zookeeper节点,因此把第1步解压后的包:复...
https://blog.csdn.net/zhangphil/article/details/99990669
如果zookeeper过于陈旧,需要更新,那么zookeeper最新的下载链接:
Apache ZooKeeper
https://zookeeper.apache.org/releases.html#download
kafka最新下载链接:
Apache Kafka
https://kafka.apache.org/downloads.html
实际上最新版的kafka已经内置、集成了zookeeper,可以按照kafka官方文档的快速启动文档跳过zookeeper配置,直接投入使用kafka,发布和订阅消息。不过鉴于系统各个关键组件和模块要解耦的思想,本文单独基于独立安装配置启动的zookeeper,然后由kafka连接到zookeeper,然后再启动kafka。
(第一部分)安装配置启动zookeeper。
这里重新简单介绍一下如何配置安装配置启动zookeeper。具体可参考文章(1)。
(1)解压从Apache下载的zookeeper压缩包后,进入/cof目录,里面有有一个zoo_sample.cfg文件,这个文件是zookeeper的配置文件,重命名该文件为zoo.cfg,并修改这个文件里面的内容,修改dataDir:
dataDir=E:/zk/tmp/data
这里存放zookeeper存储的数据。
(2)新增log日志存放目录:
dataLogDir=E:/zk/tmp/log
(3)本例只使用集群中的一个机器,所以简单配置一个:
server.1=127.0.0.1:2889:3889
(4)写一个叫做 myid的文件,把该文件复制一份,myid里面写入(3)中的 1,放到/tmp/data/目录下面。
(5)启动zookeeper。
通过Windows控制台,进入/bin目录下,运行zkServer.bat,即启动了zookeeper:
(第二部分)安装配置启动kafka。
如果是一台单点机器,kafka配置文件可不用修改,直接到bin目录下启动kafka-server-start即可。若是分布式集群,就需要配置kafka。
找到config\server.properties文件,里面的zookeeper.connect即为kafka要连接的zookeeper的地址,根据自己部署的zookeeper地址进行配置:
log.dirs配置自己设备上用于存放kafka日志的路径:
以上配置完成后,进入bin/windows目录下,找到kafka-server-start.bat文件,启动:
kafka-server-start.bat E:/kafka/config/server.properties
启动成功。
(第三部分)基于命令行,在kafka中发布消息/订阅查看消息。
(1)创新主题topic。
kafka创建主题topic需要配置两个核心参数:
replication-factor
partitions
replication-factor:表示副本数量。每个topic可以有多个副本,副本位于集群中不同的broker上,副本的数量不能超过broker数量,否则创建主题会失败。
partitions:主题topic的分区数。kafka通过分区策略,把不同分区分配在集群中的broker上,一般会分散在不同的broker上,当只有一个broker时,所有分区就只分配到该broker上。消息会通过负载均衡发布到不同的分区上,消费者监控偏移量感知哪个分区有新数据,然后从该分区拉取新消息数据。
在旧版kafka中,创建主题topic需要,新版的kafka不需要。创建一个叫做zhangphil_demo的主题topic:
kafka-topics.bat --create --topic zhangphil_demo --bootstrap-server localhost:9092
创建成功后系统输出:
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic zhangphil_demo.
查看刚才新建的主题zhangphil_demo的详细信息:
kafka-topics.bat --describe --topic zhangphil_demo --bootstrap-server localhost:9092
输出:
(2)在主题topic写入/发布数据(生产者),消费/订阅数据(消费者)。
kafka-console-producer.bat --topic zhangphil_demo --bootstrap-server localhost:9092
该命令是在名为zhangphil_demo的主题topic下写入数据。
为了观察效果,最好先启动kafka的消费者(订阅者),订阅主题topic:zhangphil_demo:
kafka-console-consumer.bat --topic zhangphil_demo --from-beginning --bootstrap-server localhost:9092
即,先启动kafka的订阅消费者,接受来自主题zhangphil_demo的消息。这时候,再在主题zhangphil_demo写入消息,如图:
没在主题zhangphil_demo里面写入一条消息,hello,world! x,订阅者/消费者就能收到发布者的消息。
为了构建 CentOS 6.5 OSM 切片服务器,我正在寻找一些文档和/或教程。 我试过this one正如我在我的 previous post 中所说的那样但它适用于 Ubuntu 14.04,而
我正在寻找可用于集成任何源代码控制管理系统的通用 git 桥(如 git-svn、git-p4、git-tfs)模板。 如果没有这样的模板,至少有一些关于如何在 git 端集成基本操作的说明(对于其他
1、前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。 redis有两种高可用的方案: High availabilit
简介 前提条件: 确保本机已经安装 VS Code。 确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server。 VSCode 已经安装了插件 C/
为什么要用ELK ELK实际上是三个工具,Elastricsearch + Logstash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比
在日常办公当中,经常会需要一个共享文件夹来存放一些大家共享的资料,为了保证文件数据的安全,最佳的方式是公司内部服务器搭建FTP服务器,然后分配多个用户给相应的人员。今天给大家分享FileZilla搭
最近由于业务需要,开始进行 Flutter 的研究,由于 Flutter 的环境搭建在官网上有些细节不是很清楚,笔者重新整理输出 1. 配置镜像 由于在国内访问 Flutter
目录 1. 安装go软件包 2. 配置系统变量 3. 安装git 4. 设置go代理 5. 下载gin框架 6. 创建项目 7.
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任
上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容详情如下所示:
目录 1.创建Maven 2.Maven目录和porm.xml配置 3.配置Tomcat服务器 1.创建Maven
laravel 官方提供 homestead 和 valet 作为本地开发环境,homestead 是一个官方预封装的 vagrant box,也就是一个虚拟机,但是跟 docker 比,它占用体积
这个tutorial显示了 Razor Pages 在 Asp.Net Core 2 中的实现。但是,当我运行 CLI 命令时: dotnet aspnet-codegenerator razorp
我创建了一个单独的类库项目来存储数据库上下文和模型类。在同一解决方案中,我创建了一个 ASP.NET MVC 项目并引用了类库项目,并在项目的 Web.config 文件中包含了数据库上下文的连接字符
关于代码托管,公司是基于Gitlab自建的,它功能全而强大,但是也比较重,我个人偏向于开源、小巧、轻便、实用,所以就排除了Github,在Gogs和Gitea中选者。Gogs在Github有38
目录 1、高可用简介 1.1 高可用整体架构 1.2 基于 QJM 的共享存储系统的数据同步机制分析 1.3 NameNode 主
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。 在高并发连接的情况
对于我们的 ASP.NET Core 项目,我们使用包管理器控制台中的 Scaffold-DbContext 搭建现有数据库。 每次我们做脚手架时,上下文类与所有实体一起生成,它包含调用 option
我正在使用 .net 核心 2.0。我已经安装了以下 nuget 包:1: Microsoft.AspNetCore.All2: Microsoft.EntityFrameworkCore.Tools
我正在使用 NetBeans 及其 RAD 开发功能开发 JEE6 JSF 应用程序。我想使用脚手架来节省更新 Controller 和模型 View 的时间。 OneToMany 关联在 View
我是一名优秀的程序员,十分优秀!