自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (3)
  • 收藏
  • 关注

原创 Golang使用ReverseProxy实现反向代理

NewSingleHostReverseProxy是官方给的示例,代理单机服务,如果想实现负载均衡,需自己实现。

2024-09-12 16:30:24 667

原创 Linux使用ab进行并发压力测试

Apache Benchmark (简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用。使用起来非常的简单和方便。ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

2024-08-27 15:23:47 836

原创 2.Easy-Paas部署

2.1.k8s环境准备。2.2.yaml部署。2.3.helm部署。

2024-08-27 15:19:10 314

原创 Golang面试题六(GMP)

在Go中,线程是运行goroutine的实体,调度器的功能是把可运行的goroutine分配到工作线程上。全局队列(Global Queue):存放等待运行的G。P的本地队列:同全局队列类似,存放的也是等待运行的G,存的数量有限,不超过256个。新建G'时,G'优先加入到P的本地队列,如果队列满了,则会把本地队列中一半的G移动到全局队列。P列表:所有的P都在程序启动时创建,并保存在数组中,最多有GOMAXPROCS(可配置)个。M。

2024-08-12 11:45:01 1122

原创 Golang面试题四(并发编程)

L Locker // 互斥锁接口c chan struct{} // 用于信号的通道L是一个Locker接口类型的指针,它可以是任何实现了Lock()和Unlock()方法的对象,如Mutex或RWMutex。c是一个无缓冲的结构体通道,用于信号的传递。

2024-08-12 11:39:38 1356

原创 1.Easy-Paas 介绍

Easy-Pass致力于提供全面的云环境管理能力,包括但不限于平台网关、自动化部署、运维操作、服务治理和实时监控,以支持高效、灵活的云基础设施管理和应用程序交付。

2024-08-02 14:14:15 1074

原创 二进制安装docker

有三个配置文件:docker.service 、docker.socket、 containerd.service。

2024-08-02 14:12:21 600

原创 Kafka面试题

Kafka是一个分布式流处理系统,可以像消息队列发布和订阅消息,分布式提供了容错性,并发处理消息的机制。1. 主题(Topic)一个主题是消息的分类或馈送名称,它是逻辑上的概念,用于组织和识别消息。2. 分区(Partition)主题被物理上分割为一个或多个分区,每个分区是一个有序的、不可变的消息序列。分区可以分布在不同的 Kafka 服务器(Broker)上,以实现数据的并行处理和提高系统吞吐量。3. 生产者(Producer)生产者是向 Kafka 主题发布消息的客户端。

2024-07-25 15:35:47 724

原创 9.每日LeetCode-笔试题,判断字符串中字符是否全都不同

问题描述 判断字符串中字符是否全都不同请实现一个算法,确定一个字符串的所有字符【是否全都不同】。这里我们要求【不允许使用额外的存储结构】。给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在相同的字符。保证字符串中的字符为【ASCII字符】。字符串的长度小于等于【3000】。解题思路这里有几个重点,第一个是ASCII字符,ASCII字符字符一共有256个,其中128个是常用字符,可以在键盘上输入。128之后的是键盘上无法找到的。

2024-06-21 17:34:01 329 1

原创 14.1.k8s集群的七层代理-ingress资源(进阶知识)

k8s服务对外暴露有三种方式 NodePort,LoadBalancer,IngressNodeport: 服务暴露需要在集群每个节点都开放一个同样的端口,通过nodtIp:nodePort来访问,如果服务数量多了,开放的端口就难以管理LoadBalancer: 大部分情况下只适用于支持外部负载均衡器的云提供商(AWS,阿里云,华为云等)使用。每个服务都会由云服务提供一个IP作为入口,转发相应的流量,但每个LoadBlancer Service都会产生费用,成本比较高。

2024-06-21 12:08:02 1256

原创 8.每日LeetCode-笔试题,交替打印数字和字母

​​​交替打印数字和字母使用两个 goroutine 交替打印序列,一个 goroutine 打印数字, 另外一个 goroutine 打印字母, 最终效果如下:问题很简单,使用 channel 来控制打印的进度。使用两个 channel ,来分别控制数字和字母的打印序列, 数字打印完成后通过 channel 通知字母打印, 字母打印完成后通知数字打印,然后周而复始的工作。

2024-06-19 23:26:40 471

原创 13.1.资源清单的管理工具-helm

需要借助k8s资源清单的管理工具,进行以业务为单位的资源清单管理,通过一些手段,来实现业务的升级、回滚等等操作在一个文件上(通过helm的values.yaml文件),一个文件就能够管理一套业务体系,进而压缩、减轻了运维压力实现高效管理业务的目的;

2024-06-19 21:08:32 1402

原创 12.1.k8s中的pod数据持久化-pv与pvc资源及动态存储StorageClass

我们之前学习过好几种存储卷用于数据的持久化,我们来回忆一下;1,emptyDir存储卷:与pod的生命周期相同,pod删除掉,数据也随之删除;2,hostpath存储卷:必须指定宿主机,不同宿主机的pod不能数据共享;3,nfs存储卷;

2024-06-18 21:09:53 997

原创 11.6.k8s实战-节点扩缩容

生产环境中,对于k8s已有环境进行扩容和缩容是比较常见的操作,比如现有k8s集群资源不足,就需要扩容节点,就是将物理机配置加入k8s集群node;或者说当前k8s集群工作不饱和,有大量空闲的机器资源,闲置浪费严重,所以需要缩容,就是将物理机配置退出k8s集群node;

2024-06-18 14:56:02 1567 1

原创 11.5.k8s中pod的调度-cordon,drain,delete

-ignore-daemonsets #daemonset资源不能被驱逐,需要排除,加这个选项参数排除;--delete-emptydir-data #如果无法驱逐成功,再加这个参数;

2024-06-17 21:54:57 785

原创 11.1.k8s中pod的调度-介绍及nodeName节点选择器

调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。

2024-06-17 12:26:10 442

原创 7.每日LeetCode-链表类,合并两个有序链表(Go)

/ 21. 合并两个有序链表// 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。// 示例 1:// 输入:l1 = [1,2,4], l2 = [1,3,4]// 输出:[1,1,2,3,4,4]// 示例 2:// 输入:l1 = [], l2 = []// 输出:[]// 示例 3:// 输入:l1 = [], l2 = [0]// 输出:[0]//// 提示:// 两个链表的节点数目范围是 [0, 50]

2024-06-13 12:05:20 186

原创 6.每日LeetCode-数组类,找到所有数组中消失的数字(Go)

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗?你可以假定返回的数组不算在额外空间内。输入:nums = [4,3,2,7,8,2,3,1]448找到所有数组中消失的数字.go。输入:nums = [1,1]

2024-06-12 10:36:28 325

原创 5.每日LeetCode-数组类,合并两个有序数组(Go)

输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]

2024-06-08 18:08:50 206

原创 1.Vue2使用ElementUI-初识及环境搭建

vue2.x-初识及环境搭建

2024-06-07 10:15:37 860

原创 4.每日LeetCode-数组类,斐波那契数(Go,Java,Python)

题号:509斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。F(n) = F(n - 1) + F(n - 2),其中 n > 1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。解释:F(3) = F(2) + F(1) = 1 + 1 = 2。解释:F(4) = F(3) + F(2) = 2 + 1 = 3。0 1 1 2 3 5 8 13 21 斐波那契数列。0 1 2 3 4 5 6 7 8 下标。给定 n ,请计算 F(n)。

2024-05-27 22:11:32 311

原创 3.每日LeetCode-数组类,爬楼梯(Go,Java,Python)

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?需要 n 阶你才能到达楼顶。1. 1 阶 + 1 阶 + 1 阶。解释:有两种方法可以爬到楼顶。解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。

2024-05-25 19:24:54 329

原创 2.每日LeetCode-数组类,两数之和(Go,Java,Python)

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。

2024-05-24 19:10:32 378

原创 1.每日设计模式-理论

软件设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。一句大白话可以总结:在一定环境下,用固定套路解决问题。

2024-05-23 12:14:24 1187

原创 1.每日LeetCode-时间复杂度和空间复杂度

算法复杂度算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。算法执行需要的时间,理论上只能通过上机来测试出来,但是我们不可能对所有的算法都来上机测试。我们只需要知道哪个算法用时比较多即可。一个算法花费的时间与算法中基本操作语句的执行次数成正比,哪个算法中语句执行次数多,哪个算法用时就长。而一个算法中语句执行的次数叫做语句频度,计作 T(n)。总结一下,就是说我们用 T(n) 来表示算法执行的时间。

2024-05-23 11:11:30 1015

原创 10.3.k8s的附加组件-图形化管理工具dashboard

Dashboard是k8s集群管理的一个WebUI,它是k8s的一个附加组件,所以需要单独来部署;我们可以通过图形化的方法,创建、删除、修改、查询k8s资源;

2024-05-18 20:07:07 790

原创 10.2.k8s的附加组件-Metrics-server组件与hpa资源pod水平伸缩

Metrics-Server组件目的:获取集群中pod、节点等负载信息;hpa资源目的:通过metrics-server获取的pod负载信息,自动伸缩创建pod;参考链接:资源指标管道 | Kubernetes。

2024-05-18 16:30:59 831

原创 9.5.k8s中的控制器资源-DaemonSet控制器

daemonset资源:简称ds资源;他可以实现与pod反亲和性同样的目的,每个节点分别创建一个相同的pod;

2024-05-17 19:16:13 213

原创 高并发系统设计-系统的“三高“目标

高并发系统设计-系统的"三高"目标:高性能,高可用,高扩展

2024-05-13 10:27:30 1067

原创 2.分布式-算法

分布式相关算法

2024-05-12 09:53:51 1236 1

原创 1.分布式-理论

分布式相关概念

2024-05-11 15:30:58 1144

原创 11.3.k8s中pod的调度-亲和affinity,反亲和antAffinity

在K8S中,亲和性(Affinity)用来定义Pod与节点关系的概念,亲和性通过指定标签选择器和拓扑域约束来决定 Pod 应该调度到哪些节点上。与污点相反,它主要是尽量往某节点靠。在k8s当中,“亲和性”分为三种,节点亲和性、pod亲和性、pod反亲和性;

2024-05-10 10:07:06 833

原创 11.4.k8s中pod的调度-污点taint,污点容忍tolerations

污点:是标注在节点上的,当我们在一个节点上打上污点以后,k8s 会认为尽量不要将 pod 调度到该节点上,除非该 pod 上面表示可以容忍该污点,且一个节点可以打多个污点,此时则需要 pod 容忍所有污点才会被调度该节点。

2024-05-09 10:05:19 892

原创 11.2.k8s中pod的调度-nodeSelector节点选择器

NodeSelector是Kubernetes调度器的一部分,是节点选择约束的最简单推荐形式。它允许开发者根据节点的标签,精确地控制Pod在集群中的调度位置。通过在Pod的定义中设置NodeSelector,可以确保Pod只会被调度到具有特定标签的节点上。我们先创建一个普通的deploy资源,设置为10个副本,查看创建的pod;那么我们有没有方法,让pod根据我们自己的想法,创建在我们想要的节点上呐?接下来,我们就学习,关于pod调度的节点选择器,nodeSelector。

2024-05-06 11:09:11 1220

原创 10.1.k8s的附加组件(coreDNS组件)

k8s主要有两种service发现机制:环境变量和DNS。没有DNS服务的时候,k8s会采用环境变量的形式,但一旦有多个service,环境变量会变复杂,为解决该问题,我们使用DNS服务。

2024-05-06 10:46:05 648

原创 9.4.k8s的控制器资源(job控制器,cronjob控制器)

job控制器就是一次性任务的pod控制器,pod完成作业后不会重启,其重启策略是:Never;​cronjob控制器,是基于job控制器,定期频率性执行任务;与linux系统中的crontab一样;

2024-05-05 08:58:52 523 1

原创 9.3.k8s的控制器资源(deployment部署控制器)

deployments资源,实际上就是用来专门部署业务代码的控制器,专门用于企业业务代码的升级和回滚。

2024-05-05 08:57:08 1515 2

原创 9.2.k8s的控制器资源(rs控制器replicasets)

replicaset副本控制器,简称:rs控制器;

2024-05-04 09:33:28 819

原创 9.1.k8s的控制器资源(rc控制器replicationcontrollers)

replicationcontrollers控制器资源,简称:rc控制器;简单理解,rc控制器就是控制相同的pod副本数量;使用rc控制器资源创建pod,就可以设定创建pod的数量;特点rc控制器创建的pod是按照标签进行副本数量控制的;rc控制器资源创建的pod,直接删除pod,还会重新拉起,只有删除rc资源,pod才会消失;修改rc资源,需要重新编rc资源清单,再次apply就可以修改了;

2024-05-04 09:32:24 397

原创 8.k8s中网络资源service

每当我们企业的业务pod迭代功能的时候,都会修改pod,修改后重新启动pod,ip就会变化,那么在生产环境当中,从用户到宿主机、从宿主机到pod,这一个访问流程,都是事先写好的,一旦pod修改后,ip产生变化,就需要重新配置,因此,k8s提供了service资源用于解决这一问题;

2024-05-03 16:27:18 1742

kube-flannel

kube-flannel

2024-05-01

harbor离线安装包

harbor离线安装包

2024-04-30

k8s-kubeadm离线安装包

k8s-kubeadm离线安装包

2024-04-30

docker离线安装包

docker离线安装包

2024-04-30

JAVA程序员面试宝典 第4版-欧立奇

JAVA程序员面试宝典 第4版-欧立奇

2017-05-07

Java程序员面试笔试宝典-何昊pdf版

Java程序员面试笔试宝典-何昊pdf版

2017-05-06

简单ssh框架(适合开发及初学者了解ssh框架)

struts2 + hibernate + spring 简单的SSH2框架实现代码,供初学者学习,了解ssh2框架及搭建流程。

2014-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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