- 博客(16)
- 收藏
- 关注
原创 一文了解docker与k8s
Docker Compose 是什么通过使用一个YAML 文件来配置应用服务,给予Docker Compose 我们就可以通过一个单独的命令来创建和启动所有服务。可以大大的简化配置环境的复杂度。Kubernetes 是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务可以基于容器对应用运行环境的资源配置要求自动部署应用容器当所部署的 Node 节点有问题时,会对容器进行重新部署和重新调度...
2024-08-14 16:55:09 1403
原创 浅析kafka
一个broker可以有多个topic,每个Topic包含一个或多个分区(Partition) ,Leader Broker 是分区的主副本 ,只有 Leader Broker 才能处理生产者和消费者的请求 ,Follower Broker 只是 Leader Broker 的备份,用于提供数据的冗余备份和容错能力。:Kafka 将其数据存储在磁盘中,但在访问数据时,它会先将数据加载到操作系统的页缓存中,并在。不同的模块可以将消息发送到消息队列中,接收方可以独立地消费消息,实现了模块之间的解耦。
2024-08-08 20:03:42 586
原创 分布式事务
什么是分布式事务分布式系统中涉及到多个数据库或多个应用程序之间的事务处理,在分布式事务中,需要确保所有参与者的事务操作都能够保持一致性,即所有参与者的事务要么全部提交成功,要么全部回滚。方案XA协议、TCC事务、最大努力通知等2.XA协议定义XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范(即接口函数具体实现2PC(2阶段提交)算法思路参与者将操作成败通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是回滚操作所谓的两个阶段是指。
2024-08-03 11:40:52 749
原创 mysql的事务过程
数据库事务是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位事务应该具有4个属性(ACID)原子性Atomicity事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。一致性事务应确保数据库的状态从一个一致状态转变为另一个一致状态一致状态的含义是数据库中的数据应满足完整性约束。隔离性Isolation多个事务并发执行时,一个事务的执行不应影响其他事务的执行持久性Durability。
2024-07-27 17:15:12 663
原创 mysql中sql调优
如果是 MySQL 8.0之前,可以用SHOW PROFILES如果是 MySQL 8.0之后的版本,可以用EXPLAIN ANALYZE以下以SHOW PROFILES为例子,一般会关注如下指标如果在这个阶段花费的时间较长,可能意味着表的打开操作比较耗时。可能需要检查表的状态(如存在大量的碎片或未完成的事务)、文件系统性能(如磁盘读写速度慢),表的大小,表的缓存(缓存配置不当或缓存命中率较低),并发访问(有大量并发访问请求,系统可能需要更多的时间来处理这些请求并管理锁定机制)等。
2024-07-25 17:31:24 808
原创 jvm的内存结构
定义:一种JVM中垃圾标记的算法,可以减少JVM在GC过程中的STW时长CMS、G1等垃圾收集器中主要使用的标记算法三色标记法的标记过程可以分为三个阶段:初始标记(时间短,stw)垃圾回收器遍历所有的根对象,将根对象和直接引用的对象标记为灰色。在这个阶段中,垃圾回收器只会扫描被直接或者间接引用的对象,而不会扫描整个堆。因此,初始标记阶段的时间比较短。并发标记(时间长,非stw)垃圾回收器从灰色对象开始遍历整个对象图,将被引用的对象标记为灰色,并将已经遍历过的对象标记为黑色。
2024-07-21 20:44:13 1746
原创 Spring循环依赖
在Spring的BeanFactory体系中,BeanFactory是Spring IoC容器的基础接口,其DefaultSingletonBeanRegistry类实现了BeanFactory接口,并且维护了三级缓存,通常使用这种方法解决循环依赖的问题singletonObjects是一级缓存,存储的是完整创建好的单例bean对象。在创建一个单例bean时,会先从singletonObjects中尝试获取该bean的实例,如果能够获取到,则直接返回该实例,否则继续创建该bean。
2024-07-20 15:17:22 845
原创 Java中的ThreadLocal为什么会导致内存泄漏?如何解决的?
InheritableThreadLocal 可以在**子线程中继承父线程中的值**。在创建子线程时,子线程将复制父线程中的 InheritableThreadLocal 变量。InheritableThreadLocal是用于主子线程之间参数传递的,但必须要是在主线程中手动创建的子线程才可以,很多时候线程都是通过线程池进行创建和复用的,这时候InheritableThreadLocal就不行了。TransmittableThreadLocal继承并加强InheritableThreadLocal类。
2024-07-19 20:13:10 1691
原创 EMANE过程
读本文章之前,建议先读core的基本原理,在上篇文章中提到,core中容器通过veth对连接到网桥上,在容器内的一端叫eth0,通过eth0产生流量发到网桥上,然后再到其他容器节点。而无线节点会多一个ctrl0作为传输网卡,连接到网桥上,如图1.1。emane作为core的一个插件就是起到监听eth0产生的包,并进行处理然后发送到ctrl0。接收端emane收到ctrl0的包,进行处理后发送到eth0。图1.1 emane架构。
2024-07-19 17:20:42 324
原创 core的基本原理
其仿真的本质就是以相互隔离的容器来模拟现实生活中的真实的网络设备,如PC,Router,Wifi等;如图1.1所示,这是一个包含了7个CORE节点的仿真拓扑,左边模拟的是PC和Router直接相连的场景,右边模拟的是Switch交换机将PC和Router连接在一起的场景。如图1.2所示,为图1.1左边的3个节点相互连接的时候,CORE容器之间相互通信的连接过程。类型3:工具类节点相关:如表1.3所示的RJ45和Tunnel属于和物理机相连的接口工具,一般用于和真实的物理机通信的时候使用。
2024-07-19 16:36:40 1418 1
原创 CORE的分布式搭建
进入主服务器下编辑sudo vim /etc/core/core.conf ,修改ip地址为主机ip地址distributed_address = 192.168.198.183(本端ip地址)
2024-07-19 15:42:24 274
原创 安装网络仿真工具core
可能出现的意外,电脑的win版本可能不适配vm版本导致蓝屏,使用最新版vm应该不会出现问题。选择自己想要的版本就可,后缀是iso,最好是desktop-amd64.iso结尾的不同版本可能不一样,去找自己对应版本的安装就行。我是正常安装,不是最小安装。
2024-07-19 15:16:11 502 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人