nodejh.github.io
nodejh.github.io copied to clipboard
Blog
## 1. 例子 先来看两个个来自于 《JavaScript 高级程序设计》P70-P71 的两个例子。 #### 1.1. 基本类型参数传递 ``` function addTen(num) { num += 10; return num; } var count = 20; var result = addTen(count); alert(count); //...
SQL *Plus 是基于命令行的 Oracle 管理工具,可以用来执行 `SQL`、`PL/SQL`、 和 `SQL*Plus` 命令: + 支持查询、插入和更新数据 + 执行 `PL/SQL` 程序 + 查看表和对象的定义 + 开发和执行批处理脚本 + 进行数据库管理 ## 登录 SQL *PLUS 直接登录,输入命令后会提示输入用户名密码: ``` $ sqlplus ```...
## 1. 背景 ### 1.1 现象 2021.12.16 凌晨,我们的应用数据库因故发生了主备切换,之后某个 Pod 就持续报错 `GetConnectionTimeoutException`,并且该 Pod 的进程一直挂起,无法正常提供服务。 不过比较奇怪的是,当时连接同一数据库的其他 Pod 虽然也有几条报错(主要是数据库连接超时的报错),但很快其他 Pod 都恢复了正常,就只有这一个 Pod 一直没有恢复。 ### 1.2 报错信息 异常 Pod 的部分报错信息如下: ```shell [2021-12-16 02:10:06.617]...
在部署 Go 应用时,我们通常会使用 Docker 镜像来部署,那么如何构建一个 Go 应用的 Docker 镜像呢?镜像构建过程中有没有什么最佳实践呢? 这正是本文想要讲解的内容。总的来说,本文会包含 Dockerfile 编写、镜像构建、多阶段构建、交叉编译以及使用 Makefile 简化构建流程等知识点。 ## 创建一个简单的 Go 应用 为了说明整个镜像构建流程,让我们先从一个简单的 Go REST 应用开始。 该应用主要有以下功能: - 访问 `/`,返回 `Hello, Docker! => transferring...
## 背景 本文主要介绍如何使用 Prometheus 和 Grafana 可视化监控运行在 k8s 上的 Spring Boot 应用,监控指标包括 CPU、内存、线程信息、日志信息、HTTP 请求、JVM 等。 ## 技术方案 技术方案如下图所示:  首先我们需要在 Spring Boot 应用中使用 [Spring Boot Actuator](https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/#overview) 监控应用、暴露指标,并使用 [Micrometer...
## 概述 k8s 简化了我们在集群上部署、运维应用的流程。在 k8s 上,我们可以很方便地部署一个分布式应用。以 Deployment 为例,应用就由多个 Pod 组成,基于 Pod 的伸缩能力,应用天然就具备应用的高可用性和可扩展性。但在分布式系统中,通常我们需要指定其中一个 Pod 为 leader,负责协调所有 Pod 或执行特定任务。 一般提到 Leader 选举,我们都会想到利用 ZooKeeper 或 Redis 等软件的分布式锁来实现,所有 Pod 不断争抢锁,抢到锁的 Pod 就成为 Leader,并且 Leader...
将 Flink 应用部署到 k8s 上时,为了实现任务高可用,我们就需要将 checkpoint、savepoint 以及 Job Manager meta data 等数据持久化存储下来,而不是简单地存储在单个 Node 上,这时就需要配置 Pod 的持久化存储。 在传统的 Yarn 部署模式中,我们通常会将 checkpoint 等数据存储在 HDFS 中,HDFS 是 Hadoop 分布式的文件系统。这样只要 HDFS 不出问题,就能保证 Flink...
Apache Flink 是一个流计算引擎。本文主要介绍如何从零编写一个统计单词出现次数的 Flink 应用(后面简称为 WordCount)。由于 Flink 概念很多,对初学者会造成极大困扰,所以本文不会涉及太多概念,即使没有 Flink 基础也可以完成本文的示例应用。 ## 开发环境准备 要编写 Flink 应用,需要安装 Java (Java 8 或 Java 11) 和 Maven。 你可以使用下面的命令查看当前已安装的 Java 版本信息: ```sh $ java -version...
最近发现部署在 k8s 上的 Flink 每运行十几个小时就会卡住,导致消费延迟、上游数据积压。消费延迟较长时间后(时间不固定,可能十几分钟,也可能是一小时),又逐渐恢复正常。 在此分享一下排查过程。 ## 现象 出问题的直接现象就是消费延迟,数据积压。 同时观察到,发生消费延迟时,Pod 的 CPU 利用率几乎是 100%,内存使用率相对稳定、网络 IO 也无明显变化。 并且几乎每次都是单个 Pod CPU 利用率 100%,其他 Pod 比较正常。  于是首先就面临三个问题: - 为什么单个...
## .DS_Store 是什么 使用 Mac 的用户可能会注意到,系统经常会自动在每个目录生成一个隐藏的 `.DS_Store 文件`。`.DS_Store` (英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 `desktop.ini`。 ## 删除 .DS_Store 如果你的项目中还没有自动生成的 `.DS_Store` 文件,那么直接将 `.DS_Store` 加入到 `.gitignore` 文件就可以了。如果你的项目中已经存在 `.DS_Store` 文件,那就需要先从项目中将其删除,再将它加入到 `.gitignore`。如下:...