自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhuyu19911016520

记录开发中的点点滴滴

原创 java项目打包成docker镜像与k8s运行的镜像

1.打包成docker镜像,Dockerfile如下 预留一个 $JAVA_OPTS 参数,接收启动镜像时的java参数 FROM openjdk:8-jdk-alpine ADD apicenter-1.0.jar apicenter.jar ENTRYPOINT ["/bin/sh&...

2020-07-09 09:34:31 23 0

转载 Java核心知识点之注解简介和最佳实践

111

2020-06-30 09:36:17 46 0

原创 分布式任务调度平台xxl-job初使用

1.因为在服务中写定时任务,当服务发布多份实例时,会多次执行,可能造业务数据混乱,把定时任务执行次数分离出来,由分布式任务调度平台去控制 2.本篇将介绍 xxl-job 官网地址:https://www.xuxueli.com/xxl-job Github:https://github.com/...

2020-06-28 13:44:41 65 0

原创 JetCache多级缓存

1.JetCache,阿里巴巴开源多级缓存框架 JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。 当前有...

2020-06-24 21:53:33 182 0

原创 SpringBoot集成单元测试

Spring基本单元测试 pom.xml 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-...

2020-06-22 15:32:59 56 0

原创 SpringCloud Feign Get请求传对象参数

前置说明,有A、B两个服务,A服务调用B服务,B服务接口是Get类型,接受参数对象 feign get请求传对象参数分两种情况 1.版本在2.1之前,如我springboot是2.0.6.RELEASE,springcloud是Finchley.SR2版本,则A服务使用Map map替代对象传给...

2020-06-22 15:15:43 131 0

原创 调用链监控Skywalking与Zipkin

1.Skywalking与Zipkin的区别 颗粒度:Skywalking方法级(展示的更详细),方法中所有的调用都展示出来了,如数据库调用、redis调用,第三方网络调用,而Zipkin只能展示接口级 UI界面:Skywalking完胜,国产开源,更适合国人眼球 代码侵入性:Skywalkin...

2020-06-16 11:39:23 161 0

原创 SpringBoot MySql读写分离-多数据源集成

1.业务场景 客户给了3台MySQL数据库服务器,一主二从,程序需要集成读写分离,充分提升数据处理能力 数据层使用了MyBatis-Plus,它有一个多数据源的中间件 dynamic-datasource-spring-boot-starter 参考:MyBatis-Plus 2.MySql主从 ...

2020-06-10 14:44:16 67 0

原创 Prometheus+Grafana项目实战

项目上线后,需要对服务器资源,MySql,JVM,业务系统总请求数等,进行监控,通过监控找到系统盲区,反过来优化系统,比如服务器资源使用情况,Mysql慢sql等,JVM的GC情况,某个业务某段时间的总请求数 下面的文章是Prometheus与Grafana的基础文章,请参考 Prometheu...

2020-05-25 21:02:26 272 0

原创 Linux Centos7 ImageMagick压缩某目录下的图片

1.系统上线一段时间后,服务器图片目录上传了13G多的图片,而且图片很大一张张的,因此需要把图片进行压缩 2.百度各种压缩方案,发现 Linux 上 ImageMagick 软件很好,C语言开发的,可以压缩、裁剪、加水印,功能太多了,自己去官网看吧,且已在GitHub上开源 3.开源地址:http...

2020-05-11 15:18:53 104 0

原创 nfs网络文件系统

1.使用nfs的背景? 单体项目部署到多个服务器上时,上传图片也会分步在各个服务器上,因此把文件挂载在共享目录中,就需要用到 nfs 网络文件系统,多个服务会把图片上传到该共享目录中,达到数据统一的目的 2.nfs nfs分为服务端与客户端,服务端做为共享目录,为客户端提供挂载、存储文件的能力 3...

2020-04-25 23:07:49 104 0

原创 docker下 MYSQL5.7版本 sql_mode=only_full_group_by问题

解决办法:把docker容器中mysql的 mysqld.cnf 文件复制出来,修改其配置,然后启动容器时使用本地修改后的配置。 具体操作如下: 1.先启动mysql,执行下面的脚本 docker run -d --name mysql -it --restart=always \ -v /ro...

2020-03-07 00:23:05 141 0

原创 Java IO和NIO读取大文件,对比速度

话题:假设机器只有500M内存,有一个1.23GB的文件,要从一个目录复制到另外一个目录 目的:比较IO与NIO的读取速度效率 细节:大文件不能一次读到内存中,否则会内存溢出,只能每次读取固定大小的数据流 下面进行代码实现,在实现代码中,有的代码是一次性读取全部内容到内存中,有的是读取固定大小,...

2020-02-20 15:42:39 1093 0

原创 flutter app内更新升级

用flutter开发了一个简单的跨平台app,在网上找了很多 app内升级的博客,大部分都是复制的,不过有一篇好文章推荐给大家,重点是引用的插件尽量和此博客中的一样,否则编译时各种报错,Flutter 项目 app迭代更新 下面将分详细说说,为那些初学者提供思路,并把demo分享出来,看看源码 1...

2020-01-10 21:33:56 893 1

原创 Nginx核心要领十四:Nginx安装配置完整版

1.更新与安装编译工具 yum update yum -y install vim gcc gcc-c++ automake autoconf libtool make pcre-devel openssl openssl-devel zlib zlib-devel 2.下载nginx w...

2019-12-25 11:32:26 229 0

原创 RabbitMQ 安装延迟队列插件实现延时消息

之前博客写了 RabbitMQ 延迟队列的实现,是通过死信队列与转发队列配合实现延时消息的功能 本篇将利用RabbitMQ的延时队列插件,实现延时功能,下面分两部分介绍怎么实现延时功能 1.用Docker安装 RabbitMQ和延时插件 插件下载地址:https://www.rabbitmq...

2019-12-20 15:53:34 1058 3

原创 MQTT跃跃欲试

在上篇 MQTT初入门 中介绍了MQTT,也列出了 eclipse-mosquitto 实现MQTT后对外提供的服务的一些问题,后面又找了一个MQTT的开源实现 EMQ X EMQ X R3.2 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang...

2019-12-19 22:37:29 130 0

原创 MQTT初入门

1.MQTT 入门介绍 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQ...

2019-12-19 09:37:46 129 0

原创 图片压缩-服务端压缩与客户端压缩

1.服务端压缩 1.hutool ,它是个java工具库,官网地址:https://hutool.cn/docs/#/ 图片工具部分有使用示例,缩放比例设置为0.5,压缩后的图片是原图的一半(宽度、高度) ImgUtil.scale( FileUtil.file("...

2019-12-05 15:21:16 210 0

原创 SpringBoot日志框架使用指南

市面上常见的日志框架有很多,比如:JCL、SLF4J、Jboss-logging、jUL、log4j、log4j2、logback等等 通常情况下,日志是由一个抽象层+实现层的组合使用的 抽象层 实现层 JCL、SLF4J、jboss-logging ju...

2019-12-03 09:57:16 120 0

原创 SpringBoot项目启动时自动配置原理

本篇说说SpringBoot项目启动时的原理,是按个人理解,说的不好请谅解 1.创建好项目后有个主类,上面有@SpringBootApplication注解 package com.yizheng.api; @SpringBootApplication public class Api...

2019-12-02 12:00:49 163 0

转载 Docker搭建GitLab

转载二篇文章 Docker搭建GitLab:https://segmentfault.com/a/1190000019019854 Centos搭建GitLab:https://segmentfault.com/a/1190000019019787 一、安装 一般会将 GitLab 的配置 (...

2019-11-27 10:37:26 377 0

原创 云原生应用11:SpringBoot应用打包成docker镜像

本文将介绍SpringBoot开发的应用打包成docker镜像,然后运行镜像为容器 依赖Docker:docker安装 依赖MySql: 下载mysql镜像,docker pull mysql:5.7.26 运行为容器,设置数据存储到宿主机,root用户密码:docker run -d...

2019-11-02 19:31:15 222 0

原创 云原生应用10:Helm让k8s部署有状态应用变得简单

1.Helm简介 大家都用过centos的yum,它是Linux系统下的包管理工具,通过yum 可以很方便的安装各种工具,而 Helm 是 Kubernetes中方便有状态应用部署的工具,通过 helm 可以很方便部署一个 redis 集群、rabbitmq集群等等,这些集群的镜像已经被 hel...

2019-10-25 16:20:09 146 0

原创 云原生应用9:Kubernetes搭建dashboard,UI界面操作k8s资源

上篇都是使用 kubectl 命令行工具操作k8s集群资源,为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web Dashboard,用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资...

2019-09-29 16:23:50 194 0

原创 云原生应用8:Kubernetes基础用法

kubernetes有两种类型的节点 master 与 node 节点,master负责调度任务,node也叫worker节点,负责具体运算,默认使用docker容器运行时 master上有4大组件:Api-Server、Scheduler、Etcd、ControllerManager wor...

2019-09-26 20:10:23 127 0

原创 SpringBoot使用ELK做日志收集

https://www.elastic.co/cn/ 1.ELK是有Elastic公司的三个组件配合进行日志收集,分别是: ElasticSearch:用于存储日志信息。 Logstash:用于收集、处理和转发日志信息。 Kibana:提供可搜索的Web可视化界面。 当然,现在很...

2019-09-17 16:08:56 385 0

原创 Linux安装Kibana

centos7.6 安装kibana,依赖 JDK,可参考 jdk安装 安装Kibana 1.地址:https://www.elastic.co/cn/downloads/kibana,选择历史版本,选择6.8.1下载,和上篇 Elasticsearch 版本一致 2.下载:wget https...

2019-09-17 15:47:47 95 0

原创 Linux安装Logstash

centos7.6 安装logstash,依赖 JDK,可参考 jdk安装 安装 Logstash 1.地址:https://www.elastic.co/cn/downloads/logstash,选择历史版本,选择6.8.1下载,和上篇 Elasticsearch 版本一致 2.下载:wge...

2019-09-17 15:38:26 148 0

原创 Linux安装Elasticsearch

centos7.6 安装elasticsearch 1 安装JDK 下载 jdk-8u191-linux-x64.tar,解压 打开 vi /etc/profile ,输入jdk地址 export JAVA_HOME=/usr/local/jdk1.8.0_191 export CLASSPA...

2019-09-17 15:20:45 115 0

原创 云原生应用7:Kubernetes简介与使用kubeadm安装集群

Kubernetes简介 Kubernetes(k8s)是自动化容器操作的开源平台,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性,它解决了传统IT系统中服务扩容和升级的两大难题。 kubernetes有两种类型的节点 master ...

2019-09-05 16:10:51 143 0

原创 云原生应用6:用VMware的开源产品 Harbor 搭建私有Registry仓库

Harbor,是VMware公司基于docker registry进行二次开发后的产品,因有美观的图形界面,多租户等特性被很多人员使用 Harbor 在Github地址:https://github.com/goharbor/harbor Harbor 的特性 1.Cloud nativ...

2019-09-02 17:43:02 176 0

原创 云原生应用5:搭建私有Docker Registry仓库

搭建私有仓库就像Maven私服一样,在集群内网,下载、推送镜像速度快 有两种方式安装私有仓库 1.下载registry镜像,启动为容器,链接:https://pan.baidu.com/s/1MKEw3I61ZH7FrhabO2hVdg 提取码:ionx 2.在宿主机上使用 yum in...

2019-09-02 15:23:42 418 0

原创 云原生应用4:Dockerfile制作镜像

上一篇 docker镜像管理 中介绍了 使用docker commit 命令打包容器为镜像,本篇将介绍使用Dockerfile制作镜像 要点:需要一个专门的目录,存放Dockerfile文件,且Dockerfile文件首字母必须大写,如果有某些文件要打包到镜像中,需要把这些文件也放到该目录(和D...

2019-09-02 11:33:03 161 0

原创 云原生应用3:docker镜像管理

本篇能让你了解到基于容器制作镜像,并把镜像上传到docker hub上 docker采用分层构建机制,最底层为bootfs,是用于系统引导的文件系统,容器启动完后会被卸载以节约内存资源,最底层的称为基础镜像base image,最上层为可写层,其下的均为只读层 启动容器时,docker dae...

2019-09-01 16:12:05 103 0

原创 云原生应用2:docker在线/离线安装与基础用法

docker安装与基础用法

2019-08-27 22:35:31 135 0

原创 云原生应用1:容器基础入门

111

2019-08-27 21:54:04 139 0

原创 SpringBoot @Async异步并行执行任务

说@Async注解时,得先说说异步任务的由来,按我的理解,从Java5版本就提供 Future 接口,Future接口可以充分利用多核CPU处理能力,它允许任务在一个新的核上开启一个新的子线程,子线程和原来的任务同时运行,因为Future 的局限性Java8对Future进行重新实现,实现类 Co...

2019-08-21 20:42:48 2531 0

翻译 Redis参数配置详解,和 bind 参数只允许某IP访问

daemonize no #Redis默认是不作为守护进程来运行的。你可以把这个设置为"yes"让它作为守护进程来运行。 #注意,当作为守护进程的时候,Redis会把进程ID写到 /var/run/redis.pid pidfile /var/run/redis.pid ...

2019-08-21 11:42:06 810 0

原创 SpringBoot打成jar运行后无法读取resources里的文件

在开发一个word导出、替换内容功能时,因替换内容功能需要一个 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下 在开发环境中通过下面的方法能正确读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无...

2019-08-01 16:31:50 7619 3

提示
确定要删除当前文章?
取消 删除