首页
Zcyoop
取消

Docker Remote API的TLS认证&Portainer配置

前言 Docker 自带 API 功能,支持对 Docker 进行管理,但是默认并不启用,而且一般在没有开启加密通信的时候直接启用 API 会有安全风险。 直接开启非加密的 Docker API 是个非常危险的行为! 因此我们需要开启 TLS 加密来保障 Docker API 通信的安全性。通过开启 TLS 防止未经许可的客户端访问服务端节点,保障其系统安全性。 而 Docker A...

Kafka - 副本机制

1. Kafka副本简介 在 Kafka 0.8.0 之前,Kafka 是没有副本的概念的,那时候人们只会用 Kafka 存储一些不重要的数据,因为没有副本,数据很可能会丢失。但是随着业务的发展,支持副本的功能越来越强烈,所以为了保证数据的可靠性,Kafka 从 0.8.0 版本开始引入了分区副本。也就是说每个分区可以人为的配置几个副本(比如创建主题的时候指定 replication-fa...

Flink - Window 概念&使用

1. Window概念 窗口(Window)是处理无界流的关键所在。窗口可以将数据流装入大小有限的“桶”中,再对每个“桶”加以处理。 通常来讲,window就是对一个无限的流数据加上边界,使其成为多个有界的集合,在对每个集合进行处理,和Spark Streaming类似 2. Window结构 在给一个流添加window时,WIndowAssigner是必须指定的,而evicto...

Flink SQL — 基本使用

1. Flink SQL的运行环境 在Flink1.15版本下,Flink对Scala依赖做了一定处理,参考Scala Free in One Fifteen。总而言之依赖不再受Scala版本的影响,所以对于Flink SQL的依赖也同样带来了一点变化,参考官网如下 您要使用的 API 您需要添加的依赖项 ...

Java - Guava Cache使用

1. 概述 1.1 缓存 缓存在现有业务系统中非常常见,主要是通过保存一个计算或索引代价很高的值且会被多次使用的值,从而减少该数据获取时间,最终提高系统整体速度。缓存常分为本地缓存和远端缓存,常见的远端缓存有Redis、Memcache,本地缓存一般是使用Map的方式保存在本地内存中。 1.2 Guava Cache Guava Cache 与 ConcurrentMap 很相似,但也不...

Java 并发 - CompletableFuture详解

1. 概述 1.1 Java8 之前的异步编程 在Java8之前,异步编程主要使用Future 类来描述一个异步计算的结果。你可以使用 isDone() 方法检查计算是否完成,或者使用 get() 方法阻塞住调用线程,直到计算完成返回结果,也可以使用 cancel() 方法停止任务的执行。 虽然 Future 提供了异步执行任务的能力,但是对于结果的获取却是很不方便,只能通过阻塞或者轮询的...

Java 基础 - 函数式编程详解

1. 概述 1.1背景 在日常Java编码中,函数式编程使用的频率是非常高的,但是回想一下,自己虽然能很好的使用,但是却没能系统的了解过函数式编程,所以以下为最近学习的一个总结。 1.2 概念 函数式接口在Java中是指:有且仅有一个抽象方法的接口函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有...

Flink项目构建模板 - Gradle

Flink项目构建模板 - Gradle 环境 Gradle:7.x Java:8 相较于官方模板 升级Gradle Shadow版本 移出过时仓库JCenter 修改过时语法 仓库改为阿里镜像 buildscript { repositories { maven { ...

Java 并发 - synchronized关键字使用

1. synchronized的使用 1.1 synchronized的作用范围 synchronized可以根据锁的对象,把锁分为两种,分别是类锁和对象锁 1.1 对象锁 手动指定锁定对象,也可是是this,也可以是自定义的锁 private final Object lock1 = new Object(); public void printStr1() {...

MySQL 中执行计划分析 - Optimizer trace表

1. 概述 ​ 对于 MySQL 5.6 以及之前的版本来说,查询优化器就像是一个黑盒子一样,你只能通过 EXPLAIN 语句查看到最后优化器决定使用的执行计划,却无法知道它为什么做这个决策。 ​ 在 MySQL 5.6 以及之后的版本中,MySQL 提出了一个 optimizer trace 的功能,这个功能可以让我们方便的查看优化器生成执行计划的整个过程。 2.Optimize...