6 elim168

尚未进行身份认证

暂无相关简介

等级
TA的排名 982

RocketMQ(09)——发送事务消息

发送事务消息RocketMQ支持发送事务消息,它的事务消息是基于二阶段提交机制实现的。当发送的消息是事务消息时,只有对应的消息被提交了才能被消费者进行消费。发送事务消息时生产者需要使用TransactionMQProducer,它还需要指定一个TransactionListener。TransactionListener接口的定义如下。public interface TransactionL...

2020-03-10 17:48:38

RocketMQ(08)——日志输出到RocketMQ

日志输出到RocketMQRocketMQ对常用的几种日志输出框架都定义了一个日志输出实现,使对应的日志信息作为一条消息发送到RocketMQ。要使日志输出信息能够发送到RocketMQ,需要添加rocketmq-logappender依赖。<dependency> <groupId>org.apache.rocketmq</groupId> ...

2020-03-10 17:46:58

RocketMQ(07)——消费者通过用户属性进行过滤

消费者通过用户属性进行过滤生产者在发送消息的时候可以通过Message的putUserProperty()放Message中放一些用户自定义属性,比如下面这样。@Testpublic void testFilterSend() throws Exception { DefaultMQProducer producer = new DefaultMQProducer("group1");...

2020-03-10 17:44:32

RocketMQ(06)——消息的批量发送和消费

消息的批量发送和消费发送生产者进行消息发送时可以一次发送多条消息,这对于体积比较小的消息而言会大大改善性能,可以想象原本发送10条消息需要传递10次,现在只需要传递一次。这可以通过调用send()时传递一个消息集合。比如下面这样。批量发送的消息必须拥有相同的Topic,且一次发送的消息的body的总体积不能超过4MB,否则会得到异常——org.apache.rocketmq.client.ex...

2020-03-08 00:15:52

RocketMQ(05)——消息的群集消费和广播消费

消息的群集消费和广播消费RocketMQ的消费者进行消息消费时有两种消费方式,群集消费和广播消费。默认是群集消费。群集消费Consumer都有一个Group,当两个Consumer实例属于同一个Group时,它们会共享消息队列中的消息消费位移,即同一条消息只会由一个消费者实例消费。实际上一个队列只会分配给一个消费者实例,那么属于该队列中的消息就只能被一个消费者实例消费了。当一个消费者实例挂了...

2020-02-02 00:17:24

RocketMQ(04)——发送顺序消息

发送顺序消息如果你的业务上对消息的发送和消费顺序有较高的需求,那么在发送消息的时候你需要把它们放到同一个消息队列中,因为只有同一个队列的消息才能确保消费的顺序性。下面代码我们在发送消息的时候,调用的是需要传递MessageQueueSelector的send(),该方法还可以传递一个额外的参数,其对应MessageQueueSelector的select()的最后一个参数。下面代码中我们一共发送...

2020-01-19 23:24:54

RocketMQ(03)——通过Tag对消息分类

通过Tag对消息分类RocketMQ建议一个业务系统只使用一个Topic,不同类型的消息通过tag来区分。tag可以在构造Message的时候指定,下面代码就指定了发送的消息的tag都为tag0。@Testpublic void sendWithTag() throws Exception { DefaultMQProducer producer = new DefaultMQProdu...

2019-12-28 19:38:30

RocketMQ(02)——发送消息的三种方式

发送消息的三种方式同步发送Producer在进行消息发送时可以是阻塞的,也可以是非阻塞的。具体对应到发送方式一共有三种,分别是同步、异步和单向的(ONEWAY)。之前介绍的调用send()返回SendResult的方法是阻塞的,它一定要等到Broker进行了响应后才会返回,才能继续往下执行。对于下面的代码就是只有第一条消息发送完了后,才能发送第二条消息,接着是第三条。这种阻塞发送的方式也叫同步...

2019-12-27 23:36:20

RocketMQ(01)——简介

RocketMQ简介笔者使用的是Apache RocketMQ,官网是http://rocketmq.apache.org/。RocketMQ是Alibaba开源的一个分布式消息队列,可以通过http://rocketmq.apache.org/dowloading/releases/下载当前最新的版本。下载后解压缩,然后通过bin/mqnamesrv启动一个Name Server,它默认监听在...

2019-12-07 23:49:03

Spring Cloud(18)——gateway

Spring Cloud GatewaySpring Cloud Gateway是Spring提供的API网关层,可以通过它代理请求,然后转发到真正的目标地址上。使用Spring Cloud Gateway需要加上spring-cloud-starter-gateway和spring-boot-starter-webflux依赖。<dependency> <groupId...

2019-11-12 23:10:38

Spring Cloud(17)——使用Zookeeper进行服务注册与发现

使用Zookeeper进行服务注册与发现服务注册(ServiceRegistry)与发现(DiscoveryClient)在Spring Cloud中都进行了抽象。除了之前介绍的Eureka外,Spring Cloud也支持使用Zookeeper作为服务的注册中心。基于Zookeeper的服务注册由org.springframework.cloud.zookeeper.serviceregist...

2019-10-23 23:13:20

Spring Cloud(16)——链路追踪工具Sleuth

追踪工具SleuthSpring Cloud Sleuth可以用来追踪微服务请求中的整个请求,通过它可以记录各个请求之间的耗时、异常等情况。使用Spring Cloud Sleuth时一般会跟Zipkin一起使用。Spring Cloud Sleuth收集到的一些跟踪信息可以发送给Zipkin,Zipkin提供了图形化界面方便查看服务之间的调用关系和调用耗时等情况。我们先来看几个Spring C...

2019-10-16 23:39:53

Spring Cloud(15)——配置中心

Spring Cloud ConfigSpring Cloud Config提供分布式配置功能,它包含Server和Client两部分。Server负责提供统一的配置信息,Client负责从Server获取相应的配置信息。Server端的配置信息支持git存储、本地文件存储、数据库等多种存储方式,默认使用git存储。Server简介Spring Cloud Config Server需要添加...

2019-10-09 23:25:37

Spring Cloud(14)——Function

Spring Cloud FunctionSpring Cloud Function专注于提供一些与业务无关的函数功能。它允许用户把java.util.function.Function、java.util.function.Consumer和java.util.function.Supplier类型的bean直接对外发布。通过Http对外发布Function、Consumer、Suppli...

2019-10-08 23:16:02

Spring Cloud(13)——服务注册与发现工具Consul

服务注册与发现工具-ConsulSpring Cloud也可以使用Consul作为服务注册与发现工具。Consul和Eureka一样,也有服务端和客户端的概念,它们都需要基于Consul Agent运行,即Agent有Server模式和Client模式,开发环境可以直接通过consul agent -dev启动一个Agent,它默认会监听8500端口。注册服务作为服务提供方如果需要通过Con...

2019-09-27 23:28:00

Spring Cloud(12)——基于Kafka的Stream实现

基于Apache Kafka的Stream实现如果你的应用使用了Apache Kafka,你需要把它和Spring Cloud进行整合。需要在应用中添加如下依赖。<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-st...

2019-09-23 23:18:56

Spring Cloud(11)——基于RocketMQ的Stream实现

基于RocketMQ的Stream实现SpringCloudStream是一个消息收发的框架,它提供了一套标准,应用程序只需要按照它的标准进行消息的收发,而不用关注具体的实现机制。具体的实现可以基于不同的消息中间件进行不同的实现,比如Kafka的实现、RabbitMQ的实现、RocketMQ的实现等。官方已经提供了Kafka和RabbitMQ的实现,RocketMQ的实现由Alibaba负责...

2019-09-20 22:36:25

Spring Cloud(10)——声明式的Rest客户端Feign

声明式的Rest客户端Feign是一个声明式的Rest客户端,它可以跟SpringMVC的相关注解一起使用,也可以使用Spring Web的HttpMessageConverter进行请求或响应内容的编解码。其底层使用的Ribbon和Eureka,从而拥有客户端负载均衡的功能。使用它需要在pom.xml中加入spring-cloud-starter-openfeign依赖。<depend...

2019-09-18 23:28:44

Spring Cloud(09)——服务端负载工具Zuul

服务端负载工具ZuulZuul是Netflix公司提供的服务端负载工具,Spring Cloud基于它做了一些整合。试想一下微服务场景下服务端有服务A、服务B、服务C等,每个服务对应不同的地址,作为服务提供者,你不想直接对外暴露服务A、服务B、服务C的地址,而且每种服务又有N台机器提供服务。使用Zuul后,可以同时聚合服务A、服务B、服务C,又可实现服务的负载均衡,即同时聚合多个服务A的提供者。...

2019-09-17 23:57:26

Spring Cloud(08)——客户端负载工具Ribbon

客户端负载工具RibbonRibbon是Netflix公司提供的一个客户端负载工具,Spring Cloud也对其进行了集成支持。使用Ribbon需要在pom.xml中添加如下依赖。<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>sprin...

2019-08-28 22:41:11

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。