2024年10月 第6页

  • 2024.10.11 | cuithink | 29次围观
    单例模式
    4. 单例模式单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了一种全局访问点以访问该实例饿汉式和懒汉式的区别初始化时机不同:饿汉式单例模式在类加载时就立即初始化并创建单例对象,而懒汉式单例模式则是在第一次使用时才会进行初始化,并创建单例对象。线程安全性不同:饿汉式单例模式在类加载时就创建了单例对象,因此天生就是线程安全的。而懒汉式单例模式在第一次使用时才会创建单例对象,如果多个线程同时调用getInstance()方法,可能会创建出多个单例对象,因此需要进行同...
  • 2024.10.11 | cuithink | 83次围观
    设计模式-基本概念
    1. 设计原则2. 类型设计模式的类型总共分为:3大类、23种具体设计模式,具体如下:3. 常用设计模式针对三种设计模式类型,常见的设计模式是:创建型:单例模式、工厂方法模式(及 变式)、建造者模式;结构型:适配器模式、代理模式、门面(外观)模式;行为型:策略模式、观察者模式...
  • 2024.10.11 | cuithink | 85次围观
    HW与LEO详解
    HW俗称高水位,HighWatermark的缩写,取一个partition对应的ISR中最小的LEO(log-end-offset)作为HW,consumer最多只能消费到HW所在的位置。另外每个replica都有HW,leader和follower各自负责更新自己的HW的状态。对于leader新写入的消息,consumer不能立刻消费,leader会等待该消息被所有ISR中的replicas同步后更新HW,此时消息才能被consumer消费。这样就保证了如果leader所在...
  • 2024.10.11 | cuithink | 29次围观
    Kafka核心总控制器Controller
    在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。当检测到某个分区的ISR集合发生变化时,由控制器负责通知所有broker更新其元数据信息。当使用kafka-topics.sh脚本为某个topic增加分区数量时,同样还是由控制器负责让新分区被其他节点感知到。Controller...
  • 2024.10.11 | cuithink | 52次围观
    kafka集群实战
    对于kafka来说,一个单独的broker意味着kafka集群中只有一个节点。要想增加kafka集群中的节点数量,只需要多启动几个broker实例即可。为了有更好的理解,现在我们在一台机器上同时启动三个broker实例。首先,我们需要建立好其他2个broker的配置文件:cp config/server.properties config/server-1.properties cp config/server.properties config/server-2.prop...
  • 2024.10.11 | cuithink | 11次围观
    kafka基本使用
    安装前的环境准备由于Kafka是用Scala语言开发的,运行在JVM上,因此在安装Kafka之前需要先安装JDK。yum install java-1.8.0-openjdk* -ykafka依赖zookeeper,所以需要先安装zookeeperwget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz tar -zxvf apache-z...
  • 2024.10.11 | cuithink | 1次围观
    Kafka基本概念
    kafka是一个分布式的,分区的消息(官方称之为commit log)服务。它提供一个消息系统应该具备的功能,但是确有着独特的设计。可以这样来说,Kafka借鉴了JMS规范的思想,但是确并没有完全遵循JMS规范。首先,让我们来看一下基础的消息(Message)相关术语:名称解释Broker消息中间件处理节点,一个Kafka节点就是一个broker,一个或者多个Broker可以组成一个Kafka集群TopicKafka根据topic对消息进行归类,发布到Kafka集群的每条消息...