摘要:
整体架构 Kubernetes属于主从分布式架构 主要由Master Node和Worker Node组成,以及包括客户端命令行工具kubectl和其它附加项。 Master Node: 作为控制节点,对集群进行调度管理; Master Node由 API Server、Scheduler、Clus 阅读全文
摘要:
[TOC] 1. 内存区域(运行时数据区) 线程私有: 程序计数器、Java虚拟机栈、本地方法栈 线程共享: 堆、方法区(运行时常量池)、直接内存 1.1 程序计数器 用来记录程序正在执行的字节码指令的地址 1.2 虚拟机栈 组成: 每执行一个Java方法都会创建一个栈帧,每个栈帧包含:局部变量表、 阅读全文
摘要:
线程池的执行策略 1. 判断核心线程池是否已满?不满,new一个线程执行任务;满了,执行步骤2 2. 线程队列是否已满?不满,放在工作队列里;满了,new一个线程执行任务。 3. 判断线程是否超过最大线程数?未超过,可以new线程执行任务;超过了,任务被拒绝,执行 RejectedExecution 阅读全文
摘要:
0. 目录 [TOC] 1. 消费者和消费者组 每一个分区只能被一个消费组中的一个消费者所消费。 在消费组中增加消费者可以增加整体的消费能力,消费者不能多于分区个数。 消息中间件2中模式:点对点的队列模式、订阅/发布模式 点对点:所有消费者属于1个消费组 订阅/发布:各个消费者属于不同的消费组 通过 阅读全文
摘要:
0. 目录 [TOC] 1. 生产消息步骤 配置生产者客户端参数,创建生产者实例 构建待发送的消息 发送消息 关闭生产者 2. ProducerRecord的属性 key用来计算分区号,确定发送到指定分区 3. 必要的参数 bootstrap.servers:指定kafka集群的broker的地址, 阅读全文
摘要:
1. 基本名词 Producer Consumer Broker 服务器 集群 主题和分区 主题是逻辑上的概念,分区是可以追加的日志文件。 offset是每个分区文件的偏移量,offset不跨越分区 保证分区内消息有序。 分区解决了写文件,单个机器IO成为瓶颈的问题。 多副本机制 副本是为了提升容灾 阅读全文
摘要:
1. 定义 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 2. 设计原则 封装变化 将变化的地方独立出来,不要与不变化的混杂在一起 多用组合,少用继承(more has,less extends) 针对接口编程,而不针对实现编程 3. 模式举例 不好的 阅读全文