暂时未有相关云产品技术能力~
暂无个人介绍
Go学习-基本语法
图解CompletableFuture源码
基于Spring Boot的线程池监控方案
CompletableFuture异步编程
Kubernetes-资源管理
同步、异步、阻塞、非阻塞以及IO模型
手写RPC
Kuboard 是一款免费的 Kubernetes 管理工具,提供了丰富的功能,结合已有或新建的代码仓库、镜像仓库、CI/CD工具等,可以便捷的搭建一个生产可用的 Kubernetes 容器云平台,轻松管理和运行云原生应用。您也可以直接将 Kuboard 安装到现有的 Kubernetes 集群,通过 Kuboard 提供的 Kubernetes RBAC 管理界面,将 Kubernetes 提供的能力开放给您的开发/测试团队。
Kubernetes API Server的功能: 1. 提供了集群管理的REST API接口(包括认证授权、数据校验以及集群状态变更); 2. 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd; 3. 资源配额控制的入口; 4. 拥有完备的集群安全机制;
为了能够屏蔽底层存储实现的细节,便于使用和管理,Kubernetes从1.0版本就引入PersistentVolume(PV)和PersistentVolumeClaim(PVC)两个资源对象来实现对存储的管理子系统。
对于这个问题其实很简单,容器中持久化的文件生命周期是短暂的,如果容器中程序崩溃宕机,kubelet 就会重新启动,容器中的文件将会丢失,所以对于有状态的应用容器中持久化存储是至关重要的一个环节;另外很多时候一个 Pod 中可能包含多个 Docker 镜像,在 Pod 内数据也需要相互共享,Kubernetes 中 Pod 也可以增加副本数量,遇到故障时 Pod 可以转移到其它节点,为了浮动节点都能够访问统一的持久化存储以及容器间共享数据,Kubernetes 中定义了 Volume 来解决这些问题 ,从本质上讲,Volume 只是一个目录,可能包含一些数据,Pod 中的容器可以访问它。
在实际生产中,我们面临多种多样的业务场景,导致业务之间的调用关系更加复杂化,从而对网络提出更高的要求,对于Kubernetes来说主要解决以下四个问题: 1. Pod中容器与容器之间的通信问题; 2. Pod与Pod之间的网络通信问题; 3. Pod与Service之间的通信问题; 4. 集群内部与外部的通信问题;
我们从Docker到Docker Compose都是在单机上完成,这样会带来一个很现实的问题就是高可用的问题,如果只部署到一台机器是无法做到高可用的,这样就不具备生产的条件; Docker Compose只是简单做了单机服务的编排、扩容,对于多机器的管理、发布、服务发现、负载均衡都没有很好的解决; 目前我们所有的容器都是在单个宿主机上进行网络通信,多机情况的网络通信也没有解决方案;
前面的文章主要聚焦于单机网络上,对于生产环境而言,单机环境不满足高可用的特点,所以是不具备上生产的条件,因此在开始Docker Swarm篇的时候我们先来聊聊多机网络之间Docker的通信如何做,厦门主要介绍三种跨主机通信的方式。
在开始Kubernetes的网络之前我们先来学习Netfilter,Netfilter可能了解的人比较少,但是iptables用过 Linux的都应该知道。本文主要介绍Netfilter与iptables的原理。
Kubernetes-Service介绍(三)-Ingress(含最新版安装踩坑实践)
Kubernetes提供两种客户端以固定方式获取后端访问地址的方式:环境变量和DNS方式。
Kubernetes-Service介绍(一)-基本概念
在生产的环境中,当我们需要给某个服务升级时候,需要停止与该服务相关的所有应用Pod,然后下载最新应用的镜像并创建新Pod,这样当我们服务的规模很大的时候,会照成长时间的服务不可用,对于这种情况Kubernetes提出了滚动升级和滚动回滚概念来帮助我们解决该问题。
不同的Pod之间的亲和性问题,例如主从MySQL数据库不能够分配到同一个节点上或者两种Pod必须调度到同一个节点上,实现本地网路、文件共享等等; 有状态的集群,例如Zookeeper、Kafka等有状态的集群,每个节点看起来都是差不多,但是每个节点都必须明确主节点,而且节点启动有严格的顺序要求,此外集群中的数据也需要持久化存储,每个工作节点挂点的时候,如何按照持计划的信息进行恢复等等问题; 每个Node上调度仅仅创建一个Pod,例如对Node节点的监控,主机节点日志、性能采集节点只能部署一个节点; 批量调度的任务以及定时调度的任务,调用完成的时候要求Pod就销毁;
Pod对象自从其创建开始至其终止退出的时间范围称为其生命周期。在这段时间中,Pod会处于多种不同的状态,并执行一些操作;其中,创建主容器(main container)为必需的操作,其他可选的操作还包括运行初始化容器(init container)、容器启动后钩子(post start hook)、容器的存活性探测(liveness probe)、就绪性探测(readiness probe)以及容器终止前钩子(pre stop hook)等
Pod是一个或一个以上的 容器(例如Docker容器)组成的,且具有共享存储/网络/UTS/PID的能力,以及运行容器的规范。并且在Kubernetes中,Pod是最小的可被调度的原子单位。
kubectl的核心功能在于通过 API Server 操作 Kubernetes 的各种资源对象,包括资源对象的创建、删除、查看、修改、配置、运行等等,学习kubectl相关命令是了解 Kubernetes 集群管理的一种手段。
Kubernetes系列文章: 1. Kubernetes介绍
Docker系列文章: 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile 6. Docker单机网络上 7. Docker单机网络下 8. Docker单机网络实战 9. Docker隔离技术 10. Docker限制 11. Docker Compose
Docker系列文章: 此篇是Docker系列的第十篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,马上就开始Kubernetes,加油!一起前行! 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile 6. Docker单机网络上 7. Docker单机网络下 8. Docker单机网络实战 9. Docker隔离技 10. Docker限制
Docker系列文章: 此篇是Docker系列的第十篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,马上就开始Kubernetes,加油!一起前行! 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile 6. Docker单机网络上 7. Docker单机网络下 8. Docker单机网络实战 9. Docker隔离技术
Docker系列文章: 此篇是Docker系列的第九篇,之前的文章里面或多或少的提到Docker的隔离技术,但是没有很清楚的去聊这个技术,但是经过这么多文章大家一定对Docker使用和概念有了一定的理解,接下来我们聊下底层一些技术,帮助大家解解惑,先从隔离技术开始吧。此外大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! 为什么要学习Docker 1、Docker基本概念 2、Docker镜像基本原理 3、Docker容器数据卷 4、Dockerfile 5、Docker单机网络上 6、Docker单机网络下 7、Docker单机网络实战 8、如何理解Namespace
Docker系列文章: 此篇是Docker系列的第八篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile 6. Docker单机网络上 7. Docker单机网络下
Docker系列文章: 此篇是Docker系列的第七篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile 6. Docker单机网络上
Docker系列文章: 此篇是Docker系列的第六篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile
Docker系列文章: 此篇是Docker系列的第五篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! • 为什么要学习Docker • Docker基本概念 • Docker镜像基本原理 • Docker容器数据卷
Docker系列文章: 此篇是Docker系列的第四篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! • 为什么要学习Docker • Docker基本概念 • Docker镜像基本原理
Docker镜像基本原理
Nacos源码结构和AP模式注册中心实现介绍
Nacos服务发现
MYSQL查询和插入数据的流程是怎样的
Nacos Client会维护一个定时任务通过持续调用服务端的接口更新心跳时间,保证自己处于存活状态,防止服务端将服务剔除,Nacos默认5秒向服务端发送一次,通过请求服务端接口/instance/beat发送心跳。
Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 接下来主要介绍Nacos作为注册中心的使用和注册部分的源码解析。
微服务下的注册中心如何选择
微服务下的网关如何选择
学习Java8系列-Lambda
1. 单应用下 Swagger 的集成与使用 2. 条件装配 @Conditional 介绍 3. 配置文件参数获取 @ConfigurationProperties 单体应用下 Swagger 集成与使用
这篇文章主要是Java基础部分,主要分为3个部分:Java集合、Java多线、JVM;这些东西帮助我面试成功率提升了很多。后面还有中间件Spring、Redis、RocketMQ等等吧,祝愿大家找到好的工作加油!
Spring Boot自动装配
ava-多线程概念
主要分成两部说起:Thread源码解读和常见面试题解答
学习Docker
.Net Core下使用RabbitMQ比较完备的两种方案
Elastic Stack-Kibana使用介绍