空接口,发布者订阅者通讯,需要一个实现了 IEventData 的类。 /// <summary> /// 事件数据 /// </summary> public interface IEventData { } 事件,订阅者需要实现这个类型,当发布者发布一个 IEventData 类型的数据时,此事件会被触发。 当然,你也可以创建一个同步事件。 /// <summary> /// 异步事件 /// </summary> /// <typeparam name=&…

2021年7月13日 0条评论 1802点热度 0人点赞 痴者工良 阅读全文

在 ControllerBase 中,其 HttpContext 的默认为空。 这些属性依赖于 ControllerContext。 当然我们也可以注入 IHttpContextAccessor,在每个控制器的构造函数中写进去,比较麻烦。我可以统一通过 控制器激活器进行统一注入。 /// <summary> /// Controller 激活器 /// </summary> public class ControllerActivator : IControllerActivator { p…

2021年7月12日 0条评论 1988点热度 0人点赞 痴者工良 阅读全文

在后端中,当有分布式需求时,我们常常使用 64位 的数字类型表示字段类型,但是前端并不支持超过 16 位长度的数值类型,所以后端长度较大的 long、ulong 数值传到后端,其准确度就已经丢失。 解决方法就是将 ulong、long 转为字符串,传递给后端。 public class TentantQueryDto { public ulong Id { get; set; } } 这是一个后端模型, Id 为 64 位数值,我们要做到前端传递 string,自动转 ulong;后端传递 ulong,自动返回 s…

2021年7月12日 1条评论 3068点热度 0人点赞 痴者工良 阅读全文

导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC、CPU、内存、机器网络、磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafana 显示。 视频地址: https://www.bilibili.com/video/BV18y4y1K7Ax/ 效果图预览: 安装 ProcsssMetrics 只需要通过 Nuget 安装一个库,即可快速为程序添加资源监视。 新建一个 ASP.NET Core 应用, Nuget 中搜索 CZGL.Process…

2021年7月4日 0条评论 1770点热度 0人点赞 痴者工良 阅读全文

Jenkins 流水线远程部署 .NET Core/Framework 到 IIS 导读 在本章中,将会介绍在 Windows Jenkins 上,编译 .NET Core、.NET Framework 项目,以及远程部署到 IIS 中。 Windows 我们先在 Windows 上安装好相应的环境。 Jenkins 依赖于 JDK 11,请自行查找方法安装。 在 https://www.jenkins.io/download/ 中可以下载到 Windows Jenkins 版本的安装包,下载完毕后,直接安装即可,…

2021年6月25日 0条评论 2003点热度 0人点赞 痴者工良 阅读全文

目录 导读 部署 Jenkins 安装插件 拉取镜像 制作 Jenkinsfile 脚本 构建流水线 观察 Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署、启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最终将 .NET Core 应用打包为 Docker 镜像。 部署 Jenkins 请提前在 Linux 上安装 Docker,在 Linux 中,我们使用 Docker 启动 Jenkins,这样可以避免手动安装…

2021年6月24日 0条评论 1848点热度 0人点赞 痴者工良 阅读全文

目录 Kubectl 命令大全 安装 Kubernetes-Dashboard RESTful API 鉴权 注解 Pod YAML 结构 配置 Kubectl 命令大全 在前面,我们学习到了一些 Kubernetes 知识,现在列出 kubectl 的所有命令以及其缩写形式,供翻阅查询。 kubectl 命令格式: kubectl [command] [type] [Name] [flag] all events (ev) podsecuritypolicies (psp) certificatesigningr…

2021年4月29日 1条评论 9433点热度 0人点赞 痴者工良 阅读全文

目录 更新 上线 会滚 缩放 Deployment 直接设置 Pod 水平自动缩放 比例缩放 暂停 Deployment 上线 本篇内容讨论 Pod 的更新和回滚,内容不多。 更新 打开 https://hub.docker.com/_/nginx 可以查询 nginx 的镜像版本,我们可以先选择一个旧一点的版本。 首先,我们创建一个 Nginx 的 Deployment,副本数量为 3。 kubectl create deployment nginx --image=nginx:1.19.0 --replicas…

2021年4月25日 0条评论 2052点热度 0人点赞 痴者工良 阅读全文

目录 Srevice Service 的创建及现象 Service 定义 Endpoint slices 创建 Endpoint、Service Service 创建应用 创建 Endpoint 浅入Kubernetes(8):外网访问集群 中已经介绍过部署一个 Deployment 和 Service,本篇是它的补充,将会广泛地聊一下 Service。 文章地址 https://www.cnblogs.com/whuanle/p/14685430.html Srevice Service 是将运行在一组 Pods…

2021年4月23日 0条评论 2210点热度 0人点赞 痴者工良 阅读全文

目录 标签和nodeSelector 标签选择 亲和性和反亲和性 污点和容忍度 系统默认污点 容忍度 DaemonSet 在前面的学习中,我们学到了 Deployment 部署,以及副本数(ReplicaSet),但是 Pod 部署到哪个 Worker 节点是随机,即使有 3个 Woker 和设定 3个 副本,不一定每个 Node 刚刚好运行一个 Pod,也可能其中 Node 运行着三个副本。 在本篇我们将探究 Kubernetes 中的 DaemonSet、容忍度、亲和性、Label、选择器等概念,以便控制 po…

2021年4月23日 0条评论 2358点热度 0人点赞 痴者工良 阅读全文

本篇主要介绍 Kubernetes 中的架构组成,在前面我们已经学习到了 kubeadm、kubectl,这两个命令行工具是 k8s 组成之一。而前面在搭建集群时,也学到了 master、worker 节点;第一篇第二篇中也提前介绍了一些 k8s 的概念,这篇将会对这些 k8s 中关键的组件或结构组成进行讲述。 架构组成 我们可以看一下这两张图,所表示的都是关于 Kubernetes 集群的架构。 一个 kubernetes 集群是由一组被称为节点(Node)的机器或虚拟机组成,集群由 master、worker …

2021年4月22日 0条评论 2195点热度 0人点赞 痴者工良 阅读全文

在前面几篇文章中,我们学习了 kubeadm 、kubectl 的一些命令,也学会了 Deployment、Service、ReplicaSet 的用法以及配置。本篇的内容主要是介绍如何配置网络,使得能够在外部网络访问集群。 在开始之前,需要根据 浅入Kubernetes(6):CKAD认证中的部署教程、浅入Kubernetes(7):应用部署实例,Deployment、Service、ReplicaSet 这两篇文章中的过程,部署好集群以及部署 nginx 应用。 查询 Service 关于 Service,读者…

2021年4月21日 0条评论 2102点热度 0人点赞 痴者工良 阅读全文

目录 Deployment 创建 Deployment kubectl apply/create 网络端口映射和更新 Deployment ReplicaSet 在本文之前,你需要阅读: 尝试 kubeadm https://www.cnblogs.com/whuanle/p/14679590.html https://www.whuanle.cn/archives/1230 CKAD认证中的部署教程 https://www.cnblogs.com/whuanle/p/14679922.html https://w…

2021年4月21日 0条评论 2182点热度 0人点赞 痴者工良 阅读全文

目录 预设网络 kubeadm 安装 k8s 配置 calico 自动补全工具 状态描述 目前为止,笔者已经写了 5 篇关于 k8s 的文章,这一篇笔者将介绍 CKAD 认证官方课程中,如何部署 k8s 节点。 在上一篇中,已经介绍了 kubeadm 如何部署 k8s ,而且 kubeadm 是官方默认推荐的工具,所以读者可以先阅读 《浅入kubernetes(5):尝试kubeadm》 https://www.cnblogs.com/whuanle/p/14679590.html 或 https://www.wh…

2021年4月20日 0条评论 2880点热度 0人点赞 痴者工良 阅读全文

本篇介绍利用 kubernetes 的命令行工具,快速创建集群实例,完成 hello world 实践。 上一篇试用 minikube 去搭建集群,这一篇将介绍通过 kubeadm 去操作。 命令行工具 主要有三个工具,命令行工具使用 kube 前缀命名。 kubeadm:用来初始化集群的指令。 kubelet:在集群中的每个节点上用来启动 Pod 和容器等。 kubectl:用来与集群通信的命令行工具。 通过软件仓库安装 方法 ① 此方法是通过 Google 的源下载安装工具包。 更新 apt 包索引并安装使用 …

2021年4月20日 0条评论 3564点热度 1人点赞 痴者工良 阅读全文

Minikube 打开 https://github.com/kubernetes/minikube/releases/tag/v1.19.0 下载最新版本的二进制软件包(deb、rpm包),再使用 apt 或 yum 安装。 PS:买台香港的服务器吧,或者白嫖 Google 、Azure 的试用额度。不然就有 N 种网络问题。 或者直接下载 minikube 最新版本二进制文件(推荐)。 curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.c…

2021年4月18日 0条评论 2411点热度 0人点赞 痴者工良 阅读全文

目前已经完成三篇关于 kubernetes 的文章: 在 Ubuntu 上安装 K8S教程 浅入kubernetes(1):Kubernetes 入门基础 浅入kubernetes(2):Kubernetes 的组成 第二第三篇主要介绍 k8s 中的一些组件、关键字的定义和简述,内容对于新人(例如我)不友好,而且层次不明,内容教僵硬。 在 浅入kubernetes(2):Kubernetes 的组成 中,介绍了 k8s 的组成,接下来笔者继续简单说一下 k8s 的组成。 namepace、node、pod? 当我们…

2021年4月17日 0条评论 1968点热度 0人点赞 痴者工良 阅读全文

建议读者先学习笔者的另一篇文章 学习搭建 Consul 服务发现与服务网格-有丰富的示例和图片,这样了解 consul 大体的结构和学习集群搭建,摸清 consul 的服务注册发现配置方法。 本文 HTTP API 请求使用 postman 测试,读者可以打开 https://documenter.getpostman.com/view/5988188/TzCV4jqL 查看 HTTP 文档,并可直接导入 postman 测试。 搭建起 consul Consul 支持基础结构的服务注册和发现(称为内部服务),也支…

2021年4月12日 1条评论 2628点热度 0人点赞 痴者工良 阅读全文

学习要求 在前面提到过,数据结构的逻辑结构有线性结构和非线性结构,线性结构的元素是具有前趋和后续的 1:1 的关系。非线性结构有集合、图、树。 本篇讨论的线性表是线性结构,要求掌握线性表的定义和基本操作。 线性表的定义和基本操作 【1】线性表的定义 线性表示例: A、B、C、D ... Z 等26个字母组成的英文字母表。 线性表(Linear List)可以表示由 n(n≧0) 个数据元素(结点)组成的有限序列,其中元素个数 n 表示为表的长度。当 n = 0 时,称为空线性表。 【2】线性表的种类 线性表是数据结…

2021年4月11日 0条评论 2456点热度 0人点赞 痴者工良 阅读全文

学习要求 算法复杂度计算方法 算法时间复杂度和空间复杂度的分析方法。 算法的描述和分析 【1】 数据的运算通过算法(Algorithm)描述的 算法是数据结构课程的重要内容之一。 算法是任意一个良定义的计算过程,它以一个或多个值作为输入,并产生一个或多个值作为输出。因此,算法是一系列将输入转换为输出的计算步骤。 一般地,一个问题的输入实例是满足问题陈述中所给出的限制、为计算该问题的解答所需要的所有输入构成的。若一个算法对于每个输入实例均能终止并给出正确的结果,则称该算法是正确的。正确的算法解决了给定的计算问题。 当…

2021年4月11日 0条评论 2839点热度 0人点赞 痴者工良 阅读全文
191011121326