首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Devops专栏

    8-RabbitMQ工作模式总结

    8-RabbitMQ工作模式总结 模式总结 RabbitMQ工作模式: 1、简单模式 HelloWorld一个生产者、一个消费者,不需要设置交换机(使用默认的交换机) 2、工作队列模式 Work Queue 一个生产者、多个消费者(竞争关系),不需要设置交换机(使用默认的交换机) 3、发布订阅模式 Publish/subscribe需要设置类型为fanout的交换机,并且交换机和队列进行绑定,当发送消息到交换机后 ,交换机会将消息发送到绑定的队列 4、路由模式 Routing需要设置类型为direct的交换机,交换机和队列进行绑定,并且指定routing key,当发送消息到交换机后,交换机会根据routing key将消息发送到对应的队列 5、通配符模式 Topic需要设置类型为topic的交换机,交换机和队列进行绑定,并且指定通配符方式的routing key,当发送消息到交换机后,交换机会根据routing

    35220编辑于 2022-11-22
  • STM32 GPIO 8工作模式深入详解

    STM32 GPIO 8工作模式深入详解 一、GPIO基本结构概述 STM32的每个GPIO引脚都有以下关键寄存器: GPIOx_MODER - 模式寄存器(输入/输出/复用/模拟) GPIOx_OTYPER 上下拉电阻寄存器 GPIOx_IDR - 输入数据寄存器(只读) GPIOx_ODR - 输出数据寄存器 GPIOx_BSRR - 置位/复位寄存器(原子操作) GPIOx_LCKR - 锁定寄存器 二、8种 GPIO模式详解 1. 模拟比较器 注意:此模式下读IDR为0 5. ) 应用: - SPI SCK/MOSI(需要强驱动) - USART TX - PWM输出 注意:输出信号由外设自动产生 8.

    53010编辑于 2026-02-02
  • 来自专栏苏三说技术

    工作中最常用的 8 种设计模式

    前言 设计模式在我们日常的软件开发中无处不在,它们帮助我们编写更易扩展、更具可读性的代码。 今天结合我实际工作场景和源码实例,跟大家一起聊聊工作中最常用的8种设计模式,希望对你会有所帮助。 单例模式 单例模式确保一个类只有一个实例,通常用于管理共享资源,如配置、缓存、线程池等。 代码实现:双重检查锁 这是单例模式的标准写法,既保证线程安全,又避免性能损耗。 模板方法模式 模板方法模式定义一个算法的骨架,把具体的实现留给子类。 代码实现:任务执行模板 模拟定时任务的执行流程。 JDK 中的应用: java.util.AbstractList 和 java.util.AbstractMap Spring 中的应用: JdbcTemplate 和 RestTemplate 8. 建造者模式 建造者模式用于创建复杂对象,特别是当对象有多个可选参数时。

    50900编辑于 2024-12-19
  • 来自专栏緣來來來

    STM32的IO口的8工作模式

    STM32的I/O口的八种工作模式 (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。 当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。 IO双向功能 (6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的 (7)复用功能的推挽输出 _AF_PP ——片内外设功能(I2C的SCL,SDA) (8

    1.4K10发布于 2020-01-02
  • 来自专栏用户8506532的专栏

    RabbitMQ工作模式

    RabbitMQ工作模式 1.Work queues 工作队列模式 1.1 模式说明 work queues 与入门程序的 简单模式 相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息。 应用场景:对于任务过重或任务较多情况使用工作队列可以提高任务处理的速度。 channel.basicConsume(Producer.FANOUT_QUEUE_2,false,consumer); } } 2.3 小结 交换机需要与队列进行绑定,绑定之后;一个消息可以被多个消费者 都收到 发布订阅模式工作队列模式的区别 工作队列模式不用定义交换机,而发布/订阅模式需要定义交换机 工作队列模式的生产方是面向队列发送消息(底层使用默认交换机),发布/订阅模式的生产方是面向交换机发送消息 工作队列模式不需要设置,会将队列绑定到默认的交换机 1、简单模式 HelloWorld : 一个生产者、一个消费者,不需要设置交换机(使用默认的交换机) 2、工作队列模式 Work Queue : 一个生产者、多个消费者(竞争关系),不需要设置交换机(

    54210编辑于 2021-12-06
  • 来自专栏散尽浮华

    apache工作模式梳理

    apache目前主要有两种模式:prefork模式和worker模式: 1)prefork模式(默认模式) prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程。 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。 apache模式的查看和安装 1.常看当前模式 如果apache已经安装,我们可以用"httpd -l"命令查看当前模式。 若找到prefork.c则表示当前工作在prefork模式;同理出现worker.c则工作在worker模式。 另外很多php模块不能工作在worker模式下,例如redhat linux自带的php也不能支持线程安全。所以最好不要切换工作模式

    1.6K80发布于 2018-01-22
  • 来自专栏阿dai_linux

    Apache工作模式

    Apache的几种工作模式 查看Apache所有工作模式: 在httpd目录执行以下命令: # . /configure --help /--with-mpm 在help文件中搜索“--with-mpm” 工作模式有:prefork、worker、event、beos、mpmt_os2 event模式,是为解决keep-alive保持长连接出现的一种工作模式,使用keep-alive长连接的时候,某个线程会一直被占用,及时中间没有请求,需要等到超时才会被释放,所以这个时候就出现了event 的工作模式就出现了。 在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放。这增强了在高并发场景下的请求处理。

    1.1K10发布于 2019-04-03
  • 来自专栏性能与架构

    Apache 的工作模式

    Apache 是一个非常成熟的Web服务器,工作模式也在不断优化 现在 Apache 已经有了 3 个核心工作模式,看下他们各自的工作方式是什么样的 (1)prefork MPM,多进程工作模式 先生成主进程 ,完成基础的初始化工作,然后,通过fork预先产生一批的子进程(子进程会复制父进程的内存空间,不需要再做基础的初始化工作),然后等待服务 之所以预先生成,是为了减少频繁创建和销毁进程的开销 多进程的好处 因此,prefork并不太适合高并发场景 (2)worker MPM,多进程和多线程的混合模式 使用了多进程和多线程的混合模式,它也预先fork了几个子进程(数量很少),然后每个子进程创建一些线程 每个请求过来 ,却又引起了新的问题,就是“线程安全”,多个线程修改共享资源导致的“竞争行为”,因此,一定程度上增加Web服务的不稳定性 (3)event MPM,多进程和多线程的混合模式,引入Epoll 比较新的模式 Apache的三种模式中在真实应用场景中,event MPM是最节约内存的

    99870发布于 2018-04-02
  • 来自专栏码农UP2U

    分组密码工作模式

    今天粗略的把分组密码的工作模式看完了,当然了只是粗略的看完了,没有进行细化,也没有依靠自己的理解把相应的流程图和数学公式写出来。 既然分组密码有多种不同的应用场景,那么它就有不同的工作模式,其工作模式分为如下几种: 电子密码本模式 —— ECB 密文分组链接模式 —— CBC 输出反馈模式 —— OFB 密文反馈模式 —— CFB 计数器模式 —— CTR 后三种模式又将分组密码原理运用在了序列密码的加密当中。 分组密码随着工作模式的改变可以运用到不同的场景中,有的适合用于数据库加密、有的适合进行完整性的校验。 这几种分组密码的工作流程我后期会画出流程图进行分享。希望可以共同提高。

    95430发布于 2020-08-26
  • 来自专栏Python机器学习算法说书人

    Python设计模式8):外观模式

    如图所示的设计类图即为外观模式设计类图。 “四人帮”(Gang of Four,GOF)在《设计模式》一书中对外观模式的描述为:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这个子系统更加容易使用。 ? print('Class6') class Class7: def __init__(self): print('Class7') class Class8: def __init__(self): print('Class8') class Class9: def __init__(self): print 外观模式的优缺点 外观模式的优点为,利用外观模式可以去掉子系统与客户程序间的直接绑定,从而提高子系统的独立性,也降低了客户程序与子系统的直接耦合度。此外,利用外观模式可以使系统层次化。

    61620发布于 2019-07-26
  • 来自专栏开源部署

    Git的工作模式工作流程

    缺点:     1.每个开发人员都拥有所有的代码,不利于核心代码的保密(如果有重要代码需要保密,则不建议使用git) git的工作模式 远程仓库(remote) 工作区(workspace) 存放git 版本仓库的目录就是工作区 主要存放代码文件和代码库 历史区(repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 git 的工作流程 指针--- HEAD: 你的本地仓库由 git 维护的三部分组成。 第一个是你的 工作目录,它持有实际文件; 第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动; 第三个HEAD,指向你最近一次提交后的结果。

    1.2K20编辑于 2022-07-13
  • 来自专栏技术客栈

    Java设计模式8)外观模式

    前言 在软件开发的世界里,设计模式如同一本精妙的编码诗集,已经成为一种标准的编程实践。在Java编程中,设计模式很重要。 本人将制作一个关于Java设计模式的系列文章,总共23种设计模式将以一篇一篇文章讲解,代码笔记已开源:Gitee点击跳转。在上一篇《Java设计模式(7)装饰器模式》文章中,我们介绍了装饰器模式。 本文是这个系列的第八篇章,我们将讲解一下外观模式的实现方式、应用场景以及它的用途。 外观模式 外观模式是一种结构型设计模式,提供一个统一的接口,用于访问子系统中的一组接口。 使用场景 当存在一个复杂的子系统,并且希望为客户端提供一个简单的接口来访问该子系统时,可以使用外观模式。 当需要将子系统的接口进行封装,以隔离客户端与子系统之间的依赖关系时,也可以使用外观模式。 当需要简化一个复杂接口的使用,提供一个更加友好的接口给客户端时,外观模式同样适用。 代码实现 这里采用多媒体播放器来举个例子。

    32010编辑于 2024-04-18
  • 来自专栏吴亲强的深夜食堂

    go并发-工作模式

    两篇文章原理相似:有一批工作任务(job),通过工作池(worker-pool)的方式,达到多 worker 并发处理 job 的效果。 他们还是有很多不同的点,实现上差别也是蛮大的。 图大概是这样的, 然后它可以通过 context.context 达到控制工作池停止工作的效果。 最后通过代码,你会发现它不是传统意义上的 worker-pool,后面会说明。 同时通过 sync.WaitGroup,我们可以等待所有 worker 工作结束,也就意味着 work-pool 结束工作,当然可能是因为任务处理结束,也可能是被停止了。 <- Result{ Err: ctx.Err(), } return } } } 每个 worker 都尝试从同一个 jobs 获取数据,这是一个典型的 fan-out 模式 当对应的 g 获取到 job 进行处理后,会把处理结果发送到同一个 results channel 中,这又是一个 fan-in 模式

    1.2K20发布于 2021-08-02
  • 来自专栏JAVA乐园

    VI基本的工作模式

    0x01:VI有三种基本的工作模式 指令模式 文本输入模式 行末模式 他们的相互关系如下: 指令模式(Command Mode)输入a、i、o进入文本输入模式(Input Mode)。 文本输入模式(Input Mode)下按ESC进入指令模式(Command Mode) 指令模式(Command Mode)下输入“:”进入行末模式(Last Line Mode) 行末模式(Last Line Mode)下指令错误返回指令模式(Command Mode) 0x02:指令模式(Command Mode) 指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义。 0x03:文本输入模式(Input Mode) 在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式,文本输入模式的命令及其含义如下所示。 O :在光标所在列上方新增一列并进入输入模式 ESC :返回命令行模式 0x04:末行模式(Last line Mode) 末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作

    1.2K20发布于 2020-06-12
  • 来自专栏消息中间件

    RabbitMQ工作队列模式

    一、概念与简单模式相比,工作队列模式(Work Queue)多了一些消费者,该模式也使用direct交换机,应用于处理消息较多的情况。特点如下:一个队列对应多个消费者。一条消息只会被一个消费者消费。 RabbitMQ的工作队列模式(Work Queues)也被称为任务队列模式,是一种用于处理分布式任务的工作模式。在这种模式下,多个消费者可以监听同一个队列,但每个消息只能被一个消费者处理。 工作队列模式适用于以下场景:分布式任务处理:当需要将一组任务分配给多个消费者并行处理时,可以使用工作队列模式。 例如,在一个大型Web应用中,可能需要将用户上传的图片进行压缩、水印处理等任务分配给多个工作节点并行执行。高并发场景:在需要处理大量并发请求的场景中,可以使用工作队列模式来提高系统的吞吐量和响应速度。 通过工作队列模式,RabbitMQ可以有效地实现分布式任务处理和负载均衡,提高系统的性能和可靠性。

    70010编辑于 2024-04-26
  • 来自专栏又见苍岚

    路由器工作模式

    无线路由器上一般有AP(接入点)模式、Router(无线路由)模式、Repeater(中继)模式、Bridge(桥接)模式、 Client(客户端)模式,本文介绍相关内容。 工作模式 无线路由器上一般有Router(无线路由)模式、AP(接入点)模式、Repeater(中继)模式、Bridge(桥接)模式、 Client(客户端)模式。 路由模式 Router 路由模式是我们家庭生活中最常用的模式,现在更多指的是无线路由模式。 简单的说,可以通过该模式,让无线路由器连接光猫(modem)上网。 AP模式(接入点模式) AP模式主要是将有线信号转变成无线WiFi信号,这是我们最常使用的一种模式。 中继模式和AP模式的区别 最明显的区别就是,中继模式是通过“无线”的方式连接上级路由器,而AP模式是通过“有线”的方式连接到上级路由。

    2.2K00编辑于 2024-05-25
  • 来自专栏兰舟千帆的java学习笔记

    RabbitMQ Topic(通配符)工作模式

    RabbitMQ Topic(通配符)工作模式 上文我们介绍了它的路由工作模式,接下来介绍一个通配符的模式。 *(星号)可以正好代替一个词。 queueName,exchangeName,"order.*"); channel.queueBind(queueName01,exchangeName,"*.*"); // 8:

    67920编辑于 2022-08-03
  • 来自专栏程序员小航

    工作中的设计模式 —— 门面模式

    前言 门面模式也叫外观模式,是一种结构型设计模式,能为程序库、框架或其他复杂类提供一个简单的接口。 1 使用场景 门面模式可以说是在工作中使用非常多的一种设计模式了,比如常用的 slf4j。 也会有结合策略模式的使用,或者结合适配器模式。这些都有很多很多的使用场景,不过单独弄懂一个,后续遇到就自己扩展。 相关资料 [1] 《深入设计模式》:https://refactoringguru.cn/design-patternss [2] 封面图:https://refactoringguru.cn/design-patterns

    96350发布于 2021-04-21
  • 来自专栏程序员小航

    工作中的设计模式 —— 策略模式

    前言 策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。 1 使用场景 策略模式工作中使用的相对是比较多的,像支付场景,计费场景,优惠场景,活动奖励、用户等级等等。 当然也有很多直白的说法,就是替换一大堆的 if else。 这里以工作中遇到的场景举例: 这里选择使用理财储蓄场景中的计费策略举例:在理财储蓄场景中,需要每日给用户发放利息,同时用户分为普通用户、持卡用户,他们有分别的利率以及计息方式。 ? 很明显,在计费时要使用策略模式,按照以下模式进行开发。 3 总结 本文介绍了在工作中使用策略模式,总结一下经常使用到的场景: 支付方式的选择:微信、支付宝、银联等等 计费策略不同:不同的用户计费方式不同(收费/运费等) 活动规则选择:不同的活动走不同计算的逻辑

    80320发布于 2021-04-21
  • 来自专栏java学习java

    异步模式工作线程

    定义 让有限的工作线程(Worker Thread)来轮流异步处理无限多的任务。也可以将其归类为分工模式,它的典型实现 就是线程池,也体现了经典设计模式中的享元模式。 例如,海底捞的服务员(线程),轮流处理每位客人的点餐(任务),如果为每位客人都配一名专属的服务员,那 么成本就太高了(对比另一种多线程设计模式:Thread-Per-Message) 注意,不同任务类型应该使用不同的线程池 服务员(线程池A)与厨师(线程池B)更为合理,当然你能想到更细致的分工 饥饿 固定大小线程池会有饥饿现象 两个工人是同一个线程池中的两个线程 他们要做的事情是:为客人点餐和到后厨做菜,这是两个阶段的工作 计算时间+等待时间) / CPU 计算时间 例如 4 核 CPU 计算时间是 50% ,其它等待时间是 50%,期望 cpu 被 100% 利用,套用公式 4 * 100% * 100% / 50% = 8

    53330编辑于 2023-10-15
领券