自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 责任链模式(Chain of Responsibility Design Pattern)及代码实现

模式定义:代码中的例子(何时该使用此模式):该模式关键的角色:该模式的主要优缺点如下:和 其他模式 的 比较:示例代码部分总结:相关链接:...

2020-11-30 14:30:07 270 1

原创 组合模式(Composite Design Pattern)及代码实现

模式定义:代码中的例子(何时该使用此模式):该模式关键的角色:该模式的主要优缺点如下:和 其他模式 的 比较:示例代码部分总结:相关链接:...

2020-11-26 22:04:41 484

原创 celery延时队列实现

rabbitmq实现延时队列方式1.通过 普通队列超时时间设置(TTL)+ 死信交换机(DLX)+死信队列+消费者 实现;普通队列 的消息设置超时时间,等 超时后,消息 会通过 死信交换机 路由到 死信队列,消费者 消费 死信队列中的 消息 从而实现延时队列功能;2.通过rabbitmq插件rabbitmq-delayed-message-exchange 实现celery实现方式比较方便,通过 apply_async方法的 countdown属性 或 eta属性 实现(...

2020-11-23 19:45:35 1626

原创 rabbitmq集群中 磁盘节点和内存节点区别

为何需要分析区别?理解 集群节点 存储类型 有利于理解 集群中各个模式的运行机制; 从而根据自己业务 选择不同存储类型的节点 和 选择 持久化或非持久化 的队列;官方原文链接:https://www.rabbitmq.com/clustering.html#cluster-node-types磁盘节点和 内存节点(Disk and RAM Nodes)一个节点可以是内存或磁盘节点类型;内存节点只在内存中存储 内部数据库表, 不包括 消息,消息存储索引,队列索引和其他节点状态;..

2020-11-19 20:18:29 4063

原创 celery+rabbitmq queue,message,exchange设置持久化或非持久化

持久化

2020-11-19 20:17:43 1211 2

原创 docker+rabbitmq+HAproxy 部署 镜像模式 的集群

为了解决上篇文章中 的docker+rabbitmq 部署 普通模式 的集群 问题,此次通过 docker+rabbitmq+HAproxy部署 镜像模式的集群;镜像模式介绍镜像模式 实现了 队列的高可用, 因为 客户端生产的 队列任务数据 会 立刻主动的 复制到 集群中的所有节点上;这样 保证 任何一个节点宕机后,其他节点保证在不丢失数据的情况下 继续提供服务;从而实现高可用;(在默认集群模式基础上 增加了 同步队列数据的功能)节点间同步数据机制: 不必担心同步数据丢失问题,因为...

2020-11-19 20:16:05 361

原创 docker+rabbitmq 部署 普通模式 的集群

普通模式集群 介绍:此模式 也是rabbitmq默认的集群模式,只要 把各个rabbitmq节点加入到集群中,不进行任何操作 便是此模式;此模式 节点间 只互通元数据(可以理解为 保证队列结构相同,用户上传的数据不通,类似mysql表结构一致,数据不互通);元数据如下:a.队列元数据:队列名称和它的属性;b.交换器元数据:交换器名称、类型和属性;c.绑定元数据:一张简单的表格展示了如何将消息路由到队列;d.vhost元数据:为vhost内的队列、交换器和绑定提供命名空间和安全属性;rab

2020-11-19 20:14:43 386

原创 桥接模式(Bridge Design Pattern)及代码实现

模式定义:代码中的例子(何时该使用此模式):该模式关键的角色:该模式的主要优缺点如下:和 其他模式 的 比较:示例代码部分总结:相关链接:...

2020-11-10 19:46:10 274

原创 代理模式(Proxy Design Pattern)及代码实现

什么是 代理模式?代码中的例子(何时该使用此模式):该模式关键的角色:该模式的主要优缺点如下:和 其他模式 的 比较:示例代码部分总结:相关链接:...

2020-11-08 19:31:12 325

原创 享元模式(Flyweight Design Pattern)及代码实现

什么是 享元模式?代码中的例子(何时该使用此模式):该模式关键的角色:该模式的主要优缺点如下:示例代码部分总结:相关链接:

2020-11-08 15:48:21 200

原创 装饰器器模式(Decorator Design Pattern)及代码实现

什么是 装饰器模式?代码中的例子(何时该使用此模式):该模式关键的角色:该模式的主要优缺点如下:示例代码部分总结:相关链接:

2020-11-04 20:26:10 301 2

原创 外观模式(Facade Design Pattern)及代码实现

什么是 外观模式?对客户端 隐藏 复杂系统的内部交互沟通逻辑,只提供简单的 几个接口 供客户端使用,通过这几个接口 实现 复杂系统内部的交互过程; 客户端 不必考虑 系统内部实现逻辑; 即 在已有复杂系统之上实现的一个抽象层;相当于 提供了 一个 访问复杂系统的快捷方式生活中的例子:电脑开机;提供给用户一个 开机按钮即可; 内部 复杂的开机程序启动流程(从cpu,内存,硬盘各个模块进行依次加载等等) 用户不必考虑(对用户隐藏); 用户 网上购物下单; 用户只需点击按钮,并付款; 此..

2020-11-04 20:25:46 429

原创 适配器模式(Adapter Design Pattern)及代码实现

什么是 适配器模式?适配器模式(Adapter pattern)是一种结构型设计模式,帮助我们实现两个不兼容接口之间 的兼容。首先,解释一下不兼容接口的真正含义。如果我们希望把一个老组件用于一个新系统中, 或者把一个新组件用于一个老系统中,不对代码进行任何修改两者就能够通信的情况很少见。但 又并非总是能修改代码,或因为我们无法访问这些代码(例如,组件以外部库的方式提供),或 因为修改代码本身就不切实际。在这些情况下,我们可以编写一个额外的代码层,该代码层包含 让两个接口之间能够通信需要进行的所有修改。这

2020-11-02 18:57:45 397

原创 单例模式(Singleton Design Pattern)及代码实现

什么是 单例模式?顾名思义 单例模式 便是指 一个类在一个运行的程序中只能有一个实例;代码中的例子(何时该使用此模式):程序中 对 某个固定文件的多次读取,可以使用单例模式,这样减少程序IO时间 和 生成新对象的 内存资源占用, 相当于 缓存功能;单例模式 关键的角色:单例 角色: 能创建全局唯一一个实例的类该模式的主要优缺点如下:示例代码部分(多个实现方式)1.通过 metaclass方式实现# -*- coding: utf-8 -*-...

2020-11-01 21:07:54 491

空空如也

空空如也

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

TA关注的人

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