业务场景
公司采购了一台新的硬件服务器,领导说用tomcat搭建一台web服务器吧,这个任务看起来简单,但是很繁琐
- 安装linux系统
- 下载jdk,tomcat,
- 安装jdk,配环境变量
- 安装tomcat
即使对于一个老司机,也要花挺长时间,但是使用docker可以很大的简化这个过程
查看可用镜像
在docker官网搜索tomcat组件,在每个tag中可以看到具体使用的JDK版本和Tomcat版本
tocmat可用版本
公司采购了一台新的硬件服务器,领导说用tomcat搭建一台web服务器吧,这个任务看起来简单,但是很繁琐
即使对于一个老司机,也要花挺长时间,但是使用docker可以很大的简化这个过程
在docker官网搜索tomcat组件,在每个tag中可以看到具体使用的JDK版本和Tomcat版本
tocmat可用版本
RabbitMQ 是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用中间共享数据,RabbitMQ 是使用 Erlang 语言来编写的,并且 RabbitMQ 是基于 AMQP 协议的。
特点:
开源、性能优秀
Erlang 语言最初用在交换机的架构模式,这样使得 RabbitMQ 在 Broker 之间进行数据交互的性能时非常优秀的。Erlang 的优点:Erlang 有着和原生 Socket 一样的延迟。
安装docker持久化包和yum工具包
1 | install -y yum-utils device-mapper-persistent-data lvm2```- yum-utils 简化yum安装的工具包,后面会用到相关命令修改镜像加速,非必选 |
新建 maven 项目或 module,添加 rocketmq-client
依赖。
1 |
|
1. 上传jdk压缩文件
将文件jdk-8u212-linux-x64.tar.gz
上传到 /root 目录
2. 解压缩
执行解压命令
1 | 将jdk解压到 /usr/local/ 目录 |
kafka
的索引文件以稀疏索引的方式构造消息的索引,每个 segmentfault
文件,对应 2 个索引文件。偏移量索引文件(xx.index)用于建立消息偏移量到物理地址之间的映射关系;时间戳索引文件(xx.timeindex)根据指定的时间戳查找对应的偏移量信息。
.index、.timeindex
均保持严格单调递增,在查找时,都使用二分查找法,如果查不到,均返回比查找值要小的最大值。
当日志分段文件满足以下几个条件任意之一,便会切分索引文件
kafka
允许通过配置 partition.assignment.strategy
来改变消费组的分区策略。kafka
提供了以下几个分区策略
RangeAssignor
RoundRobinAssignor
StickyAssignor
默认使用的是 RangeAssignor
同时,kafka
也允许我们自定义分区策略,只需要继承 AbstractPartitionAssignor
抽象类即可。