关于作者
- 微信公众号、头条号、CSDN账号都是程序员欣宸
- 前腾讯、前阿里员工,从事Java后台工作;
- 对Docker和Kubernetes充满热爱;
- 所有文章均为作者原创;
关于这个代码仓库
- CSDN博客地址:http://blog.csdn.net/boling_cavalry
- 这个代码仓库里是博客中涉及的源码、文件等
- 如果对您有帮助,请给个Star,谢谢您!
文章分类
总的来说分为以下几大类,若有您感兴趣的内容,我将不胜荣幸:
- Java;
- 后台中间件;
- Docker;
- Kubernetes;
- 大数据;
- 综合兴趣,例如LeetCode、树莓派、群晖系统等;
- DevOps;
- 常用工具和技巧;
- 问题处理备忘;
Java领域
基础知识
- 《CentOS7安装JDK8》
- 《Ubuntu下安装OpenJDK10》
- 《Ubuntu环境下载OpenJDK11源码》
- 《体验RxJava和lambda》
- 《实战限流(guava的RateLimiter)》
- 《java.util.Optional学习笔记》
- 《org.springframework.util.StopWatch:简洁的耗时统计小工具》
进阶实战
- 《Java实战操作MongoDB集群(副本集)》
- 《Docker下Java文件上传服务三部曲之一:准备环境》
- 《Docker下Java文件上传服务三部曲之二:服务端开发》
- 《Docker下Java文件上传服务三部曲之三:wireshark抓包分析》
- 《实战Redis序列化性能测试(Kryo和字符串)》
- 《JavaCPP快速入门(官方demo增强版)》
畅游JVM世界
- 《极简,利用Docker仅两行命令就能下载和编译OpenJDK11》
- 《利用Docker极速下载OpenJDK11源码》
- 《制作Docker镜像,用来下载OpenJDK11源码》
- 《制作Docker镜像,用来编译OpenJDK11源码》
- 《Ubuntu环境编辑OpenJDK11源码》
- 《openjdk镜像的tag说明》
- 《ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本?》
- 《ARM架构下的Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?》
- 《极速体验编译openjdk8(docker环境)》
- 《在docker上编译openjdk8》
- 《修改,编译,GDB调试openjdk8源码(docker环境下)》
- 《环境变量_JAVA_LAUNCHER_DEBUG,它能给你更多的jvm信息》
- 《Java虚拟机学习:方法调用的字节码指令》
- 《Java的wait()、notify()学习三部曲之一:JVM源码分析》
- 《Java的wait()、notify()学习三部曲之二:修改JVM源码看参数》
- 《Java的wait()、notify()学习三部曲之三:修改JVM源码控制抢锁顺序》
玩转Maven
- 《Ubuntu部署和体验Nexus3》
- 《没有JDK和Maven,用Docker也能构建Maven工程》
- 《maven构建docker镜像三部曲之一:准备环境》
- 《maven构建docker镜像三部曲之二:编码和构建镜像》
- 《maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)》
- 《实战maven私有仓库三部曲之一:搭建和使用》
- 《实战maven私有仓库三部曲之二:上传到私有仓库》
- 《实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库》
- 《修改gradle脚本,加速spring4.1源码编译构建速度》
- 《Docker与Jib(maven插件版)实战》
- 《Jib使用小结(Maven插件版)》
- 《Jib构建镜像问题从定位到深入分析》
- 《kubernetes下的jenkins如何设置maven》
- 《kubernetes下jenkins实战maven项目编译构建》
- 《Nexus3常用功能备忘》
玩转Gradle
Jackson学习特辑
- 《jackson学习之一:基本信息》
- 《jackson学习之二:jackson-core》
- 《jackson学习之三:常用API操作》
- 《jackson学习之四:WRAP_ROOT_VALUE(root对象)》
- 《jackson学习之五:JsonInclude注解》
- 《jackson学习之六:常用类注解》
- 《jackson学习之七:常用Field注解》
- 《jackson学习之八:常用方法注解》
- 《jackson学习之九:springboot整合(配置文件)》
- 《jackson学习之十(终篇):springboot整合(配置类)》
JUnit5学习特辑
《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下:
- 《JUnit5学习之一:基本操作》
- 《JUnit5学习之二:Assumptions类》
- 《JUnit5学习之三:Assertions类》
- 《JUnit5学习之四:按条件执行》
- 《JUnit5学习之五:标签(Tag)和自定义注解》
- 《JUnit5学习之六:参数化测试(Parameterized Tests)基础》
- 《JUnit5学习之七:参数化测试(Parameterized Tests)进阶》
- 《JUnit5学习之八:综合进阶(终篇)》
jetcd学习特辑
disruptor学习特辑
MyBatis学习(初级版)
- 《MyBatis初级实战之一:Spring Boot集成》
- 《MyBatis初级实战之二:增删改查》
- 《MyBatis初级实战之三:springboot集成druid》
- 《MyBatis初级实战之四:druid多数据源》
- 《MyBatis初级实战之五:一对一关联查询》
- 《MyBatis初级实战之六:一对多关联查询》
java版gRPC实战专辑
视图邻域
Spring领域
Spring基础
- 《实战spring自定义属性(schema):快速体验》
- 《spring的BeanFactory和ApplicationContext》
- 《ImportSelector与DeferredImportSelector的区别(spring4)》
- 《实战spring自定义属性(schema)》
Spring扩展实战专题
- 《spring4.1.8扩展实战之一:自定义环境变量验证》
- 《spring4.1.8扩展实战之二:Aware接口揭秘》
- 《spring4.1.8扩展实战之三:广播与监听》
- 《spring4.1.8扩展实战之四:感知spring容器变化(SmartLifecycle接口)》
- 《spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)》
- 《spring4.1.8扩展实战之六:注册bean到spring容器(BeanDefinitionRegistryPostProcessor接口)》
- 《spring4.1.8扩展实战之七:控制bean(BeanPostProcessor接口)》
- 《spring4.1.8扩展实战之八:Import注解》
畅游Spring源码世界
- 《修改和编译spring源码,构建jar(spring-context-4.0.2.RELEASE)》
- 《spring+mybatis启动NoClassDefFoundError异常分析三部曲之一:稳定重现问题》
- 《spring+mybatis启动NoClassDefFoundError异常分析三部曲之二:定位错误》
- 《spring+mybatis启动NoClassDefFoundError异常分析三部曲之三:改spring源码,取详细错误》
- 《SpringMVC源码分析:POST请求中的文件处理》
- 《下载Spring4.1.x源码并用IntelliJ IDEA打开》
- 《windows下修改、编译、构建spring-framework4.1.8.RELEASE源码》
- 《spring4.1.8初始化源码学习三部曲之一:AbstractApplicationContext构造方法》
- 《spring4.1.8初始化源码学习三部曲之二:setConfigLocations方法》
- 《spring4.1.8初始化源码学习三部曲之三:AbstractApplicationContext.refresh方法》
SpringBoot基础
- 《自定义spring boot starter三部曲之一:准备工作》
- 《自定义spring boot starter三部曲之二:实战开发》
- 《自定义spring boot starter三部曲之三:源码分析spring.factories加载过程》
- 《基于spring boot框架访问zookeeper》
- 《Docker下运行springboot》
- 《springboot线程池的使用和扩展》
- 《SpringBoot下用Kyro作为Redis序列化工具》
- 《springboot应用查询城市天气》
- 《立即可用的实战源码(springboot+redis+mybatis+restTemplate)》
- 《SpringBoot-2.3镜像方案为什么要做多个layer》
- 《体验SpringBoot(2.3)应用制作Docker镜像(官方方案)》
- 《详解SpringBoot(2.3)应用制作Docker镜像(官方方案)》
- 《掌握SpringBoot-2.3的容器探针:基础篇》
- 《掌握SpringBoot-2.3的容器探针:深入篇》
- 《掌握SpringBoot-2.3的容器探针:实战篇》
- 《springboot的jar为何能独立运行》
- 《SpringBoot(2.4)应用制作Docker镜像(Gradle版官方方案)》
SpringBoot进阶实战
- 《Docker下redis与springboot三部曲之一:极速体验》
- 《Docker下redis与springboot三部曲之二:安装redis主从和哨兵》
- 《Docker下redis与springboot三部曲之三:springboot下访问redis哨兵》
- 《SpringBoot应用使用自定义的ApplicationContext实现类》
- 《Spring Boot应用在kubernetes的sidecar设计与实战》
- 《Spring Native实战(畅快体验79毫秒启动springboot应用)》
- 《三分钟体验:SpringBoot用深度学习模型识别数字》
- 《SpringBoot用深度学习模型识别数字:开发详解》
SpringCloud基础
SpringCloud实战
- 《Docker下的Spring Cloud三部曲之一:极速体验》
- 《Docker下的Spring Cloud三部曲之二:细说Spring Cloud开发》
- 《Docker下的Spring Cloud三部曲之三:在线横向扩容》
- 《本地服务调用K8S环境中的SpringCloud微服务实战》
Eureka源码分析专题
- 《Spring Cloud源码分析之Eureka篇第一章:准备工作》
- 《Spring Cloud源码分析之Eureka篇第二章:注册中心启动类上的注解EnableEurekaServer》
- 《Spring Cloud源码分析之Eureka篇第三章:EnableDiscoveryClient与EnableEurekaClient的区别(Edgware版本)》
- 《Spring Cloud源码分析之Eureka篇第四章:服务注册是如何发起的》
- 《Spring Cloud源码分析之Eureka篇第五章:更新服务列表》
- 《Spring Cloud源码分析之Eureka篇第六章:服务注册》
- 《Spring Cloud源码分析之Eureka篇第七章:续约》
- 《Spring Cloud源码分析之Eureka篇第八章:服务注册名称的来历》
Spring Cloud Gateway从入门到提高
. 《Spring Cloud Gateway实战之一:初探》 . 《Spring Cloud Gateway实战之二:更多路由配置方式》 . 《Spring Cloud Gateway实战之三:动态路由》 . 《Spring Cloud Gateway实战之四:内置predicate小结》 . 《Spring Cloud Gateway实战之五:内置filter》 . 《Spring Cloud Gateway的断路器(CircuitBreaker)功能》 . 《Spring Cloud Gateway自定义过滤器实战(观测断路器状态变化)》 . 《Spring Cloud Gateway限流实战》 . 《Spring Cloud Gateway修改请求和响应body的内容》 . 《Spring Cloud Gateway过滤器精确控制异常返回(分析篇)》 . 《Spring Cloud Gateway过滤器精确控制异常返回(实战,控制http返回码和message字段)》 . 《Spring Cloud Gateway过滤器精确控制异常返回(实战,完全定制返回body)》
spring-cloud-alibaba实战
- 《Docker下,两分钟极速体验Nacos》;
- 《Docker下的Nacos环境开发》;
- 《Docker下,两分钟极速体验Nacos配置中心》;
- 《Docker下Nacos配置应用开发》;
- 《Docker下Nacos持久化配置》;
spring-cloud-kubernetes特辑
- 《spring-cloud-kubernetes官方demo运行实战》
- 《你好spring-cloud-kubernetes》
- 《spring-cloud-kubernetes背后的三个关键知识点》
- 《spring-cloud-kubernetes的服务发现和轮询实战(含熔断)》
- 《spring-cloud-kubernetes与SpringCloud Gateway》
- 《spring-cloud-kubernetes与k8s的configmap》
- 《spring-cloud-kubernetes自动同步k8s的configmap更新》
spring-cloud-square特辑
- 五分钟搞懂spring-cloud-square
- spring-cloud-square开发实战(三种类型全覆盖)
- spring-cloud-square源码速读(spring-cloud-square-okhttp篇)
- spring-cloud-square源码速读(retrofit + okhttp篇)
dubbo实战特辑
Docker
基础知识
- 《Docker的准备,安装,初体验》
- 《CentOS7安装docker》
- 《docker下载镜像慢怎么办?daocloud加速器来帮你》
- 《docker私有仓库搭建与使用实战》
- 《maven构建docker镜像三部曲之一:准备环境》
- 《maven构建docker镜像三部曲之二:编码和构建镜像》
- 《maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)》
- 《查看Docker容器的信息》
- 《Docker镜像制作实战:设置时区和系统编码》
- 《Docker镜像列表中的none:none是什么》
- 《Docker多阶段构建实战(multi-stage builds)》
- 《docker的/var/run/docker.sock参数》
- 《docker与gosu》
- 《Docker远程连接设置》
- 《TLS加密远程连接Docker》
- 《CentOS部署Harbor镜像仓库》
- 《Docker常用命令小记》
- 《一行命令安装docker和docker-compose(CentOS7)》
- 《极速体验docker容器健康》
- 《Java应用在docker环境配置容器健康检查》
- 《docker-compose下的java应用启动顺序两部曲之一:问题分析》
- 《docker-compose下的java应用启动顺序两部曲之二:实战》
- 《设置非root账号不用sudo直接执行docker命令》
- 《SpringBoot-2.3镜像方案为什么要做多个layer》
进阶实战
- 《Docker下的web开发和Tomcat部署》
- 《实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署》
- 《实战docker,构建nginx反向代理tomcat,学习link和docker-compose》
- 《在docker上编译openjdk8》
- 《修改,编译,GDB调试openjdk8源码(docker环境下)》
- 《让docker中的mysql启动时自动执行sql》
- 《Docker搭建disconf环境,三部曲之一:极速搭建disconf》
- 《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》
- 《Docker搭建disconf环境,三部曲之三:细说搭建过程》
- 《docker下使用disconf:极速体验》
- 《docker下使用disconf:细说demo开发》
- 《jedis使用入门(Docker环境下)》
- 《Docker下kafka学习,三部曲之一:极速体验kafka》
- 《Docker下kafka学习,三部曲之二:本地环境搭建》
- 《Docker下kafka学习,三部曲之三:java开发》
- 《Docker下部署dubbo,消费者应用无法使用link参数的问题》
- 《Docker下dubbo开发,三部曲之一:极速体验》
- 《Docker下dubbo开发,三部曲之二:本地环境搭建》
- 《Docker下dubbo开发,三部曲之三:java开发》
- 《Docker下实战zabbix三部曲之一:极速体验》
- 《Docker下实战zabbix三部曲之二:监控其他机器》
- 《Docker下实战zabbix三部曲之三:自定义监控项》
- 《极速体验编译openjdk8(docker环境)》
- 《Docker下HBase学习,三部曲之一:极速体验》
- 《Docker下HBase学习,三部曲之二:集群HBase搭建》
- 《Docker下HBase学习,三部曲之三:java开发》
- 《Docker下,极速体验mongodb》
- 《制作mongodb的Docker镜像文件》
- 《Docker下,实战mongodb副本集(Replication)》
- 《Docker下安装Rockmongo,图形化操作mongodb》
- 《Docker下的Kafka学习之一:制作集群用的镜像文件》
- 《Docker下的Kafka学习之二:搭建集群环境》
- 《Docker下的Kafka学习之三:集群环境下的java开发》
- 《Docker下,极速体验编译pinpoint1.6.x分支》
- 《把pinpoint编译环境做成Docker镜像文件》
- 《Docker下,极速体验pinpoint1.6.3》
- 《Docker下,pinpoint环境搭建》
- 《pinpoint插件开发之一:牛刀小试,调整gson插件》
- 《pinpoint插件开发之二:从零开始新建一个插件》
- 《docker下的Jenkins安装和体验》
- 《Docker下运行springboot》
- 《Docker下redis与springboot三部曲之一:极速体验》
- 《Docker下redis与springboot三部曲之二:安装redis主从和哨兵》
- 《Docker下redis与springboot三部曲之三:springboot下访问redis哨兵》
- 《实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库》
- 《Docker下的Spring Cloud三部曲之一:极速体验》
- 《Docker下的Spring Cloud三部曲之二:细说Spring Cloud开发》
- 《Docker下的Spring Cloud三部曲之三:在线横向扩容》
- 《Docker下的OpenResty三部曲之一:极速体验》
- 《Docker下的OpenResty三部曲之二:细说开发》
- 《Docker下的OpenResty三部曲之三:OpenResty加Tomcat的服务》
- 《Docker下Java文件上传服务三部曲之一:准备环境》
- 《Docker下Java文件上传服务三部曲之二:服务端开发》
- 《Docker下Java文件上传服务三部曲之三:wireshark抓包分析》
- 《Docker下手工配置MySQL主从》
- 《Docker下MySQL主从三部曲之一:极速体验》
- 《Docker下MySQL主从三部曲之二:细说镜像制作》
- 《Docker下MySQL主从三部曲之三:binlog日志参数实战》
- 《Docker下ELK三部曲之一:极速体验》
- 《Docker下ELK三部曲之二:细说开发》
- 《Docker下ELK三部曲之三:K8S上的ELK和应用日志上报》
- 《Docker镜像制作实战:设置时区和系统编码》
- 《没有JDK和Maven,用Docker也能构建Maven工程》
- 《Docker下RabbitMQ延时队列实战两部曲之一:极速体验》
- 《Docker下RabbitMQ延时队列实战两部曲之二:细说开发》
- 《利用Docker极速下载OpenJDK11源码》
- 《极简,利用Docker仅两行命令就能下载和编译OpenJDK11》
- 《kafka的Docker镜像使用说明(wurstmeister/kafka)》
- 《如何使用Docker内的kafka服务》
- 《自己动手制作elasticsearch-head的Docker镜像》
- 《自己动手制作elasticsearch的ik分词器的Docker镜像》
- 《docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)》
- 《docker下,极速搭建spark集群(含hdfs集群)》
- 《docker下的spark集群,调整参数榨干硬件》
- 《用golang官方Docker镜像运行项目》
- 《Docker下Prometheus和Grafana三部曲之一:极速体验》
- 《Docker下Prometheus和Grafana三部曲之二:细说Docker编排》
- 《Docker下Prometheus和Grafana三部曲之三:自定义监控项开发和配置》
- 《Docker与Jib(maven插件版)实战》
- 《Docker下,两分钟极速体验Nacos》
- 《Docker下的Nacos环境开发》
- 《Docker下,两分钟极速体验Nacos配置中心》
- 《Docker下Nacos配置应用开发》
- 《Docker下Nacos持久化配置》
- 《Docker下多机器免密码SSH登录》
- 《IDEA的Docker插件实战(Dockerfile篇)》
- 《IDEA的Docker插件实战(Docker Image篇)》
- 《IDEA的Docker插件实战(Docker-compose篇)》
- 《Docker Swarm从部署到基本操作》
- 《ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本?》
- 《ARM架构下的Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?》
- 《Docker部署flink备忘》
- 《用GitHub Actions制作Docker镜像》
kubernetes
kubernetes基础
- 《Kubernetes持久卷实战两部曲之一:极速体验》
- 《Kubernetes持久卷实战两部曲之二:细说开发》
- 《实战Kubernetes动态卷存储(NFS)》
- 《Spring Boot应用在kubernetes的sidecar设计与实战》
- 《Kubernetes源码学习之一:下载和编译源码》
- 《Kubernetes深入学习之二:编译和部署镜像(api-server)》
- 《k8s自定义controller三部曲之一:创建CRD(Custom Resource Definition)》
- 《k8s自定义controller三部曲之二:自动生成代码》
- 《k8s自定义controller三部曲之三:编写controller代码》
- 《查看k8s的etcd数据》
- 《kubernetes部署metrics-server》
- 《Kubernetes的Local Persistent Volumes使用小记》
- 《开发阶段,将SpringBoot应用快速部署到K8S》
kubernetes安装部署
- 《kubeadm搭建kubernetes集群之一:构建标准化镜像》
- 《kubeadm搭建kubernetes集群之二:创建master节点》
- 《kubeadm搭建kubernetes集群之三:加入node节点》
- 《rancher下的kubernetes之一:构建标准化vmware镜像》
- 《rancher下的kubernetes之二:安装rancher和kubernetes》
- 《rancher下的kubernetes之三:在linux上安装kubectl工具》
- 《CentOS7环境安装Kubernetes四部曲之一:标准化机器准备》
- 《CentOS7环境安装Kubernetes四部曲之二:配置模板和安装master》
- 《CentOS7环境安装Kubernetes四部曲之三:添加节点》
- 《CentOS7环境安装Kubernetes四部曲之四:安装kubectl工具》
- 《CentOS7环境部署kubenetes1.12版本五部曲之一:标准化机器》
- 《CentOS7环境部署kubenetes1.12版本五部曲之二:创建master节点》
- 《CentOS7环境部署kubenetes1.12版本五部曲之三:node节点加入》
- 《CentOS7环境部署kubenetes1.12版本五部曲之四:安装dashboard》
- 《CentOS7环境部署kubenetes1.12版本五部曲之五:安装kubectl》
- 《极速安装和体验k8s(Minikube)》
- 《Linux安装minikube指南》
- 《kubespray2.11安装kubernetes1.15》
kubernetes进阶实战
- 《kubernetes下的Nginx加Tomcat三部曲之一:极速体验》
- 《kubernetes下的Nginx加Tomcat三部曲之二:细说开发》
- 《kubernetes下的Nginx加Tomcat三部曲之三:实战扩容和升级》
- 《Kubernetes下web服务的性能测试三部曲之一:准备工作》
- 《Kubernetes下web服务的性能测试三部曲之二:纵向扩容》
- 《Kubernetes下web服务的性能测试三部曲之三:横向扩容》
- 《在windows电脑上配置kubectl远程操作kubernetes》
- 《本地服务调用K8S环境中的SpringCloud微服务实战》
- 《kubernetes下的jenkins如何设置maven》
- 《K8S环境的Jenkin性能问题处理》
- 《kubernetes1.15极速部署prometheus和grafana》
- 《K8S环境的Jenkin性能问题处理续篇(任务Pod设置)》
- 《K8S的StorageClass实战(NFS)》
- 《K8S环境快速部署Kafka(K8S外部可访问)》
- 《K8S的Kafka监控(Prometheus+Grafana)》
- 《Kubernetes的Group、Version、Resource学习小记》
kubernetes官方java客户端特辑
- 《Kubernetes官方java客户端之一:准备》
- 《Kubernetes官方java客户端之二:序列化和反序列化问题》
- 《Kubernetes官方java客户端之三:外部应用》
- 《Kubernetes官方java客户端之四:内部应用》
- 《Kubernetes官方java客户端之五:proto基本操作》
- 《Kubernetes官方java客户端之六:OpenAPI基本操作》
kubernetes官方go客户端特辑
- client-go实战之一:准备工作
- client-go实战之二:RESTClient
- client-go实战之三:Clientset
- client-go实战之四:dynamicClient
- client-go实战之五:DiscoveryClient
Operator实战特辑
- kubebuilder实战之一:准备工作
- kubebuilder实战之二:初次体验kubebuilder
- kubebuilder实战之三:基础知识速览
- kubebuilder实战之四:operator需求说明和设计
- kubebuilder实战之五:operator编码
- kubebuilder实战之六:构建部署运行
- kubebuilder实战之七:webhook
- kubebuilder实战之八:知识点小记
helm实战
Serverless领域OpenFaaS特辑
- 部署
- 函数入门
- Java函数
- 模板操作(template)
- 大话watchdog
- of-watchdog(为性能而生)
- java11模板解析
- OpenFaaS实战之八:自制模板(maven+jdk8)
- OpenFaaS实战之九:终篇,自制模板(springboot+maven+jdk8)
大数据
hive学习笔记
CDH
Flink
- 《Flink1.7从安装到体验》
- 《开发第一个Flink应用》
- 《没有了可用Task slot,Flink新增任务会怎样?》
- 《Flink实战:消费Wikipedia实时消息》
- 《树莓派3B搭建Flink集群》
- 《Flink数据源拆解分析(WikipediaEditsSource)》
- 《Flink消费kafka消息实战》
- 《Docker部署flink备忘》
- 《Flink on Yarn三部曲之一:准备工作》
- 《Flink on Yarn三部曲之二:部署和设置》
- 《Flink on Yarn三部曲之三:提交Flink任务》
- 《IDEA上运行Flink任务》
- 《Flink1.9.2源码编译和使用》
- 《Flink的DataSource三部曲之一:直接API》
- 《Flink的DataSource三部曲之二:内置connector》
- 《Flink的DataSource三部曲之三:自定义》
- 《Flink的sink实战之一:初探》
- 《Flink的sink实战之二:kafka》
- 《Flink的sink实战之三:cassandra3》
- 《Flink的sink实战之四:自定义》
- 《Flink SQL Client初探》
- 《准备数据集用于flink学习》
- 《将CSV的数据发送到kafka(java版)》
- 《Flink SQL Client综合实战》
- 《Flink Native Kubernetes实战》
- 《Flink处理函数实战之一:深入了解ProcessFunction的状态操作(Flink-1.10)》
- 《Flink处理函数实战之二:ProcessFunction类》
- 《Flink处理函数实战之三:KeyedProcessFunction类》
- 《Flink处理函数实战之四:窗口处理》
- 《Flink处理函数实战之五:CoProcessFunction(双流处理)》
- 《理解ProcessFunction的Timer逻辑》
双流处理实战特辑
Spark
- 《部署spark2.2集群(standalone模式)》
- 《第一个spark应用开发详解(java版)》
- 《部署Spark2.2集群(on Yarn模式)》
- 《docker下,极速搭建spark集群(含hdfs集群)》
- 《spark实战之:分析维基百科网站统计数据(java版)》
- 《docker下的spark集群,调整参数榨干硬件》
- 《IDEA开发Spark应用实战(Scala)》
- 《查看Spark任务的详细信息》
- 《Mac部署spark2.4.4》
Kylin
HBase
Hive
Hadoop
数据集
中间件
配置中心
- 《Docker搭建disconf环境,三部曲之一:极速搭建disconf》
- 《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》
- 《Docker搭建disconf环境,三部曲之三:细说搭建过程》
- 《docker下使用disconf:极速体验》
- 《docker下使用disconf:细说demo开发》
zookeeper
缓存
- 《jedis使用入门(Docker环境下)》
- 《Docker下redis与springboot三部曲之一:极速体验》
- 《Docker下redis与springboot三部曲之二:安装redis主从和哨兵》
- 《Docker下redis与springboot三部曲之三:springboot下访问redis哨兵》
- 《实战Redis序列化性能测试(Kryo和字符串)》
注册中心
dubbo
nacos
- 《Docker下,两分钟极速体验Nacos》
- 《Docker下的Nacos环境开发》
- 《Docker下,两分钟极速体验Nacos配置中心》
- 《Docker下Nacos配置应用开发》
- 《Docker下Nacos持久化配置》
eureka
- 《Eureka的TimedSupervisorTask类(自动调节间隔的周期性任务)》
- 《实战监听Eureka client的缓存更新》
- 《Eureka的InstanceInfoReplicator类(服务注册辅助工具)》
- 《Eureka注册信息配置备忘》
- 《Wireshark抓包分析Eureka注册发现协议》
- 《Spring Cloud源码分析之Eureka篇第一章:准备工作》
- 《Spring Cloud源码分析之Eureka篇第二章:注册中心启动类上的注解EnableEurekaServer》
- 《Spring Cloud源码分析之Eureka篇第三章:EnableDiscoveryClient与EnableEurekaClient的区别(Edgware版本)》
- 《Spring Cloud源码分析之Eureka篇第四章:服务注册是如何发起的》
- 《Spring Cloud源码分析之Eureka篇第五章:更新服务列表》
- 《Spring Cloud源码分析之Eureka篇第六章:服务注册》
- 《Spring Cloud源码分析之Eureka篇第七章:续约》
- 《Spring Cloud源码分析之Eureka篇第八章:服务注册名称的来历》
消息队列
kafka
- 《Docker下kafka学习,三部曲之一:极速体验kafka》
- 《Docker下kafka学习,三部曲之二:本地环境搭建》
- 《Docker下kafka学习,三部曲之三:java开发》
- 《Docker下的Kafka学习之一:制作集群用的镜像文件》
- 《Docker下的Kafka学习之二:搭建集群环境》
- 《Docker下的Kafka学习之三:集群环境下的java开发》
- 《kafka的Docker镜像使用说明(wurstmeister/kafka)》
- 《如何使用Docker内的kafka服务》
- 《K8S环境快速部署Kafka(K8S外部可访问)》
- 《K8S的Kafka监控(Prometheus+Grafana)》
RabbitMQ
- 《Docker下RabbitMQ四部曲之一:极速体验(单机和集群)》
- 《Docker下RabbitMQ四部曲之二:细说RabbitMQ镜像制作》
- 《Docker下RabbitMQ四部曲之三:细说java开发》
- 《Docker下RabbitMQ四部曲之四:高可用实战》
- 《Docker下RabbitMQ延时队列实战两部曲之一:极速体验》
- 《Docker下RabbitMQ延时队列实战两部曲之二:细说开发》
数据库
MySQL
- 《让docker中的mysql启动时自动执行sql》
- 《Docker下,极速体验mongodb》
- 《制作mongodb的Docker镜像文件》
- 《Docker下,实战mongodb副本集(Replication)》
- 《Docker下安装Rockmongo,图形化操作mongodb》
- 《Java实战操作MongoDB集群(副本集)》
- 《Docker下的mysql设置字符集》
- 《Docker下手工配置MySQL主从》
- 《Docker下MySQL主从三部曲之一:极速体验》
- 《Docker下MySQL主从三部曲之二:细说镜像制作》
- 《Docker下MySQL主从三部曲之三:binlog日志参数实战》
- 《关于InnoDB表数据和索引数据的存储》
ElasticSearch
ElasticSearch实战
- 《CentOS7搭建ELK-6.2.3版本》
- 《Docker下ELK三部曲之一:极速体验》
- 《Docker下ELK三部曲之二:细说开发》
- 《Docker下ELK三部曲之三:K8S上的ELK和应用日志上报》
- 《Linux环境快速搭建elasticsearch6.5.4集群和Head插件》
- 《elasticsearch安装和使用ik分词器》
- 《自己动手制作elasticsearch-head的Docker镜像》
- 《自己动手制作elasticsearch的ik分词器的Docker镜像》
- 《docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)》
- 《Elasticsearch6.1.2源码下载和编译构建》
- 《IntelliJ IDEA远程调试Elasticsearch6.1.2》
- 《极速导入elasticsearch测试数据》
ElasticSearch基本功专题
- 《elasticsearch实战三部曲之一:索引操作》
- 《elasticsearch实战三部曲之二:文档操作》 3《elasticsearch实战三部曲之三:搜索操作》
- 《Elasticsearch聚合学习之一:基本操作》
- 《Elasticsearch聚合学习之二:区间聚合》
- 《Elasticsearch聚合学习之三:范围限定》
- 《Elasticsearch聚合学习之四:结果排序》
- 《Elasticsearch聚合学习之五:排序结果不准的问题分析》
- 《Elasticsearch聚合的嵌套桶如何排序》
- 《理解elasticsearch的post_filter》
- 《elasticsearch的字符串动态映射》
- 《实战Elasticsearch6的join类型》
工具和技巧
- 《根据java代码生成UML图》
- 《设置Intellij idea和maven,支持lambda表达式》
- 《安装Genymotion模拟器运行Android studio的工程》
- 《Intellij idea远程debug连接tomcat,实现单步调试》
- 《docker下载镜像慢怎么办?daocloud加速器来帮你》
- 《Docker下的mysql设置字符集》
- 《用IntelliJ IDEA看Java类图》
- 《Wireshark的HTTP请求包和响应包如何对应》
- 《Wireshark抓包分析Eureka注册发现协议》
- 《免费申请和使用IntelliJ IDEA商业版License指南》
- 《发送kafka消息的shell脚本》
- 《github搜索技巧小结》
问题处理
- 《dubbo服务提供者在tomcat启动失败的问题》
- 《Docker下部署dubbo,消费者应用无法使用link参数的问题》
- 《adb shell无法连接到Genymotion上的虚拟设备的问题》
- 《spring+mybatis启动NoClassDefFoundError异常分析三部曲之一:稳定重现问题》
- 《spring+mybatis启动NoClassDefFoundError异常分析三部曲之二:定位错误》
- 《spring+mybatis启动NoClassDefFoundError异常分析三部曲之三:改spring源码,取详细错误》
- 《docker-compose中启动镜像失败的问题》
- 《Docker下No module named 'pymongo'问题处理》
- 《springboot启动失败的问题('hibernate.dialect' not set)》
- 《springboot的JPA在Mysql8新增记录失败的问题》
- 《Win10环境编译spring-framework4.1.9版本,报错"Failed to capture snapshot of input files for task 'distZip'"》
- 《maven编译遇到"编码GBK的不可映射字符"警告的处理》
- 《 docker问题备忘:"rpc error: code = 2 desc = containerd: container not found"》
- 《使用fabric8-maven-plugin插件的错误处理(No plugin found for prefix 'fabric8')》
- 《Linux下minikube启动失败(It seems like the kubelet isn't running or healthy)》
- 《Ubuntu18重启docker服务失败问题备忘》
- 《hadoop2.7集群初始化之后没有DataNode的问题》
DevOps
ansible
- 《ansible2.4安装和体验》
- 《超简单的CDH6部署和体验(单机版)》
- 《Flink on Yarn三部曲之一:准备工作》
- 《Flink on Yarn三部曲之二:部署和设置》
- 《Flink on Yarn三部曲之三:提交Flink任务》
- 《CDH+Kylin三部曲之一:准备工作》
- 《CDH+Kylin三部曲之二:部署和设置》
- 《CDH+Kylin三部曲之三:Kylin官方demo》
- 《ansible快速部署cassandra3集群》
Maven
- 《maven构建docker镜像三部曲之一:准备环境》
- 《maven构建docker镜像三部曲之二:编码和构建镜像》
- 《maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)》
- 《docker下的Jenkins安装和体验》
- 《实战maven私有仓库三部曲之一:搭建和使用》
- 《实战maven私有仓库三部曲之二:上传到私有仓库》
- 《实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库》
- 《实战:向GitHub提交代码时触发Jenkins自动构建》
- 《修改gradle脚本,加速spring4.1源码编译构建速度》
- 《Docker与Jib(maven插件版)实战》
- 《Jib使用小结(Maven插件版)》
- 《Jib构建镜像问题从定位到深入分析》
- 《kubernetes下的jenkins如何设置maven》
- 《kubernetes下jenkins实战maven项目编译构建》
持续构建
- 《通过http请求启动jenkins任务》
- 《Jenkins流水线(pipeline)实战之:从部署到体验》
- 《让Jenkins执行GitHub上的pipeline脚本》
- 《Jenkins把GitHub项目做成Docker镜像》
- 《快速搭建Jenkins集群》
- 《Jenkins集群下的pipeline实战》
- 《kubernetes下的jenkins如何设置maven》
- 《K8S环境的Jenkin性能问题处理》
- 《K8S环境的Jenkin性能问题处理续篇(任务Pod设置)》
- 《远程触发Jenkins的Pipeline任务》
- 《远程触发Jenkins的Pipeline任务的并发问题处理》
- 《GitLab Runner部署(kubernetes环境)》
- 《GitLab CI构建SpringBoot-2.3应用》
- 《Gitlab Runner的分布式缓存实战》
- 《用GitHub Actions制作Docker镜像》
promethus
- 《Docker下Prometheus和Grafana三部曲之一:极速体验》
- 《Docker下Prometheus和Grafana三部曲之二:细说Docker编排》
- 《Docker下Prometheus和Grafana三部曲之三:自定义监控项开发和配置》
- 《kubernetes1.15极速部署prometheus和grafana》
- 《K8S的Kafka监控(Prometheus+Grafana)》
zabbix
- 《Docker下实战zabbix三部曲之一:极速体验》
- 《Docker下实战zabbix三部曲之二:监控其他机器》
- 《Docker下实战zabbix三部曲之三:自定义监控项》
- 《Docker下,极速体验编译pinpoint1.6.x分支》
pinpoint
- 《把pinpoint编译环境做成Docker镜像文件》
- 《Docker下,极速体验pinpoint1.6.3》
- 《Docker下,pinpoint环境搭建》
- 《pinpoint插件开发之一:牛刀小试,调整gson插件》
- 《pinpoint插件开发之二:从零开始新建一个插件》
- 《分布式系统快速接入pinpoint1.8.3指南》
jaeger
- 《分布式调用链跟踪工具Jaeger?两分钟极速体验》
- 《Jaeger开发入门(java版)》
- 《Java应用日志如何与Jaeger的trace关联》
- 《Jaeger的客户端采样配置》
- 《极简!一个注解就能创建Jaeger的Span》
- 《Jaeger知识点补充》
算法
- 《LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一:解题思路》
- 《LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之二:编码实现》
- 《LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三:两次优化》
Linux
- 《Ubuntu16环境安装和使用NFS》
- 《CentOS7安装Nginx1.10.1》
- 《CentOS7安装JDK8》
- 《Ubuntu下安装OpenJDK10》
- 《Ubuntu环境下载OpenJDK11源码》
- 《Ubuntu16安装nodejs10》
- 《Linux服务器端网络抓包和分析实战》
- 《Linux配置SSH免密码登录(非root账号)》
- 《CentOS7安装python3和pip3》
Mac
golang
gRPC特辑
- 《gRPC学习之一:在CentOS7部署和设置GO》
- 《gRPC学习之二:GO的gRPC开发环境准备》
- 《gRPC学习之三:初试GO版gRPC开发》
- 《gRPC学习之四:实战四类服务方法》
- 《gRPC学习之五:gRPC-Gateway实战》
- 《gRPC学习之六:gRPC-Gateway集成swagger》
机器学习
- 《机器学习的开发环境准备》
- 《Docker下,五分钟极速体验机器学习》
- 《来自Java程序员的Python新手入门小结》
- 《NumPy学习笔记》
- 《Ubuntu16安装Nvidia驱动(GTX1060显卡)》
- 《Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)》
深度学习
DL4J实战特辑
- 《DL4J实战之一:准备》
- 《DL4J实战之二:鸢尾花分类》
- 《DL4J实战之三:经典卷积实例(LeNet-5)》
- 《DL4J实战之四:经典卷积实例(GPU版本)》
- 《DL4J实战之五:矩阵操作基本功》
- 《DL4J实战之六:图形化展示训练过程》
深度学习工程化
- 《纯净Ubuntu16安装CUDA(9.1)和cuDNN》
- 《三分钟体验:SpringBoot用深度学习模型识别数字》
- 《SpringBoot用深度学习模型识别数字:开发详解》
- 《三分钟极速体验:Java版人脸检测》
- 《Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)》
- 《Java版人脸检测详解下篇:编码》
- 《三分钟:极速体验JAVA版目标检测(YOLO4)》
- 《制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)》
- 《超详细的编码实战,让你的springboot应用识别图片中的行人、汽车、狗子、喵星人(JavaCV+YOLO4)》
多媒体
kurento
- 《Kurento实战之一:KMS部署和体验》
- 《Kurento实战之二:快速部署和体验》
- 《Kurento实战之三:知识点小导游》
- 《Kurento实战之四:应用开发指南》
- 《微信小程序+腾讯云直播的实时音视频实战笔记》
- 《Kurento实战之五:媒体播放》
- 《Kurento实战之六:云端录制》
硬件
树莓派
- 《树莓派3B安装64位操作系统(树莓派无需连接显示器键盘鼠标)》
- 《64位树莓派上安装和配置golang1.9.2》
- 《树莓派3B搭建Flink集群》
- 《树莓派部署Elasticsearch6集群》
- 《树莓派4B安装64位Linux(不用显示器键盘鼠标)》
- 《树莓派4B安装docker-compose(64位Linux)》
群晖
- 《群晖DS218+做maven私服(nexus3)》
- 《群晖DS218+部署mysql》
- 《群晖DS218+部署kafka》
- 《K8S使用群晖DS218+的NFS》
- 《群晖DS218+部署GitLab》