Java 8 中新增日期时间 API 的使用

在 Java 1.8 版本之前,日期时间 API 存在诸多问题,开发者使用体验非常糟糕,在 Java 8 通过发布新的 Date-Time API (JSR 310) 来对日期与时间的处理的方法进行了改善。而这里进行介绍下 Java 1.8 中的操作日期时间的的方法的使用。

Read more

SpringBoot 实现 Websocket 通信详解

WebSocket 是一种基于 TCP 的网络协议,也是一种全双工通信的协议,既允许客户端向服务器主动发送消息,也允许服务器主动向客户端发送消息。在 WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就可以建立持久性的连接,进行双向数据传输。对于双向信息交互的需求来说,使用 WebSocket 实现业务逻辑非常合适,这里介绍下 SpringBoot 如何实现基于 WebSocket 的功能需求,并写了四个基本操作示例进行演示。

Read more

Helm 安装 ElasticSearch & Kibana 7.x 版本

Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便,轻松扩展服务节点,更能用于日志收集快速检索等等一些列功能。所以在 Kubernetes 中搭配 ElasticSearch 集群是非常有必要的,通过 Yaml 文件安装 ElasticSearch 非常不方便且安装的可能非常不稳定导致发生很多问题,所以这里利用 Helm 来安装 ElasticSearch 和 Kibana,这里将介绍安装过程。

Read more

SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解

MongoDB 是现在常用的 NoSQL 数据库,采用了键值对(JSON)方式存储数据,文档式的存储方式对开发者非常友好,并且 MongoDB 也支持副本集、分片等高可用,也提供多种数据查询方式。这里我们使用 SpringBoot 框架集成 Spring Data MongoDB 框架对 MongoDB 数据库中的数据进行操作,这里记录下这些操作示例。

Read more

Jenkins Pipeline 中使用 Kafka 插件将消息发送到 Kafka

在平时我们使用 Jenkins 执行任务构建时候会产生很多指标性数据,这些数据会输出到 Jenkins 日志中,在 Jenkins 中日志是存储到文件里面的,且数据量多我们收集起存储来不是很方便,很多时候我们只要部分指标关键数据,例如,用于统计任务构建时长的'开始时间'和'结束时间'、'任务执行次数'、'任务执行人'、'任务编号'等等。收集这些关系指标数据有很多方法,可以使用 logstash 插件将数据输入到 Elasticsearch 中,也可以输出到 Kafka 等应用处理后再存储,这里就是将数据输出到 Kafka 中,方便后续处理这些数据。这里介绍下如何安装与使用该插件。

Read more

安装 Helm3 管理 Kubernetes 应用

Helm 是一款能够帮助你管理 Kubernetes 应用的程序,使用起来类似于 Kubectl 工具,只需要通过简单的命令,就能部署复杂的应用程序。这里我们将安装 Helm 3.0 并记录这个安装过程。

Read more

Springboot 中使用 Gson 与 Fastjson 替换默认 Json 组件 Jackson

现在流行的 SpringBoot 是我们在日常开发中经常用的开源框架,它默认的 Json 解析器是基于 Jackson 的,有时候我们需要将这个默认 Json 解析器替换为 FastJson 或者 Gson,替换起来也很简单,只需要移除 Jackson 的配置,然后自定义一个 HttpMessageConverters 就可以完成该项操作。这里记录下这个过程,并且解决在使用 Gson 替换 Jackson 后 Swagger 无法正常使用的问题。

Read more

Jenkins Pipeline 中使用 Git 插件对项目进行 Pull 与 Push

在 Jnekins 安装后,一般都会默认安装上 Git 插件,在写 Pipeline 脚本时候,也经常使用 Git 插件从 Git 仓库拉取项目进行编译,可以说使用 Git 已经是日常化操作,如何使用 Git 插件从 Git 远程仓库拉取与推送代码更是常用命令,这里介绍下如果通过 Git 插件进行这些操作。

Read more

Traefik 路由规则及中间件 Traefik Middlewares 的配置

Traefik 是一款开源的边缘路由器,现在本人主要要作用于 kubernetes 中对外的网关,即 Ingress 路由器,可以很轻松的配置其路由规则。在配置路由规则过程中,我们经常要进行一些使用过程中,我们经常要在转发到对应后端服务时候进行一些加工,例如,限流、去除前缀、鉴权等等,对于这些需求 Traefik 提供了基于 CRD 的 Middlewares 中间件组件,里面可以灵活搭配多种功能对路由进行处理,这里我们简单介绍下。

Read more

解决 Kubernetes 中 Kubelet 组件报 failed to get cgroup 错误

最近查看 Kubelet 日志,发现日志中报 Failed to get system container stats for '/system.slice/docker.service',错误信息,而且是一直循环报,所以这里对该问题进行了查找与分析,并解决了该问题,所以这里记录一下。

Read more