摘要: 章节目录 "第一章 spring boot 2.x基础及概念入门" "1.1.spring boot 产生的背景及其优势" "1.2.spring boot 2.x 新特性说明" "1.3.helloworld及项目结构介绍" "1.4.IDEA结合spring boot开发技巧" "第二章 RES 阅读全文
posted @ 2019-10-18 22:23 字母哥博客 阅读(1377) 评论(1) 推荐(2) 编辑
摘要: 业务系统产生的明细数据通常要经过加工处理,按照一定逻辑计算成需要的结果,用以支持企业的经营活动。这类数据加工任务一般会有很多个,需要批量完成计算,在银行和保险行业常常被称为跑批,其它像石油、电力等行业也经常会有跑批的需求。 大部分业务统计都会要求以某日作为截止点,而且为了不影响生产系统的运行,跑批任 阅读全文
posted @ 2022-09-27 07:25 字母哥博客 阅读(251) 评论(1) 推荐(1) 编辑
摘要: 本专栏的上一篇文章写了《长篇图解etcd核心应用场景及编码实战》,本文继续。后续计划章节内容如下: 《长篇图解etcd核心应用场景及编码实战》 《搭建高可用etcd集群》 《基于etcd实现分布式锁(java代码实现)》 《基于etcd实现配置变更通知(java代码实现)》 《基于etcd实现服务注 阅读全文
posted @ 2022-09-08 14:11 字母哥博客 阅读(225) 评论(0) 推荐(1) 编辑
摘要: 大家好啊,我是字母哥,今天写一篇关于etcd的文章,其实网上也有很多关于etcd的介绍,我就简明扼要,总结提炼,期望大家通过这一篇文章掌握etcd的核心知识以及编码技能! 本文首先用大白话给大家介绍一下etcd是什么?这部分内容网上已经有很多了。 etcd有哪些应用场景?这些应用场景的核心原理是什么 阅读全文
posted @ 2022-08-31 11:50 字母哥博客 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是字母哥(coder)! 我让公司的小伙伴写一个生产级别的PostgreSQL的安装文档,结果他和我说:“不是用一个命令就能安装好么?还用写文档么?”。我知道他想说的是这个命令:yum install postgresql-server,我也是挺无语的。要知道生产级别的应用安装方式,和自己 阅读全文
posted @ 2022-08-26 12:06 字母哥博客 阅读(924) 评论(9) 推荐(8) 编辑
摘要: 远程调试的困境 对于IOT终端产品开发来说,调试有很多问题,无法复现产品的问题、无法查看出问题当时的log、需要指导用户进行tar包升级,无法查看远程设备状态。有的时候需要一边调试问题,一边和用户沟通,需要在个人主机和服务器之间不断的切换,造成了很大的沟通麻烦。并且由于终端产品大多数都是linux 阅读全文
posted @ 2022-08-24 11:03 字母哥博客 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 一、问题的描述 在实际的系统应用开发中我经常会遇到这样的一类需求,相信大家在工作中也会经常遇到: 同一个系统在多个省份部署。 一个业务在北京是一种实现方式,是基于北京用户的需求。 同样的业务在上海是另外一种实现方式,与北京的实现方式大同小异 遇到这样的需求,我们通常会定义一个业务实现的接口,比如: 阅读全文
posted @ 2022-08-24 03:45 字母哥博客 阅读(533) 评论(1) 推荐(5) 编辑
摘要: 所谓的延时任务给大家举个例子:你买了一张火车票,必须在30分钟之内付款,否则该订单被自动取消。订单30分钟不付款自动取消,这个任务就是一个延时任务。 我之前已经写过2篇关于延时任务的文章: 《完整实现-通过DelayQueue实现延时任务》 《延时任务(二)-基于netty时间轮算法实战》 这两种方 阅读全文
posted @ 2022-08-23 13:50 字母哥博客 阅读(873) 评论(4) 推荐(5) 编辑
摘要: 一、时间轮算法简介 为了大家能够理解下文中的代码,我们先来简单了解一下netty时间轮算法的核心原理 时间轮算法名副其实,时间轮就是一个环形的数据结构,类似于表盘,将时间轮分成多个bucket(比如:0-8)。假设每个时间轮轮片的分隔时间段tickDuration=1s(即:指针经过每个格子花费时间 阅读全文
posted @ 2022-08-19 13:01 字母哥博客 阅读(488) 评论(0) 推荐(3) 编辑
摘要: 实现延时任务有很多的方法,网上关于延时任务的实现的文章已经不少了。比如:实现延时任务的10种方法等等。但是这些文章基本上都是将方法大概的列举一下,给出部分示例代码,对于有经验的老程序员可能一看就知道该怎么去把它实现完整,但是对于初学者来说不够友好。所以,我打算写一个系列的文章,详细的给出每种延时任务 阅读全文
posted @ 2022-08-18 14:15 字母哥博客 阅读(569) 评论(3) 推荐(3) 编辑
摘要: 一、什么是java反射? 在java的面向对象编程过程中,通常我们需要先知道一个Class类,然后new 类名()方式来获取该类的对象。也就是说我们需要在写代码的时候(编译期或者编译期之前)就知道我们要实例化哪一个类,运行哪一个方法,这种通常被称为静态的类加载。 但是在有些场景下,我们事先是不知道我 阅读全文
posted @ 2022-08-15 07:37 字母哥博客 阅读(673) 评论(0) 推荐(4) 编辑
摘要: 一、应用场景 大家在使用Mybatis进行开发的时候,经常会遇到一种情况:按照月份month将数据放在不同的表里面,查询数据的时候需要跟不同的月份month去查询不同的表。 但是我们都知道,Mybatis是ORM持久层框架,即:实体关系映射,实体Object与数据库表之间是存在一一对应的映射关系。比 阅读全文
posted @ 2022-08-12 15:12 字母哥博客 阅读(653) 评论(0) 推荐(1) 编辑
摘要: 使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员、测试人员),这种情况下图形界面就有必要了。提供图形界面的方式来操作docker也的确是比使用命令行的方式更直接、更简单。所以很多的厂商 阅读全文
posted @ 2022-08-12 07:24 字母哥博客 阅读(477) 评论(0) 推荐(1) 编辑
摘要: 最近在写一些开源项目,想把自己写的东西放到maven中央仓库,提供给更多的人使用。所以写这一篇文章,记录一下自研开源项目jar包上传同步maven中央仓库成功的整个过程,这其中还是有不少的坑的。 首先需要在sonatype JIRA管理平台完成新建项目的申请,审核通过之后才能进行上传jar的操作 上 阅读全文
posted @ 2022-08-11 14:02 字母哥博客 阅读(642) 评论(1) 推荐(1) 编辑
摘要: JAVA开发中经常会遇到不方便使用数据库,但又要进行结构化数据计算的场景。JAVA早期没有提供相关类库,即使排序、分组这种基本计算也要硬写代码,开发效率很低。后来JAVA8推出了Stream库,凭借Lambda表达式、链式编程风格、集合函数,才终于解决了结构化数据计算类库从无到有的问题。 Strea 阅读全文
posted @ 2022-08-11 06:48 字母哥博客 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 一、实现原理 在Servlet3协议规范中,包含在JAR文件/META-INFO/resources/路径下的资源可以直接访问。 二、举例说明 如下图所示,是我新建的一个Spring Boot Starter项目:zimug-minitor-threadpool,用于实现可配置、可观测的线程池。其中 阅读全文
posted @ 2022-08-09 11:07 字母哥博客 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 在开发spring boot应用服务的时候,难免会使用到异步任务及线程池。spring boot的线程池是可以自定义的,所以我们经常会在项目里面看到类似于下面这样的代码 @Bean public Executor taskExecutor() { ThreadPoolTaskExecutor exe 阅读全文
posted @ 2022-08-08 12:43 字母哥博客 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 数据信息化的应用与项目中,通常都会遇到报表需求,数量少的,零星需要做的,可能手工就搞定了,数量多的,长期做的,基本都会选用一个报表工具,因为长期做,就必须考虑成本了,找一个称手的工具来降本增效是非常重要的 报表工具有那么多,那就得选型,选起来复杂就会纠结,选起来简单就没什么纠结的了 比如想选一台二手 阅读全文
posted @ 2022-08-01 08:53 字母哥博客 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 前后端分离开发的场景下,开发人员的工作内容更加专注与专业,但是也产生了一些额外的沟通成本。比如:本文中为大家说明的前后端参数传递与接受方法。本文主要是面对前端使用axios,后端使用Spring进行参数接受的情况进行说明。在使用spring的时候,与前端配合开发,容易出现传参歧义的2个注解是 @Re 阅读全文
posted @ 2022-08-01 07:53 字母哥博客 阅读(487) 评论(0) 推荐(1) 编辑
摘要: 本文为大家介绍容器自启动以及docker 守护进程挂掉或者docker升级的情况下,如何保证容器服务的正常运行。主要包含三个部分 一、守护进程开机自启 在我们安装docker的时候,介绍过启动docker守护进程的命令如下,需要人工手动执行。 systemctl start docker 如果我们希 阅读全文
posted @ 2022-07-25 08:12 字母哥博客 阅读(410) 评论(0) 推荐(2) 编辑
摘要: docker容器有三种状态运行、停止、暂停,镜像可以创建、运行容器,镜像和容器也可以转换成tar压缩包进行存储。本文为大家介绍容器的状态转换命令及镜像创建运行容器、tar包导入导出相关的命令及使用场景。 结合下文中的命令介绍来理解上面的这张图。 一、从镜像启动容器 从docker镜像启动一个容器的语 阅读全文
posted @ 2022-07-12 15:41 字母哥博客 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 一、国内Docker镜像仓库 由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的。国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库,使用国内的镜像仓库下载速度会有很大的提升。例如: Docker 官方提供的中国 registry m 阅读全文
posted @ 2022-07-12 08:52 字母哥博客 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 一般学习一项技术,会先用一个最简单的例子或最典型的例子来向大家讲解入门内容,所以此文为大家介绍使用docker安装nginx容器服务。从基础使用的角度来讲,此文几乎涵盖了docker最核心的内容:镜像拉取、容器运行、端口映射、文件映射,虽然基础但很重要,所以建议认真学习。 一、拉取镜像 docker 阅读全文
posted @ 2022-07-11 18:05 字母哥博客 阅读(520) 评论(2) 推荐(0) 编辑
摘要: 一、docker镜像与容器 docker镜像是一个可执行的静态独立软件包,包含打包程序代码和软件运行环境等文件。如:代码、运行时库、环境变量和配置文件等都包含在其中。容器是镜像的运行时状态(镜像中的软件、程序运行),占用服务器CPU、内存、磁盘等资源。 如果学过java,用下面的这个类比能够更形象的 阅读全文
posted @ 2022-07-11 11:12 字母哥博客 阅读(469) 评论(0) 推荐(1) 编辑
摘要: 为大家介绍在CentOS操作系统中安装docker的过程,linux其他发行版本安装docker方法可以参考官方提供的安装教程 一、前置要求 首先确定你是CentOS7及以上版本,按照官方文档说明目前安装docker ce最低的操作系统版本要求就是CentOS7,CentOS6不再被支持。(2022 阅读全文
posted @ 2022-07-10 09:58 字母哥博客 阅读(368) 评论(0) 推荐(0) 编辑
摘要: Docker是一个开源的容器引擎,它轻巧,且易移植,“build once, configure once and run anywhere”。使用go语言开发,并遵从apache2.0协议。 一、 传统软件行业中存在的问题 开发、生产、测试环境不一致,开发环境下可用的服务挪到生产上不可用。 不同环 阅读全文
posted @ 2022-07-08 08:59 字母哥博客 阅读(577) 评论(1) 推荐(0) 编辑