线程池基本机制 线程池是一种池化资源,其主要解决重复创建线程带来的额外开销。线程池的设计使用了生产者-消费者模型。向线程池中提交一个计算任务,执行提交动作的线程是生产者,线程池中的线程作为消费者来执行具体的计算。 Executor和ExecutorService Java中Executor是线程池的 ...
分类:
编程语言 时间:
2021-02-03 10:58:10
阅读次数:
0
承接上篇:上篇文章讲到改造 go-zero 生成的 app module 中的 gateway & RPC 。本篇讲讲如何接入 异步任务 以及 log的使用。 Delay Job 日常任务开放中,我们会有很多异步、批量、定时、延迟任务要处理,go-zero中有 go-queue,推荐使用 go-qu ...
分类:
其他好文 时间:
2021-02-02 10:46:15
阅读次数:
0
#kafka ##1.kafka基础架构 Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。 (1)Producer : ...
分类:
其他好文 时间:
2021-01-30 12:13:24
阅读次数:
0
消息追踪 消息跟踪,排查问题。追踪消息的生产和消费 Firehose Firehose 的原理是将生产者投递给RabbitMQ 的消息,或者RabbitMQ 投递给消费者的消息按照指 定的格式发送到默认的交换器上。这个默认的交换器的名称为 amq.rabbitmq.trace ,它是一个 topic ...
分类:
其他好文 时间:
2021-01-19 12:22:49
阅读次数:
0
发布订阅模式是 生产者 通过这个路由发送到绑定额多个队列中去,然后不同的 消费者 消费不同的队列 从而做到发布订阅模式 1. 生产者 using RabbitMQMsgProducer.MessageProducer; using Microsoft.Extensions.Configuration ...
分类:
其他好文 时间:
2021-01-19 12:14:10
阅读次数:
0
(1)消费消息失败后,重新加入队列并优先级处理; (2)根据消息的内容筛选出优先级高的进行设置,并发送 1. 生产者 using RabbitMQMsgProducer.MessageProducer; using Microsoft.Extensions.Configuration; using ...
分类:
其他好文 时间:
2021-01-19 12:12:57
阅读次数:
0
订单多任务处理 能够让生产者的横向扩展,支持多个服务器; 生产者集群架构,消费端集群架构; 同一个队列的话,消息是被瓜分掉的 设置均衡消费端: channel.BasicQos(0, 1, false); //预取数量设置为1个; 设置false nuget : 1. 生产者 using Rabbi ...
分类:
其他好文 时间:
2021-01-19 12:11:54
阅读次数:
0
传统微服务架构 在微服务模式下,企业内部服务少则几个到几十个,多则上百个,每个服务一般都以集群方式部署,这时自然产生两个问题: 一、服务发现:服务的消费方(Consumer)如何发现服务的提供方(Provider)? 二、负载均衡:服务的消费方如何以某种负载均衡策略访问集群中的服务提供方实例? 三种 ...
分类:
其他好文 时间:
2021-01-18 11:37:22
阅读次数:
0
一、Java 8 内置的四大核心函数式接口 Consumer<T> :消费型接口 void accept(T t); Supplier<T> :供给型接口 T get(); Function<T, R> :函数型接口 R apply(T t); Predicate<T> :断言型接口 boolean ...
分类:
其他好文 时间:
2021-01-18 11:28:54
阅读次数:
0
Conditon中的await()对应Object的wait(),Condition中的signal()对应Object的notify(),Condition中的signalAll()对应Object的notifyAll() 两个线程交替执行例子(同理生产者消费者也是这样交替执行): package ...
分类:
其他好文 时间:
2021-01-18 11:05:41
阅读次数:
0