通过 Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)

RocketMQ 是一个由 Java 语言编写的分布式高性能消息中间件,由阿里创建,后将其开源给 Apache 基金会,现在已经成为 Apache 开源项目中的顶级开源项目,具有高性能、高可靠、高实时、分布式特点,尤其内部封装了很多跟业务相关的功能模块,能让我们快速用其解决业务上消息处理的一些难点,所以如何使用与部署 RocketMQ 是这里要讲的重点。这里记录一下如果通过 Docker 部署 RocketMQ Dledger 集群模式这个过程。

Read more

通过 Docker 部署 RocketMQ 双主双从模式( 版本v4.7.0)

RocketMQ 是一个由 Java 语言编写的分布式高性能消息中间件,由阿里创建,后将其开源给 Apache 基金会,现在已经成为 Apache 开源项目中的顶级开源项目,具有高性能、高可靠、高实时、分布式特点,尤其内部封装了很多跟业务相关的功能模块,能让我们快速用其解决业务上消息处理的一些难点,所以如何使用与部署 RocketMQ 是这里要讲的重点。这里记录一下如果通过 Docker 部署 RocketMQ 双主双从模式这个过程。

Read more

Kubernetes 部署 Metrics Server 获取集群指标数据

Metrics Server 是 Kubernetes 集群核心监控数据的聚合器,可以通过 Metrics API 的形式获取 Metrics 数据,不过仅仅是获取指标的最新值,不对旧值进行存储,且不负责将指标转发到第三方目标。Metrics Server 还可以与 Kubectl 工具结合使用,提供 kubectl top 命令来展示集群中的指标数据,接下来我们开始部署 Metrics Server。

Read more

解决 Docker 服务器存储资源池不足问题

最近在执行 Docker 运行命令启动镜像时候,无法正常执行 Docker 启动镜像命令,提示了 Thin Pool has 163051 free data blocks which is less than minimum required 163840 free data blocks 错误信息,能从字面意思了解这个错误跟存储有关,这里对这个问题进行一下探究及解决。

Read more

SpringBoot 接口幂等性的实现

接口幂等性是开发当中要求,也是对业系统正常执行的保障。尤其是支付、订单等与金钱挂钩的服务,保证接口幂等性尤其重要,如果幂等不能够保证,那么很可能出现重复提单、重复消费等一系列线上 Bug,这些问题是不能被接受的。这里简单调研了下业界常用接口幂等性保障方案,使用 SpringBoot 框架实现,进行一下这个过程记录。

Read more

通过 Docker 部署 Redis 6.x 集群

在 Redis 3.0 版本后正式推出 Redis 集群模式,该模式是 Redis 的分布式的解决方案,是一个提供在多个 Redis 节点间共享数据的程序集,且 Redis 集群是去中心化的,它的每个 Master 节点都可以进行读写数据,每个节点都拥有平等的关系,每个节点都保持各自的数据和整个集群的状态,且最重要的是它能够横方便向扩展数据。这里我们部署一下 Redis 6.x 版本的集群模式,这里记录下这个过程。

Read more

Java 中分布式 ID 的设计方案

互联网业务中,一套系统往往都是非常复杂的,很多时候都需要对大量数据进行处理与标识。例如,支付宝、美团、大众点评、京东商城、淘宝商城等等,都需要关联商品编号、用户下单单号、快递的快递号这样的数据,都需要使用一个唯一的 ID 进行标识。如何生成一个全局唯一的,且有序的 ID 对这些数据进行标识,成为分布式系统中很重要的考虑内容。这里我们介绍下 Java 中常用的分布式 ID 生成方案。

Read more

Spring 事务管理详解

日常开发我们经常会提及事务的概念,也会使用数据库事务进行一些列的涉及商品价格的操作,可以说事务是我们开发中必不可续的功能。Spring 框架中对事物进行了一些列封装,提供了事务接口,将事务的实现交由集成的持久层框架完成。可以说非常方便我们在使用 Spring 框架式,用简单的方式就实现事务。这里详细介绍下 Spring 中的事务相关内容。

Read more

通过 Helm 搭建 Docker 镜像仓库 Harbor

Harbor 是一个开放源代码容器镜像注册表,可通过基于角色权限的访问控制来管理镜像,还能扫描镜像中的漏洞并将映像签名为受信任。Harbor 是 CNCF 孵化项目,可提供合规性,性能和互操作性,以帮助跨 Kubernetes 和 Docker 等云原生计算平台持续,安全地管理镜像。下面将记录下,如何通过 Helm 安装 Docker 镜像仓库 Harbor。

Read more

Java 8 中使用 Stream 方式处理数据

在 Java 8 中增加了一个新的抽象接口 Stream API,它支持声明式的处理数据。使用 Stream 操作集合似于使用 SQL 语句数据库查找数据类似,提供直观的方法进行操作。 同时 Stream API 让开发者能够快速写出干净、简洁的代码,提高开发者的开发效率。

Read more