背景 这几天接到公司的一个需求,需要研发一个多租户系统,其中涉及到操作系统角色管理模块,用户在租户平台创建自定义角色(系统初始化的时候会自动创建一些角色,hdfs 组件管理员,admin,yarn 等等),当用户在平台创建角色的时候会同步到 ldap,ldap 接入 Linux 之后被其他用户关联了,就会在 Linux 拥有这些权限,基于此,所以学习下 ldap 接入 SpringBoot 用法,简单写个 CRUD 安装 LDAP 还不知道怎么安装和了解 LDAP 的可用看看https://www.xiaohugg.top/articles/2023/07/11/1689057905882.html 开发 1.spring yam 文件配置 spring: ldap: urls: ldap://xxxxx:389 base: dc=xxx,dc=com username: cn=example,dc=xxx,dc=xx password: xxxxx 2.pom 依赖 <dependency> <groupId>org.springframework....

什么,JVM竟然带颜色??
背景 最近因为线上出现了一个 jvm 的问题,最终原因是反射过多创建了类对象,而设置的 MetaSpace 过下,导致溢出了,最终虽然结合网上和自己的经验,一段骚操作解决了,不过也萌发了我对 jvm 的理解,虽然在网上听了太多的垃圾回收算法/垃圾回收器,但是回收算法具体是怎么样实现的,刚好最近有幸偶然看了下 JVM 深入理解虚拟机(三)这版书和结合网上技术大牛的讲解,说到了三色标记,基于此写篇博客记录下 三色标记 天空一声巨响,三色标记就闪亮登场,jvm 说,我需要点颜色,give me some color see see ,于是三色标记就出来(开个玩笑,三色标记不是具体的颜色,而是一个形象的抽象,emmm) 三色标记简介 在并发标记的过程中,因为标记期间应用线程还在继续跑,对象间的引用可能发生变化,多标和漏标的情况就有可能发生。漏标的问题主要引入了三色标记算法来解决。 三色标记法是一种垃圾回收法,它可以让 JVM 不发生或仅短时间发生 STW(Stop The World),从而达到清除 JVM 内存垃圾的目的。 三色标记算法是把 Gc roots 可达性分析遍历对象过程中遇到的对....

Mysql索引优化实战(一)
背景 MySQL 成为了业界主流的数据库存储,随着公司的发展和业务的复杂性,必须需要了解和掌握一些 MySQL 优化技巧 以下是结合自己的实践学习和网上的资料汇总成的一些场景 前置准备 以下 MySQL 版本是 5.7 执行所产生的效果,不排除后续 MySQL 版本升级,MySQL 进行了优化 示例表 首先创建一个 employees,插入 100000 条数据,如果以下 SQL,有可能因为 MySQL 版本不一致,导致无法执行,可以用 navicat 自动数据生成 navicat 数据生成 SQL 语句生成 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(20) NOT NULL DEFAULT '' COMMENT '职位', `hire_time` timest....

datax启动流程
datax 启动流程 组件 datax 采集流程 Reader:Reader 为数据采集模块,负责采集数据源的数据,将数据发送给 Framework。 Writer: Writer 为数据写入模块,负责不断向 Framework 取数据,并将数据写入到目的端。 Transformer:在数据同步、传输过程中,存在用户对于数据传输进行特殊定制化的需求场景,包括裁剪列、转换列等工作 Job: Job 是 DataX 用以描述从一个源头到一个目的端的同步作业,是 DataX 数据同步的最小业务单元。 Task: Task 是把 Job 拆分得到的最小执行单元。 JobContainer: Job 执行器,负责 Job 全局拆分、调度、前置语句和后置语句等工作的工作单元。 TaskGroupContainer: TaskGroup 执行器,负责执行一组 Task 的工作单元。 TaskGroup: 描述的是一组 Task 集合。在同一个 TaskGroupContainer 执行下的 Task 集合称之为 TaskGroup 参数 CoreConstant 中会提取 datax.home 这个....

二次开发Datax
欸从