自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客神殿

坚持,自由,信仰

  • 博客(4750)
  • 资源 (28)
  • 收藏
  • 关注

原创 Redis list源码分析

RedisList是一种基于双向链表实现的数据结构,其底层数据结构由两个指针指向前一个元素和后一个元素,以此构成一个双向链表。在Redis中,List提供了一系列的操作方法,例如添加元素、删除元素、获取元素等。

2023-06-19 23:13:57 431

原创 说说NetCore线程池的详细原理

总之,.NET Core 线程池的设计目标是为了在多个并发任务之间高效地分配线程,从而提高应用程序的性能和可扩展性。通过使用工作项队列、线程状态、工作项类型和 IO 完成端口等机制,.NET Core 线程池可以更加智能地管理和调度线程,从而提高应用程序的性能和可扩展性。使用 IO 完成端口:.NET Core 线程池提供了 IO 完成端口的支持,它可以用于处理 I/O 操作。在 .NET Core 中,线程池是一个重要的组件,它通过使用线程池中的工作线程来处理应用程序中的多个并发任务。

2023-06-19 23:10:15 902

转载 Kubernetes port-forward

Pod通过端口转发映射本地端口到指定的应用端口.在需要调试部署的pod、svc等资源是否提供正常访问时使用。实例:1.我在k8s集群中部署了prometheus的服务,用于收集系统的信息的svc采用的是ClusterIP模式,端口不能直接对外访问,但是我现在想通过的方式在浏览器测试资源是否正常,用实现,其实这种方法访问方式就类似使用NodePort的访问模式。2、将本地端口9800映射到svc的9100端口,如果不指定address则默认为127.0.0.1的地址.3.在浏览器输入端口进行访问.

2023-06-19 21:42:23 1482

转载 K8S 模拟项目 pod 发布

在不定义的情况下,缺省值为none,当历史版本较多时,不便于咱们回滚时辨认版本号。因此,建议定义为服务版本以帮助咱们辨认当前服务。

2023-06-19 21:29:52 446

转载 K8S 暴露服务给外网访问的三种方式

负载均衡可以建立在 OSI 网络模型的不同级别上,主要是在 L4(传输层,例如 TCP/UDP)和 L7(应用层,例如 HTTP)上。将会从地址池中获取一个用于外部访问的 IP,当外部流量进入时,ARP 将我们的请求地址广播以获取所属的。如果有多个服务,可以使用 Nginx Ingress 来通过域名和路径区分不同的服务。其实就是守护进程加一个反向代理的应用,守护进程不断监听集群中资源的变化,将。,再把域名解析指向该地址,就实现了集群服务的对外暴露。的一个注解,当后端服务中暴露的 URL 与。

2023-06-19 18:38:07 3859

转载 【k8s】将服务暴露给外部的方式

NodePort 服务是引导外部流量到你的服务的最原始方式。在所有节点(虚拟机)上开放一个特定端口,任何发送到该端口的流量都被转发到对应服务。相反,它处于多个服务的前端,扮演着“智能路由”或者集群入口的角色。这意味着你几乎可以发送任何种类的流量到该服务,像。在网络栈(HTTP)的应用层操作,并且可以提供一些服务不能实现的功能,注入基于。暴露的服务都会有它自己的 IP 地址,每个用到的。,它可以为你的服务自动提供 SSL 证书。,它是集群内的服务,集群外部无法访问。都需要付费,这将是非常昂贵的。

2023-06-17 02:43:19 797

转载 k8s部署nginx的三种方式

使用kubernetes来部署nginx服务,nginx一般是作为服务的入口,其在kubernetes的部署方式也大致相似,我将其分为三种----直接部署、使用数据卷部署、使用ConfigMap部署。个人建议使用ConfigMap部署。

2023-06-17 02:26:15 8725

转载 Docker中搭建FastDFS文件系统(多图)

FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载)等,特别适合以文件为载体的在线服务,如:图片网站,视频网站等。我上传文件肯定是为了能够访问的呀,所以为了提供 web 访问,那么就需要集成 Nginx 了,但是比如就是想自己单独搞 Nginx…前面的补充已经提到了,默认上传的文件是只能在本机访问的,当然这样肯定是不行的,所以我们需要配置一下Nginx 来帮我们实现 Web 访问的效果。数最多的准没错,什么?

2023-06-17 02:16:07 3257 2

转载 docker安装FastDFS

更改配置文件,因为之前已经改过一次了,所以现在直接拷贝。全过程,如有问题,请及时联系本人,评论区相互交流!将文件复制一份出来修改成想要的ip。将修改好的文件复制到容器中。安装过程需要关闭机器防火墙。

2023-06-17 01:36:19 490

转载 docker查看容器IP的方法

可以看到单个容器的IP。

2023-06-17 01:23:14 3086

转载 docker iptables详解

该环境安装了docker ,并启动了一个容器做了端口映射docker数据如何经过iptables接着来梳理,数据经过iptables是如何处理的。首先需要了解iptablesiptables有4表()5链(查看各个表命令Filter表:过滤数据包NAT表:用于网络地址转换(IP、端口)Mangle表:修改数据包的服务类型、TTL、并且可以配置路由实现QOSRaw表:决定数据包是否被状态跟踪机制处理INPUT。

2023-06-17 01:16:02 2043

转载 不同主机上的docker容器互相通信

最简单的思路,修改一台主机docker默认的虚拟网段,然后在各自主机上分别把对方的docker网段加入到路由表中,即可实现docker容器夸主机通信。只是一个在绑定到这上面的其他网卡间自动转发数据包的虚拟以太网桥,它可以使容器和主机相互通信,容器与容器间通信。问题是,如何让位于不同主机上的docker容器可以通信?启动时,会在宿主主机上创建一个名为。通对方容器ip,至此也就ok了。然后在v1,v2上把对方的。的虚拟网络接口,默认选择。位的子网掩码给容器提供了。网段加入到自己的路由表中。

2023-06-16 23:05:32 1326

转载 云计算核心技术Docker教程:exec 命令详解播

命令查看已经在运行的容器,然后使用容器 ID 进入容器。:设置用户名(format: [:]):即使没有附加也保持STDIN 打开。命令在运行的容器中执行相关命令。客户端命令行中我们可以输入。:分离模式: 在后台运行。中以交互模式执行容器内。命令对指定的容器执行。

2023-06-16 22:51:38 888 1

转载 K8S管理命令(一)

创建kubectl create < 资源类型 > < 资源名称 > --image = < 镜像名 > 【--port = --relicas】发布kubectl expose < 资源类型 > < 资源名称 > --port = --target-port = --type = ClusterIP | NodePort | .. .更新kubectl set image < 资源类型 > < 资源名称 > < 容器名 >= < 镜像名 >回滚。

2023-06-16 00:28:49 294

转载 Kubernetes API 列表获取

熟悉client-go的同学非常清楚,Kubernetes中的资源是按照GVR定义的,即,那么我们如何知道当前Kubernetes集群中有哪些资源的呢?他们的api路径是什么?

2023-06-15 20:54:46 736

转载 k8s 缺点

Kubernetes 是一种开源容器编排工具,它拥有广泛的应用和支持。

2023-06-15 18:38:23 804

转载 如何使用 Kubectl 端口转发访问远程 Kubernetes 应用程序

需要调试在 Kubernetes 集群中运行的应用程序?端口转发是一种连接到不可公开访问的Pod的方法。您可以使用此技术来检查数据库、监控工具和其他您希望在没有公共路由的情况下在内部部署的应用程序。端口转发内置于Kubectl中。CLI 可以启动隧道会话,将本地端口上的流量重定向到 Kubernetes 集群中的Pod。这是设置它的方法。

2023-06-15 01:08:14 621

转载 kubernetes 中patch与update比较

看了上述的介绍,大家应该对 K8s 更新机制有了一个初步的了解了。接下来想一想,既然 K8s 提供了两种更新方式,我们在不同的场景下怎么选择update或patch来使用呢?如果要更新的字段只有我们自己会修改(比如我们有一些自定义标签,并写了operator来管理),则使用patch是最简单的方式;如果要更新的字段可能会被其他方修改(比如我们修改的replicas字段,可能有一些其他组件比如HPA也会做修改),则建议使用update来更新,避免出现互相覆盖。

2023-06-14 20:06:14 1032

转载 使用kubernetes的几大优势

整理了一些使用k8s的理由和优势!

2023-06-14 19:39:57 1212

转载 一文搞定 Containerd 的使用

在学习 Containerd 之前我们有必要对 Docker 的发展历史做一个简单的回顾,因为这里面牵涉到的组件实战是有点多,有很多我们会经常听到,但是不清楚这些组件到底是干什么用的,比如等等。

2023-06-14 19:29:26 1414

转载 如何丝滑般将 Kubernetes 容器运行时从 Docker 切换成 Containerd

前面我们了解了containerd的发展历史和基本使用方式,本节我们就来尝试下使用containerd来作为 Kubernetes 集群的容器运行时。前面我们安装的集群默认使用的是 Docker 作为容器运行时,那么应该如何将容器运行时从 Docker 切换到containerd呢?

2023-06-14 18:30:14 1025

转载 k8s部署consul集群

Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件,采用Raft算法保证服务的一致性,且支持健康检查。但是在kubernetes里,当节点发生故障或者资源不足时,会根据策略杀掉节点的一些pod转而生成新的pod,而新生成的pod的ip地址和名称(hash值)都发生了变化。这时候我们如何保证新的pod和原有的pod的唯一标识不变呢?statefulset可以做到,他能保证pod具有唯一的网络标识。

2023-06-14 15:56:57 750 1

转载 docker ps 命令显示格式化和显示完整信息

参数可以实现格式化输出自定义列。,大概是不省略的意思,可以显示列的完整信息。在显示容器列表的命令后面加上。

2023-06-11 21:25:05 928

转载 Docker ps 命令参数&使用场景

SIZE:35.2MB(virtual 108MB)容器在镜像ubuntu的大小的基础上增加了35.2MB,例如在容器中运行apt-get update 指令,会在写入层新增文件。过滤镜像,如果制定的是某个父镜像,则过滤出的结果包含以此镜像构建的子镜像创建的容器,不仅仅是以该镜像直接创建的容器。before (容器的名称或id),过滤在给定id或名称之后创建的容器。:会列出容器的文件大小(容器增加的大小/容器的虚拟大小)容器的虚拟大小=容器镜像的大小+容器增加大小。(无论该容器目前处于什么状态)

2023-06-11 21:13:22 5806 1

转载 Kubernetes 架构简析

本文介绍了 K8s 的架构。K8s 通常包括 Master 服务器和 Node 服务器。Master 服务器通常包括 4 个管理用的进程,它们是和。而Node服务器包括 3 个进程,它们是容器管理,比如,以及Kubelet。

2023-06-11 18:48:28 173

转载 3. 详解 kubectl patch 命令 – strategic、json 和 merge 区别

的选项,我挑几个比较高频的选项进行讲解,其他的我暂时没有使用过,后续再研究。的值如下,有变更的字段发生进行更新,没有变化的字段则进行合并,并不会删除。参数,跟的应当是一个 json 列表,该列表里的每个对象,都应是如下结构。也是我在写某控制器时,偶尔发现的,应该只有使用。对象的更新的部分字段,而不用指定全量的字段。,有相同的字段就替换,没有相同的字段就合并。,检查一些格式的检查,并不会真正地提交到。的结果,有时候还是不一样的,建议使用。,翻译过来是策略合并,是默认的选项。比较特殊,会包含波浪线和斜杠,当。

2023-06-10 19:17:51 1533

原创 podman,docker和containerd的关系

Podman和Docker的容器运行时实际上都使用了一个名为containerd的基础组件。Containerd是一个开源的容器运行时,最初是作为Docker项目的一部分开发的,并于2017年剥离出来成为一个独立的项目。它提供了一组API和功能,用于管理容器的生命周期、镜像管理、存储和网络等方面。Podman和Docker都使用containerd作为它们的容器运行时后端。

2023-06-10 19:04:33 1201

转载 Kubernetes port-forward 命令

启动后,监听本地的一个端口,把此端口的。然后就可以通过本地的端口访问此。中的业务,但是URL要加上。运行机器上的一个端口,负责。还提供了一个功能,就是。

2023-06-10 18:47:41 631

转载 一起看懂Redis两种持久化方式的原理

本文将通过下面内容的介绍,希望能够让大家更全面、清晰的认识这两种持久化方式,同时理解这种保存数据的思路,应用于自己的系统设计中。

2023-06-10 18:38:32 124

原创 RabbitMQ一些常用的命令

这些命令可以用于获取 RabbitMQ 实例的各种状态信息,例如队列、交换器、连接、通道等的状态,从而帮助进行监控和管理 RabbitMQ 实例。更多的命令和选项可以通过。命令时,需要具有足够的权限,并且谨慎操作,以避免对 RabbitMQ 实例造成不必要的影响。以下是一些常用的 RabbitMQ 控制台命令(使用。的官方文档进行查阅和学习。

2023-06-06 17:25:54 5591

转载 什么情况下应该重构

重复代码(Duplicated code),事不过三,三则重构过长函数(Long method)过大的类(Large class)过长参数列表(Long parameter list)发散式变化(divergent change),意思是需要加一个新功能或者修改一个己有功能要改多个函数,那么就意味着要重构了。散弹式修改(shotgun surgery),意思是需要加一个新功能或者修改一个己有功能要改多个类,那么就意味着要重构了。依恋情节(feature envy),意思是函数对某个类的兴趣高于

2023-06-06 16:12:04 272

转载 C#中的类型和SQL Server中的类型对应关系

【代码】C#中的类型和SQL Server中的类型对应关系。

2023-06-06 16:02:51 333

原创 进程池原理

进程池(Process Pool)是一种常见的多进程编程技术,用于提高并发处理能力和资源利用率。它的基本原理是创建一组可重用的进程,这些进程可以接收任务,执行任务,然后返回执行结果。进程池通常会限制进程的数量,以避免资源过度消耗和系统负载过重。上面的代码中,首先定义了一个worker函数,它表示需要执行的任务,并返回任务的执行结果。然后,创建了一个包含 4 个进程的进程池,通过map方法将任务分发给进程池中的进程执行,并收集执行结果。因此,在使用进程池时需要根据具体的应用场景进行权衡和选择。

2023-06-06 15:56:56 283

原创 kubeadm init 所有参数说明

是用于初始化Kubernetes集群的命令,它支持多个参数和选项。命令的一些常用参数,还有其他参数可以根据需求进行使用。命令查看完整的参数列表和说明。

2023-06-06 15:22:43 2513

原创 k8s部署asp.net core mvc 详细流程步骤

指定了两个阶段,一个用于构建应用程序并生成发布版本,另一个用于运行应用程序。将应用程序文件复制到最终阶段的工作目录中,并使用。这些命令将返回有关Kubernetes集群中应用程序的信息,例如副本集数量、容器状态、服务IP地址等。集群需要进行更多配置和调整,具体取决于应用程序的需求和Kubernetes集群的设置。该部署文件指定了应用程序的名称、副本数和容器镜像,以及需要的资源。类型,可以在Kubernetes集群外部使用负载均衡器访问服务。该服务文件指定了服务名称、服务类型和端口信息,使用了。

2023-06-06 15:15:01 550

原创 IHostingStartup源码分析

接口是在 ASP.NET Core 应用程序启动时运行的一个扩展点,因此,如果我们需要在应用程序启动时进行一些配置,可以实现该接口,并将实现类型所在的程序集添加到应用程序中。在此过程中,主机会扫描应用程序中所有的程序集,以查找实现了。应用程序中用于配置 Web 主机的对象,它提供了一系列方法用于配置 Web 主机选项、中间件、应用程序服务等。然后,主机会创建这些类型的实例,并依次调用它们的。例如,下面是一个简单的实现,该实现将自定义的中间件。在上面的代码中,我们首先创建了一个实现了。方法中,我们可以使用。

2023-06-06 14:25:46 3684 1

原创 CLR源码分析和构成模块

CLR(Common Language Runtime)是.NET Framework的核心组件,它负责将IL(Intermediate Language)代码转换成机器码并执行。CLR的源代码是非常庞大和复杂的,由许多不同的模块组成。NGENILGC(垃圾回收器)元数据TypeHandleTypeDescTypeMemberInfo以上是CLR源代码中的一些重要模块,它们相互依赖、相互作用,共同构成了.NET Framework的核心组件。

2023-06-05 17:11:48 539

原创 .NET Core 中内存池原理

通常,应用程序需要大量的小内存块,例如字符串、数组、对象等,这些小内存块的创建和销毁操作会导致大量的内存分配和释放,造成内存碎片,从而影响系统的性能和稳定性。固定大小内存池是预先分配一定数量的固定大小的内存块,应用程序可以重复使用这些内存块。动态大小内存池是根据应用程序的需要动态分配内存块,并在不需要的时候释放内存块。内存池的原理是预先分配一定数量的内存块,然后在应用程序中重复使用这些内存块,避免了内存的重复分配和释放,从而提高了系统的性能和稳定性。类封装了内存池中的内存块,提供了对内存块的读写操作。

2023-06-05 17:09:55 407

转载 axios + ajax 面试题总结

AJAX的全称是Asynchronous JavaScript And XML.,是异步的 JavaScript和XML,可以在无需重新加载整个网页的情况下,更新部分网页内容的技术。是用于创建快速动态网页的技术。依赖于浏览器提供的对象,这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。实现了在页面不刷新的情况下和服务器进行数据交互。XML是扩展标记语言,能够用一系列简单的标记描述数据。

2023-05-20 22:06:15 606 1

转载 .NET Core Apollo 配置中心

Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。本地部署:https://github.com/ctripcorp/apollo/wiki/Quick-Start。

2023-05-20 18:26:35 600

Quill.js TextEditor.zip

Quill.js 实现响应式的文本编辑器,可以直接生成 markdown 和html 格式的代码,JavaScript+css+html

2020-11-14

RecogCaptcha.zip

使用AForge.NET框架和Tesseract识别验证码,图像识别,图形图像处理框架,一个有用的例子。

2020-11-08

JsonToExel.zip

.net实现获取天天基金的基金经理数据的JSON转换到Excel,导出数据用于数据分析,排序,比较。

2020-09-22

FundFirst.zip

本工具用于辅助基金定投,即一键跟踪你所感兴趣的基金,并非帮你挑选基金。 从天天基金网上实时爬取所选基金的规模,夏普比率,以及历史排位,基金经理等数据

2020-09-21

fund_sharp.zip

这是一个基金夏普比率查询工具 输出: 最新规模(scale), 最大回撤(withdrawal), 夏普比率(sharp), 波动率(volatility), 基金代码(code)

2020-09-17

晨星spiders.zip

爬取晨星网的基金数据,遍历基金列表,获取每个基金详细的数据,目前只爬取了页面一部分数据,其他可以根据xpath提取

2020-09-16

webplayer.zip

Artplayer.js使用示例,ArtPlayer.js 是一个现代全功能的 HTML5 视频播放器 控制器 - 画质切换, 字幕切换, 播放速度, 长宽比, 视频翻转, 全屏, 画中画, 截图, 缩略图, 自适应尺寸, 高亮 和 热键...

2020-08-10

FileUpload.zip

NET MVC使用的 webuploader 文件上传,图片上传,大文件分片上传 示例,参考,笔记。

2020-02-11

Readmore效果.zip

Jquery实现的阅读全文(readmore.js)效果,简单高效。效果感觉还可以,有需要的可以下载。

2020-01-20

net实现秒杀活动

秒杀活动,模拟,架构:mvc+webapi+console+redis,netcore开发

2019-09-30

大视频分片上传,截取

视频格式必须为: mp4或mov。视频时长须在15秒以内,超出时长系统将自动截取前15秒内容。

2019-09-27

Repeater示例.rar

Repeater示例 说明, 虽然webform基本已经淘汰,但是总有一些老系统还在用。

2019-09-25

bootstrap页面.rar

Bootstrap 根据页面大小控制元素隐藏与显示。

2019-09-24

商品轮播.rar

jquery和carousel.min.js实现京东类似的轮播,前端效果。

2019-09-06

NET使用editormd

NET使用editormd.js 实现md编辑器效果,emoji表情无显示问题。

2019-05-18

基于NPOI的强类型Excel导入导出组件

C#实现导入导出Excel功能,基于NPOI的强类型Excel导入导出组件

2018-11-06

bootstrap一个小案例

包括导航条,carousel,利用栅栏的三栏布局,导航的标签页以及模态框等

2018-08-16

fastdfs-5.11安装合集

fastdfs-5.11安装合集,转自合集中各模块的github的截止2018.3.31的最新源码包

2018-04-01

Wijmo5 Flexgrid演示代码合集

Wijmo5 Flexgrid演示代码合集,打包发布 转载自官方网站.

2018-04-01

WijMo.js 5.2的FlexGrid介绍[Knockout]

演示如何使用Knockout,我们快速灵活的数据绑定网格控制FlexGrid执行常见任务。

2018-03-07

Redis管理web项目所需dll

Redis管理web项目所需dll

2017-06-15

超简单BeautifulSoup爬虫

超简单BeautifulSoup版博客爬虫

2017-05-03

Lucene.Net的DLL

快速搜索

2016-09-21

DapperDAL程序集

DapperDAL程序集下载

2016-09-13

Linq2Dapper程序集

Linq2Dapper 辅助类,直接项目里dll引用

2016-09-08

JSON数据库存储

JSON数据库存储

2016-06-23

Asp_.net常用问题解决

Asp_.net常用问题解决,应该还行吧!

2014-02-20

C# 3.0 特点

C#3.0特点,很好很强大,特别实用,开发必备参考手册。

2012-08-25

空空如也

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

TA关注的人

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