- 博客(82)
- 收藏
- 关注
转载 Ubuntu安装kubernetes1.24集群(使用containerd)
初始化kubernetes:kubeadm init --help可以查看命令的具体参数用法。将kubeadm init成功执行后的kubeadm join信息,复制到node节点执行。3台虚拟机,1个master节点,2个node节点。
2024-03-03 02:17:42
539
3
原创 VirtualBox安装Ubuntu22.04
以上内容为个人学习理解,如有问题,欢迎在评论区指出。部分内容截取自网络,如有侵权,联系作者删除。
2024-01-27 01:45:12
1601
1
原创 Docker容器:docker推送镜像至Harbor
以上内容为个人学习理解,如有问题,欢迎在评论区指出。部分内容截取自网络,如有侵权,联系作者删除。
2023-12-13 23:39:22
2261
原创 Docker容器:Centos7搭建Docker镜像私服harbor
安装成功后再执行pip install docker-compose命令安装docker-compose。访问3.3配置的hostname:port,初始默认用户是admin,密码是Harbor12345。docker运行在Centos7上,要求系统为64位,系统内核版本为3.10以上。出现该问题的原因一般是由于pip版本过低或者pip有问题,此时需要升级pip。默认是国外的yum源,基本不可用,我们修改为阿里源。以上内容为个人学习理解,如有问题,欢迎在评论区指出。如果在升级过程中也报错。
2023-12-13 00:09:50
1747
原创 VirtualBox安装Centos7.9
找到enp0s3网卡的配置文件ifcfg-enp0s3,一般在 /etc/sysconfig/network-scripts下。设置ONBOOT=yes。以上内容为个人学习理解,如有问题,欢迎在评论区指出。部分内容截取自网络,如有侵权,联系作者删除。点进去,使用默认配置,直接保存即可。
2023-12-05 00:15:14
702
原创 kafka学习-消费者
实现org.apache.kafka.common.serialization.Deserializer<T>接口,并实现其中的deserializer方法。@Override@Override@Override也叫做重平衡,主要是为了让消费组下的消费者来重新分配主题下的每一个分区。再均衡的触发条件有如下三个:消费组内成员变更(增加和减少消费者),⽐如消费者宕机退出消费组,或者新增一个消费者。主题的分区数发⽣变更,kafka⽬前只⽀持增加分区,当增加的时候就会触发再均衡。
2023-09-10 22:44:34
1006
1
原创 kafka学习-生产者
实现org.apache.kafka.common.serialization.Serializer<T>接口,并实现其中的serializer方法。@Data@Override@Overridetry {// 如果数据是null,则返回nullif (null!// 第一个4字节存储userId的值// 第二个4字节存储username字节数组的长度int值// 第三个length长度,存储username序列化之后的字节数组。
2023-09-09 22:20:38
454
原创 kafka学习-基本概念与简单实战
生产者主要有KafkaProducer和ProducerRecord两个对象:KafkaProducer用于发送消息,ProducerRecord用于封装kafka消息。生产者生产消息后,需要broker的确认,可以选择同步或者异步确认:同步确认效率低;异步确认效率高,但需要设置回调对象。消费者主要有KafkaConsumer对象,用于消费消息。Kafka不支持消息的推送,我们可以通过消息拉取(poll)方式实现消息的消费。
2023-09-05 23:23:22
1080
原创 docker常用命令
第一种是在宿主机内的特定(指定)目录下,而后两种则在docker管理的目录下,这个目录一般是 /var/lib/docker/volumes/3、进入docker数据卷默认目录 cd /var/lib/docker/volumes/dbd07daa4e40148b11....如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录会显示数据卷中的数据。(数据卷目录cp到容器目录)3、进入docker数据卷默认目录 cd /var/lib/docker/volumes/lagouedu-nginx。
2023-08-23 23:15:10
212
原创 kubernetes常用命令
kubectl edit deployments.apps ${deploymentName} 直接修改yaml->修改镜像。NoExecute: 不允许Pod调度到该节点,并且且将该节点上没有容忍该污点的Pod将进行驱逐。kubectl edit deployments.apps ${deploymentName} 直接修改yaml->扩容。NoSchedule: 不允许Pod调度到该节点。
2023-08-23 20:19:36
114
原创 多线程循环打印ABC
1、使用AtomicInteger的原子自增2、Synchronized + wait + notify3、ReentrantLock + Condition4、Semaphore
2023-07-14 22:34:28
624
原创 OpenFeign核心源码简读
FeignClientsRegistrar、FeignClientFactoryBean、ReflectiveFeign、SynchronousMethodHandler
2023-02-23 11:52:11
476
原创 Spring事件机制 ApplicationEventPublisher
Spring,观察者模式,ApplicationEventPublisher,事件,发布,监听
2023-02-02 00:05:35
4311
原创 面试汇总-并发编程
中文叫比较交换,一种无锁原子算法。当使用ThreadLocal维护变量的时候 为每一个使用该变量的线程提供一个独立的变量副本,即每个线程内部都会有一个该变量,这样同时多个线程访问该变量并不会彼此相互影响,因此他们使用的都是自己从内存中拷贝过来的变量的副本, 这样就不存在线程安全问题,也不会影响程序的执行性能。上述并发环境下,并发1在修改数据时,虽然还是A,但已经不是初始条件的A了,中间发生了A变B,B又变A的变化,此A已经非彼A,数据却成功修改,可能导致错误,这就是CAS引发的所谓的ABA问题。
2023-01-28 17:52:04
948
原创 面试汇总-JVM基础
第二次Eden满了,触发Minor GC,又会把新的对象放到survivor,而此时survivor区已经存在了之前的对象,可能就会导致两次放入survivor的对象内存不连续,从而导致内存碎片化。“空闲列表”(内存不规整):用一个列表保存内存的信息,记录所有内存的可用状态,分配时从列表中找一块足够大小的内存划分给对象,并更新列表。软引用常用于缓存中,创建缓存的时候,将创建的对象放入缓存中,内存不足时,JVM就会回收最先创建的对象。可以理解为,字节码中的常量池,只是文件信息,它想要执行就必须加载要内存中。
2023-01-28 00:00:30
187
原创 Java跨域问题
Bean// 1.创建 CORS 配置对象// 支持域// 是否发送 Cookie// 支持请求方式// 允许的原始请求头部信息// 暴露的头部信息// 2.添加地址映射// 3.返回 CorsFilter 对象}}
2023-01-04 23:44:54
1949
原创 MySQL-慢sql优化思路
目录1、开启Mysql慢查询1.1、查看慢查询相关配置1.2、查询慢查询sql耗时临界点1.3、开启Mysql慢查询2、explain查看SQL执行计划2.1、Select_type2.2、Type2.3、Possible_keys2.4、Key2.5、Key_len2.6、Rows2.7、Extra3、profile 分析执行耗时3.1、查询profile开启状态3.2、开启profiling3.3、查看最近运行的SQL3.3.1、show profiles3.3.2、show profile for q
2023-01-03 22:33:51
4002
3
原创 gateway基本配置
路由转发 + 执行过滤器链。网关,旨在为微服务架构提供一种简单有效的统一的API路由管理方式。同时,基于Filter链的方式提供了网关的基本功能,比如:鉴权、流量控制、熔断、路径重写、黑白名单、日志监控等。统一入口:暴露出网关地址,作为请求唯一入口,隔离内部微服务,保障了后台服务的安全性鉴权校验:识别每个请求的权限,拒绝不符合要求的请求动态路由:动态的将请求路由到不同的后端集群中按生命周期分类。
2023-01-01 16:29:03
23574
原创 Redis缓存过期和和内存淘汰策略
目录1、MaxMemory2、Expire数据结构3、删除策略3.1、惰性删除3.2、主动删除3.3、缓存淘汰策略3.4、缓存淘汰策略的选择 dict 用来维护一个 Redis 数据库中包含的所有 Key-Value 键值对,expires则用于维护一个 Redis 数据库中设置了失效时间的键(即key与失效时间的映射)。 设置了失效时间的key和具体的失效时间全部都维护在 expires 这个字典表中。 当我们使用 expire命令设
2022-12-04 17:17:15
1124
原创 面试汇总-MySQL-杂项
一般的语句修改使用statment格式保存binlog,如一些函数,statement无法完成主从复制的操作,则采用row格式保存binlog,MySQL会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在Statement和Row之间选择一种。典型的是Compare and swap(CAS),当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其他线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。二进制存储,精简了存储空间。
2022-11-28 23:17:43
235
原创 MVCC多版本并发控制
MVCC,多版本并发控制,用来解决读-写冲突的无锁并发控制,(读指的是快照读)。为每一个数据行的修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据行的快照。
2022-11-28 22:21:27
761
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人