234390216
- 浏览: 10174176 次
- 性别:
- 来自: 深圳
最近访客
博客专栏
-
oracle基础
浏览量:459805
-
springmvc介绍
浏览量:1769853
-
mybatis简介
浏览量:1394018
-
浏览量:393208
-
浏览量:677460
-
浏览量:528526
-
spring securi...
浏览量:1177340
-
spring基础知识
浏览量:458747
-
浏览量:149427
-
浏览量:66188
社区版块
- ( 0)
- ( 18)
- ( 4)
存档分类
- ( 2)
- 2019-12 ( 3)
- ( 1)
文章列表
- 博客分类:
消息的群集消费和广播消费
rocketmq的消费者进行消息消费时有两种消费方式,群集消费和广播消费。默认是群集消费。
群集消费
consumer都有一个group,当两个consumer实例属于同一个group时,它们会共享消息队列中的消息消费位移,即同一条消息只会由一个消费者实例消费。实际上一个队列只会分配给一个消费者实例,那么属于该队列中的消息就只能被一个消费者实例消费了。当一个消费者实例挂了后,会重新为消费者实例分配队列,这样原本分配给挂了的那个实例的队列中又会分配给其它消费者进行消费。rocketmq限制了同一个jvm中不允许有相同group名称的consumer实例存在,所以 ...
- 2020-02-02 00:28
- 浏览 2096
- 分类:开源软件
- 博客分类:
发送顺序消息
如果你的业务上对消息的发送和消费顺序有较高的需求,那么在发送消息的时候你需要把它们放到同一个消息队列中,因为只有同一个队列的消息才能确保消费的顺序性。下面代码我们在发送消息的时候,调用的是需要传递messagequeueselector的send(),该方法还可以传递一个额外的参数,其对应messagequeueselector的select()的最后一个参数。下面代码中我们一共发送了10条消息,从1开始算顺序为奇数的都放到第一个队列中,顺序为偶数的都放第二个队列中。所以最终第一个队列放了顺序号为1/3/5/7/9的消息,第二个队列中放了顺序号为2/4/6/8/10的消息。
...
- 2020-02-02 00:25
- 浏览 1853
- 分类:开源软件
- 博客分类:
通过tag对消息分类
rocketmq建议一个业务系统只使用一个topic,不同类型的消息通过tag来区分。tag可以在构造message的时候指定,下面代码就指定了发送的消息的tag都为tag0。
@test
public void sendwithtag() throws exception {
defaultmqproducer producer = new defaultmqproducer("group1");
producer.setnamesrvaddr(nameserver);
producer.start();
for ( ...
- 2019-12-28 19:41
- 浏览 3626
- 分类:开源软件
- 博客分类:
发送消息的三种方式
同步发送
producer在进行消息发送时可以是阻塞的,也可以是非阻塞的。具体对应到发送方式一共有三种,分别是同步、异步和单向的(oneway)。之前介绍的调用send()返回sendresult的方法是阻塞的,它一定要等到broker进行了响应后才会返回,才能继续往下执行。对于下面的代码就是只有第一条消息发送完了后,才能发送第二条消息,接着是第三条。这种阻塞发送的方式也叫同步发送,它的整个响应时间还包括可能的重试时间。其内部会默认进行两次重试,可以通过setretrytimeswhensendfailed()指定同步发送时内部最大的重试次数。
@test
...
- 2019-12-27 23:37
- 浏览 1946
- 分类:开源软件
rocketmq简介
笔者使用的是apache rocketmq,m6手机网页版登录官网是http://rocketmq.apache.org/。rocketmq是alibaba开源的一个分布式消息队列,可以通过http://rocketmq.apache.org/dowloading/releases/下载当前最新的版本。下载后解压缩,然后通过bin/mqnamesrv启动一个name ...
- 2019-12-07 23:51
- 浏览 2112
- 分类:开源软件
- 博客分类:
spring cloud gateway
spring cloud gateway是spring提供的api网关层,可以通过它代理请求,然后转发到真正的目标地址上。使用spring cloud gateway需要加上spring-cloud-starter-gateway和spring-boot-starter-webflux依赖。
org.springframework.cloud
spring-cloud-starter-gateway ...
- 2019-11-12 23:24
- 浏览 2419
- 分类:开源软件
- 博客分类:
使用zookeeper进行服务注册与发现
服务注册(serviceregistry)与发现(discoveryclient)在spring cloud中都进行了抽象。除了之前介绍的eureka外,spring cloud也支持使用zookeeper作为服务的注册中心。基于zookeeper的服务注册由org.springframework.cloud.zookeeper.serviceregistry.zookeeperserviceregistry实现,服务发现由org.springframework.cloud.zookeeper.discovery.zookeeperdiscovery ...
- 2019-10-23 23:16
- 浏览 2716
- 分类:开源软件
追踪工具sleuth
spring cloud sleuth可以用来追踪微服务请求中的整个请求,通过它可以记录各个请求之间的耗时、异常等情况。使用spring cloud sleuth时一般会跟zipkin一起使用。spring cloud sleuth收集到的一些跟踪信息可以发送给zipkin,zipkin提供了图形化界面方便查看服务之间的调用关系和调用耗时等情况。我们先来看几个spring cloud sleuth里面的基本概念。
service: 服务名,它默认就取spring.application.name。
span : 直接翻译就是跨度,比如service1调用servi ...
- 2019-10-17 23:17
- 浏览 3631
- 分类:开源软件
spring cloud config
spring cloud config提供分布式配置功能,它包含server和client两部分。server负责提供统一的配置信息,client负责从server获取相应的配置信息。server端的配置信息支持git存储、本地文件存储、数据库等多种存储方式,默认使用git存储。
iteye提示有敏感字,完整内容请查看https://elim168.blog.csdn.net/article/details/102472123
- 2019-10-09 23:36
- 浏览 2226
- 分类:开源软件
spring cloud function
spring cloud function专注于提供一些与业务无关的函数功能。它允许用户把java.util.function.function、java.util.function.consumer和java.util.function.supplier类型的bean直接对外发布。
通过http对外发布
function、consumer、supplier可以直接以http的方式对外发布,这需要我们添加spring-cloud-starter-function-web依赖。
- 2019-10-09 23:33
- 浏览 3342
- 分类:开源软件
- 博客分类:
服务注册与发现工具-consul
spring cloud也可以使用consul作为服务注册与发现工具。consul和eureka一样,也有服务端和客户端的概念,它们都需要基于consul agent运行,即agent有server模式和client模式,开发环境可以直接通过consul agent -dev启动一个agent,它默认会listen8500端口。
由于iteye提示包含敏感字,而我没找到包含的敏感字导致发布失败,更多信息请参考csdn的博文。
https://blog.csdn.net/elim168/article/details/101569784
...
- 2019-09-27 23:40
- 浏览 2242
- 分类:开源软件
基于apache kafka的stream实现
如果你的应用使用了apache kafka,你需要把它和spring cloud进行整合。需要在应用中添加如下依赖。
org.springframework.cloud
spring-cloud-starter-stream-kafka
然后就是spring cloud stream的标准配置了。需要 ...
- 2019-09-23 23:17
- 浏览 2763
- 分类:开源软件
- 博客分类:
基于rocketmq的stream实现
spring cloud stream是一个消息收发的框架,它提供了一套标准,应用程序只需要按照它的标准进行消息的收发,而不用关注具体的实现机制。具体的实现可以基于不同的消息中间件进行不同的实现,比如kafka的实现、rabbitmq的实现、rocketmq的实现等。官方已经提供了kafka和rabbitmq的实现,rocketmq的实现由alibaba负责。本文将基于rocketmq的实现进行讲解。
binder和binding
org.springframework.cloud.stream.binder.binder是spring cl ...
- 2019-09-20 23:29
- 浏览 4183
- 分类:开源软件
- 博客分类:
声明式的rest客户端
feign是一个声明式的rest客户端,它可以跟springmvc的相关注解一起使用,也可以使用spring web的httpmessageconverter进行请求或响应内容的编解码。其底层使用的ribbon和eureka,从而拥有客户端负载均衡的功能。使用它需要在pom.xml中加入spring-cloud-starter-openfeign依赖。
org.springframework.cloud
sp ...
- 2019-09-18 23:35
- 浏览 3251
- 分类:开源软件
- 博客分类:
服务端负载工具zuul
zuul是netflix公司提供的服务端负载工具,spring cloud基于它做了一些整合。试想一下微服务场景下服务端有服务a、服务b、服务c等,每个服务对应不同的地址,作为服务提供者,你不想直接对外暴露服务a、服务b、服务c的地址,而且每种服务又有n台机器提供服务。使用zuul后,可以同时聚合服务a、服务b、服务c,又可实现服务的负载均衡,即同时聚合多个服务a的提供者。zuul是作用于服务端的,同时它在提供负载均衡时是基于ribbon实现的。其实也很好理解,zuul对于真正的服务提供者来说它又是作为客户端的,所以它使用了客户端负载工具ribbon。zuul会把每个 ...
- 2019-09-18 23:32
- 浏览 2927
- 分类:开源软件
« 上一页 1 …