Teddies10081008
码龄9年
关注
提问 私信
  • 博客:22,286
    22,286
    总访问量
  • 暂无
    原创
  • 369,670
    排名
  • 3
    粉丝
  • 0
    铁粉
  • 加入CSDN时间: 2015-06-16
博客简介:

Teddies10081008的博客

查看详细资料
个人成就
  • 获得2次点赞
  • 内容获得0次评论
  • 获得10次收藏
创作历程
  • 101篇
    2018年
  • 6篇
    2017年
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

352人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Kafka学习笔记(7)----Kafka使用Cosumer接收消息

1. 什么是KafkaConsumer?  应用程序使用KafkaConsul'le 「向Kafka 订阅主题,并从订阅的主题上接收消息。Kafka的消息读取不同于从其他消息系统读取数据,它涉及了一些独特的概念和想法。  1.1 消费者和消费者群组  单个的消费者就跟前面的消息系统的消费者一样,创建一个消费者对象,然后订阅一个主题并开始接受消息,然后做自己的业务逻辑,但是Ka...
转载
发布博客 2018.12.03 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka学习笔记(5)----Kafka的Consumer

1. Pull vs Push  Producer主动的通过push将消息发布到Broker上,Consumer通过Pull的的方式从Broker消息消息。  通过Push的方式由于是一有消息就推到Broker,所以极大的保证了消息实时性,但是在某些情况下,可能由于Consumer网络,或是其他原因倒是消费速度低,此时就可能会导致Consumer堆积大量的消息,甚至在极端情况下会...
转载
发布博客 2018.11.27 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka学习笔记(3)----Kafka的数据复制(Replica)与Failover

1. CAP理论  1.1 Cosistency(一致性)  通过某个节点的写操作结果对后面通过其他节点的读操作可见。  如果更新数据后,并发访问的情况下可立即感知该更新,称为强一致性  如果允许之后部分或全部感知不到该更新,称为弱一致性。  若在之后的一段时间(通常该时间不是固定的)后,一定可以感知到该更新,称为最终一致性。  1.2 Availability(...
转载
发布博客 2018.11.21 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kafka学习笔记(4)----Kafka的Leader Election

1. Zookeeper的基本操作  zookeeper中的节点可以持久化/有序的两个维度分为四种类型:  PERSIST:持久化无序(保存在磁盘中)  PERSIST_SEQUENTIAL:持久化有序递增  EPHEMERAL:非持久化的无序的,保存在内存中,当客户端关闭后消失。  EPHEMERAL_SEQUENTIAL:非持久有序递增,保存在内存中,当客户端关闭...
转载
发布博客 2018.11.26 ·
293 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka学习笔记(1)----Kafka的简介和Linux下单机安装

1. Kafka简介  Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者为Consumer,此外kafka集群有多个kafka实例...
转载
发布博客 2018.11.19 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMQ学习笔记(5)----RabbitMQ整合Spring

在Spring AMQP项目中Spring也提供了对RabbitMQ的支持,这里在之前学习SpringBoot的时候也整合过,但是今天这里使用的Spring的xml配置来整个rabbit.Spring AMQP项目地址:https://spring.io/projects/spring-amqp;下面来看看使用方式。1. 引入依赖pom文件如下:<?xm...
转载
发布博客 2018.11.19 ·
227 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMQ学习笔记(3)----RabbitMQ Worker的使用

1. Woker队列结构图    这里表示一个生产者生产了消息发送到队列中,但是确有两个消费者在消费同一个队列中的消息。2. 创建一个生产者  Producer如下:package com.wangx.rabbitmq.worker;import com.rabbitmq.client.Channel;import com.rabbitmq.clien...
转载
发布博客 2018.11.16 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMQ学习笔记(1)----RabbitMQ简介与安装

·1. 什么是RabbitMQ?  RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。  而AMQP协议则是指:即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息...
转载
发布博客 2018.11.15 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RocketMQ学习笔记(15)----RocketMQ的消息模式

在前面学习ActiveMQ时,看到ActiveMQ可以是队列消息模式,也可以是订阅发布模式。  同样,在RocketMQ中,也存在两种消息模式,即是集群消费模式和广播消费模式。1. 集群消费模式  跟AciiveMQ一样,当存在多个消费者时,消息通过一定负载均衡策略,将消息分发到多个consumer中。  如图:    在RockeMQ中,通过ConsumeGro...
转载
发布博客 2018.11.14 ·
165 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

RocketMQ学习笔记(13)----RocketMQ的Consumer消息重试

1. 概念  Producer端重试:  生产者端的消息失败,也就是Producer往MQ上发消息没有发送成功,比如网络抖动导致生产者发送消息到MQ失败。这种消息失败重试我们可以手动设置发送失败重试的次数。  Consumer端重试:  Consumer消费消息失败后,要提供一种重试机制,令消息再消费一次,Consumer消费消息失败通常可以认为有以下几种情况  1...
转载
发布博客 2018.11.14 ·
229 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka学习笔记(2)----Kafka的架构

1. 架构图    一个Kafka集群中包含若干个Broker(消息实例),Kafka支持Broker横向扩展,Broker越多,吞吐量越大,同时也包含了若干个Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等)和若干个Consumer(消费者)以及一个zookeeper集群,Kafka通过Zookeeper管理集群配置...
转载
发布博客 2018.11.21 ·
115 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka学习笔记(6)----Kafka使用Producer发送消息

1. Kafka的Producer  不论将kafka作为什么样的用途,都少不了的向Broker发送数据或接受数据,Producer就是用于向Kafka发送数据。如下:  2. 添加依赖  pom.xml文件如下: <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka --> ...
转载
发布博客 2018.11.28 ·
548 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

RabbitMQ学习笔记(6)----RabbitMQ 持久化和非持久化

持久化:将交换机或队列数据保存到磁盘,服务器宕机或重启之后依然存在。非持久化:将交换机或队列的数据保存到内存中,服务器宕机或重启之后数据将不存在。在RabbitMQ中也提供了持久化和非持久化方式。实现方式为将durable设置为false即可。在配置文件中配置交换机或队列时配置durable="false"即可,配置方式如下: <!--声明fanout的交换机-...
转载
发布博客 2018.11.19 ·
286 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RocketMQ学习笔记(9)----RocketMQ的Producer 顺序消息

1. 顺序消息原理图2. 什么是顺序消息?  消费消息的顺序要求同发送消息的顺序一致,在RocketMQ中,主要指的是局部顺序,即一类消息为满足顺序性,必须Producer单线程顺序发送,并且发送给到同一队列,这样Consumer就可以按照Producer发送的顺序去消费消息。  2.1 普通顺序消息  正常情况下可以保证完全的顺序消息,但是一旦发生通信异常,Brok...
转载
发布博客 2018.11.13 ·
521 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMQ学习笔记(4)----RabbitMQ Exchange(交换机)的使用

1.fanout模式1.1 Publish/Subscribe(发布/订阅)结构图    上图表示一个消费者消费消息之后,不讲消息直接存储到队列,而是使用两个消费者各自声明一个队列,将各自的对应的队列与交换机绑定。这样每个消费者都读取的是自身所对应的队列的所有消息,大达到了一个生产者生产消息,所有消费者都能消费的目的。  将交换机类型设置为fanout即可实现Pu...
转载
发布博客 2018.11.16 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RocketMQ学习笔记(8)----RocketMQ的Producer API简介

在RocketMQ中提供了三种发送消息的模式:  1.NormalProducer(普通)  2.OrderProducer(顺序)  3.TransactionProducer(事务)下面来介绍一下producer中的各个API的使用:  1. producerGroup:Producer组名, 默认值为DEFAULT_PRODUCER,多个Producer如果属于...
转载
发布博客 2018.11.13 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMQ学习笔记(2)----RabbitMQ简单队列(Hello World)的使用

1. 简单队列结构图  2. 引入依赖  pom.xml文件 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.5.0&...
转载
发布博客 2018.11.16 ·
128 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RocketMQ学习笔记(16)----RocketMQ搭建双主双从(异步复制)集群

1. 修改RocketMQ默认启动端口  由于只有两台机器,部署双主双从需要四个节点,所以只能修改rocketmq的默认启动端口,从官网下载rocketmq的source文件,解压后使用idea打开,全局搜索9876,将所有使用9876端口的地方改为9877。  在终端打开,使用:mvn -Prelease-all -DskipTests clean install命令打包,打包...
转载
发布博客 2018.11.15 ·
352 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

RocketMQ学习笔记(6)----RocketMQ的Client的使用 Producer/Consumer

1. 添加依赖  pom.xml如下: <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.3.1<...
转载
发布博客 2018.11.12 ·
529 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RocketMQ学习笔记(14)----RocketMQ的去重策略

1. Exactly Only Once  (1). 发送消息阶段,不允许发送重复的消息  (2). 消费消息阶段,不允许消费重复的消息。  只有以上两个条件都满足情况下,才能认为消息是“Exactly Only Once”,而要实现以上两点,在分布式系统环  境下,不可避免要产生巨大的开销。所以RocketMQ 为了追求高性能,并不保证此特性,要求在业务上进行去重,也就...
转载
发布博客 2018.11.14 ·
280 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多