中间件
文章平均质量分 91
呆东
小菜鸡也有大梦想,努力拼搏,就是为了给那些曾经看轻你的人一记响亮的耳光
展开
-
kafka副本机制详解
副本机制(Replication)又称为备份机制,通常是指在分布式系中在多台机器中存储相同的数据进行备份的机制,副本机制只要有3个好处。提供数据冗余:即使部分机器出现故障,系统仍然可以提供服务,增加了整体的可用性和数据持久化。提供高伸缩性:支持横向扩展,可以通过增加副本数,来提供读性能。改善数据局部性:允许将数据放入与用户地理位置相近的地方,从而降低系统延时。但是kafka的副本机制只提供了第一个特点,即提供数据冗余的特性。kafka副本定义在kafka中一个主题下面可以有多个分区(par原创 2021-07-24 11:37:55 · 1645 阅读 · 2 评论 -
kafka消费组重平衡
kafka消费组Consumer Group,是 Kafka 提供的可扩展且具有容错性的消费者机制,一个消费组内可以有一到多个消费实例(Consumer Instance),共享一个id,这个id就是Group ID。Consumer Group下有一个或多个单独的Consumer实例,这个Consumer可以是单独的进程,也可以是一个进程下的多个线程。Group ID是一个字符串,用来表示唯一的消费组。Consumer Group下所有实例订阅的主题的单个分区,只能分配给组内的某个 Consum原创 2021-07-03 15:31:10 · 1270 阅读 · 0 评论 -
kafka配置详解
broker端参数log.dirs:指定broker端使用那些若干文件来进行日志存储,没有默认值,必须要进行指定。配置格式为csv的样式,如:/home/kafka1,/home/kafka2,/home/kafka3,并且可以将不同的目录挂在不同的磁盘下面,这样可以有如下好处提升读写性能可以实现故障转移,在kafka1.1之后,单个磁盘损坏时,坏掉的磁盘数据会自动转换到正常的磁盘,继续提供服务。log.dir:同log.dirs参数配置效果一样,只不过只能配置单个路径。zookeepe原创 2021-06-27 14:52:17 · 2632 阅读 · 1 评论 -
kafka如何保证消费不丢失
消息可靠性维度消息的可靠性性一般需要从三个维度进行考量。分别是生产端、服务端、消费端。发送端可靠性:生产者需要确保消费发送到了服务端机器上。服务端存储可靠性:服务端需要保证消息的持久化不丢失。消费可靠性:消费端需要确认每条消息都被成功进行消费。producer可靠性对于kafka生产端来说,发送消息主要有两类API可以调用,分别是producer.send(msg)和producer.send(msg,callback)。producer.send(msg):俗称“发后即忘”,不管消息有原创 2021-06-13 12:51:54 · 1827 阅读 · 0 评论 -
kafka日志详解
kafka中消息是通过主题来进行区分的,一个主题会有多个分区,每个分区会有多个副本,每个副本都会对应有一个log日志进行存储,每个log日志会对应有多个logSegment日志段,每个logSegment包含一个日志文件(.log后缀)和两个索引文件( .index和 .timeindex后缀);按照是否再有消息写入分为活跃日志分段(activeSegment)和非活跃日志分段logSegment;日志文件的命令,都是基于基准偏移量(baseOffset)进行命名的,名称固定为20位数字,没有达到的位数用0原创 2021-06-02 21:17:44 · 2741 阅读 · 3 评论 -
一文读懂什么是JMS规范
一、JMS是什么java消息服务(java message service即JMS)应用程序接口是一个java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。java消息服务是一个与具体平台无关的API。对应的API接口就在javax.jms包下面:二、JMS的对象模型ConnectionFactory 连接工厂 Connection 连接 Session 会话 Destination 目.原创 2020-05-24 11:15:51 · 410 阅读 · 0 评论 -
如何设计消息中间件
什么是消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流;并基于数据通信来进行分布式系统的集成;通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信;应用场景:跨系统数据传递,高并发流量削峰、数据异步处理等。常用的消息中间件:ActiveMQ、RabbitMQ、kafka、RocketMQ消息中间件核心设计本质:一种具备接受请求、保存数据、发送数据等功能的网络应用。和一般网络应用的区别是它主要负责数据的接收和传递,所以性能一般高于普通程序。5大核心组成:原创 2020-05-17 17:10:33 · 554 阅读 · 0 评论