首页
JVM
并发编程
设计模式
消息队列
数据库
项目场景
开发工具
分布式
微服务
spring
搜索
第6页
并发编程
0
单例模式
2024.10.11 |
cuithink
| 29次围观
4. 单例模式单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了一种全局访问点以访问该实例饿汉式和懒汉式的区别初始化时机不同:饿汉式单例模式在类加载时就立即初始化并创建单例对象,而懒汉式单例模式则是在第一次使用时才会进行初始化,并创建单例对象。线程安全性不同:饿汉式单例模式在类加载时就创建了单例对象,因此天生就是线程安全的。而懒汉式单例模式在第一次使用时才会创建单例对象,如果多个线程同时调用getInstance()方法,可能会创建出多个单例对象,因此需要进行同...
设计模式
0
设计模式-基本概念
2024.10.11 |
cuithink
| 82次围观
1. 设计原则2. 类型设计模式的类型总共分为:3大类、23种具体设计模式,具体如下:3. 常用设计模式针对三种设计模式类型,常见的设计模式是:创建型:单例模式、工厂方法模式(及 变式)、建造者模式;结构型:适配器模式、代理模式、门面(外观)模式;行为型:策略模式、观察者模式...
kafka
0
HW与LEO详解
2024.10.11 |
cuithink
| 84次围观
HW俗称高水位,HighWatermark的缩写,取一个partition对应的ISR中最小的LEO(log-end-offset)作为HW,consumer最多只能消费到HW所在的位置。另外每个replica都有HW,leader和follower各自负责更新自己的HW的状态。对于leader新写入的消息,consumer不能立刻消费,leader会等待该消息被所有ISR中的replicas同步后更新HW,此时消息才能被consumer消费。这样就保证了如果leader所在...
kafka
0
Kafka核心总控制器Controller
2024.10.11 |
cuithink
| 28次围观
在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。当检测到某个分区的ISR集合发生变化时,由控制器负责通知所有broker更新其元数据信息。当使用kafka-topics.sh脚本为某个topic增加分区数量时,同样还是由控制器负责让新分区被其他节点感知到。Controller...
kafka
0
kafka集群实战
2024.10.11 |
cuithink
| 52次围观
对于kafka来说,一个单独的broker意味着kafka集群中只有一个节点。要想增加kafka集群中的节点数量,只需要多启动几个broker实例即可。为了有更好的理解,现在我们在一台机器上同时启动三个broker实例。首先,我们需要建立好其他2个broker的配置文件:cp config/server.properties config/server-1.properties cp config/server.properties config/server-2.prop...
kafka
0
kafka基本使用
2024.10.11 |
cuithink
| 11次围观
安装前的环境准备由于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...
kafka
0
Kafka基本概念
2024.10.11 |
cuithink
| 1次围观
kafka是一个分布式的,分区的消息(官方称之为commit log)服务。它提供一个消息系统应该具备的功能,但是确有着独特的设计。可以这样来说,Kafka借鉴了JMS规范的思想,但是确并没有完全遵循JMS规范。首先,让我们来看一下基础的消息(Message)相关术语:名称解释Broker消息中间件处理节点,一个Kafka节点就是一个broker,一个或者多个Broker可以组成一个Kafka集群TopicKafka根据topic对消息进行归类,发布到Kafka集群的每条消息...
微服务
0
计数器固定窗口算法
2024.09.11 |
cuithink
| 66次围观
计数器固定窗口算法是最简单的限流算法,实现方式也比较简单。就是通过维护一个单位时间内的计数值,每当一个请求通过时,就将计数值加1,当计数值超过预先设定的阈值时,就拒绝单位时间内的其他请求。如果单位时间已经结束,则将计数器清零,开启下一轮的计数。但是这种实现会有一个问题,举个例子:假设我们设定1s内允许通过的请求阈值是100,如果有用户在时间窗口的最后几毫秒发送了99个请求,紧接着又在下一个时间窗口开始时发送了99个请求,那么这个用户其实在一秒显然超过了阈值但并不会被限流。其实...
微服务
0
微服务基本概念
2024.09.11 |
cuithink
| 66次围观
2. 微服务架构图3. 微服务常见概念3.1. 服务治理服务治理就是进行服务的自动化管理,其核心是服务的自动注册与发现。服务注册:服务实例将自身服务信息注册到注册中心。 服务发现:服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务。 服务剔除:服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用到3.2. 服务调用在微服务架构中,通常存在多个服务之间的远程调用的需求。目前主流的远程调用技术有基于HTTP的RESTful接口以及...
项目场景
0
cpu突然飙高,怎么定位
2024.09.11 |
cuithink
| 52次围观
通过top -p <pid> 显示Java进程的内存情况,pid是Java进程号,比如19663按H获取该进程下每个线程的内存情况找到内存和cpu占用最高的线程tid,比如19664转为16进制得到0x4cd0,此为线程id的十六进制表示执行jstack 19663|grep -A 10 0x4cd0,得到线程堆栈信息中4cd0这个线程所在行的后面10行,从堆栈中可以发现导致cpu飙高的调用方法查看对应的堆栈信息中的可能存在问题的代码...
首页
上一页
2
3
4
5
6
7
8
9
下一页
尾页
热门文章
1
MVCC多版本并发控制(一)
2
redis 简图
3
idea快捷键
4
适配器模式
5
线程的创建
6
mysql之Change Buffer
7
建造者模式(Builder)
8
G1垃圾回收器介绍
9
分库分表相关的问题
随机文章
分布式事务-seata XA模式
分布式事务-TCC&Saga模式
xmind版并发三大特性
并发三大特性-有序性
BeanFactory 和 ApplicationContext有什么区别?
Spring支持的几种bean的作用域
CMS垃圾回收器
SpringBoot启动流程
令牌桶算法
最近发表
spring循环依赖
SpringBoot启动流程
分布式事务-TCC&Saga模式
分布式事务-seata XA模式
分布式事务-seata AT模式
分布式事务
分布式幂等性如何设计
分布式ID生成有几种方案
分布式锁(二)
分布式锁
网站分类
未分类
JVM
并发编程
设计模式
消息队列
kafka
rabbitmq
数据库
redis
mysql
项目场景
开发工具
分布式
微服务
spring
文章归档
2024年10月 (57)
2024年9月 (14)
2024年8月 (6)
2024年7月 (4)
友情链接
阿里云主机
pdai大神