工厂方法模式(Factory Method)

目的对比简单工厂模式的优点是,您可以将其子类用不同的方法来创建一个对象。 举一个简单的例子,这个抽象类可能只是一个接口。 这种模式是「真正」的设计模式, 因为他实现了 S.O.L.I.D 原则中「D」的 「依赖倒置」。 这意味着工厂方法模式取决于抽象类,而不是具体的类。 这是与简单工厂模式和静态工厂模式相比的优势。

设计模式

简单工厂模式(Simple Factory)

目的简单工厂模式是一个精简版的工厂模式。 它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类。甚至可以模拟(Mock)他,这对编写可测试的代码来讲至关重要。 这也是它比静态工厂模式受欢迎的原因!

设计模式

建造者模式(Builder)

目的建造者是创建一个复杂对象的一部分接口。 有时候,如果建造者对他所创建的东西拥有较好的知识储备,这个接口就可能成为一个有默认方法的抽象类(又称为适配器)。 如果对象有复杂的继承树,那么对于建造者来说,有一个复杂继承树也是符合逻辑的。 注意:建造者通常有一个「流式接口」,例如 PHPUnit 模拟生成器。 例子PHPUnit: 模拟生成器

设计模式

抽象工厂模式(AbstractFactory)

目的在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。

设计模式

PHP 设计模式说明

简介这是一组已知的 设计模式 和一些在 PHP 中实现它们的示例代码。 每个模式都有一个例子列表(其中大多数来自 Zend Framework,Symfony2 或 Doctrine2,因为我最熟悉这些软件)。 我认为设计模式方面的问题是人们通常知道他们,但不知道何时应用这些模式。

设计模式

HPA

Horizontal Pod Autoscaling 可以根据 CPU 利用率自动伸缩一个 ReplicaSet、Deployment 或者中的 Pod 数量

系统运维

Helm

一、Helm 是什么在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理。 Helm 本质就是让 K8s 的应用管理(Deployment,Service 等 ) 可配置,能动态生成。通过动态生成 K8s 资源清单文件(deployment.yaml,service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。 Helm 是官方提供的类似于 YUM 的包管理器,是部署环境的流程封装。Helm 有两个重要的概念:chart 和release。

系统运维

Job 与 Cronjob

一、JobJob 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。 特殊说明: 1、spec.template 格式同 Pod 2、RestartPolicy 仅支持 Never 或 OnFailure 3、单个 Pod 时,默认 Pod 成功运行后 Job 即结束 4、spec.completions 标志 Job 结束需要成功运行的 Pod 个数,默认为 1 5、spec.parallelism 标志并行运行的 Pod 的个数,默认为 1 6、spec.activeDeadlineSeconds 标志失败 Pod 的重试最大时间,超过这个时间不会继续重试

系统运维

Kebetnetes命令行工具kubectl

为了方便在命令行下对集群、节点、pod进行管理,kubernetes官方提供了一个管理命令:kubectl kubectl作为客户端CLI工具,可以让用户通过命令行对Kubernetes集群进行操作。

系统运维

Harbor 镜像仓库部署

一、创建自签证书:1.1、准备工作 检查是否已经安装 openssl: openssl version 创建存放证书目录并进入目录

系统运维
12345621