-
kafka原理系列之(二)partition的消费策略
1、topic和partition以及consumer关系 一个topic可以认为一个一类消息,每个topic将被分成多个partition,每个partition在存储层面是append log文件。任何发布到此partition的消息都会被追加到log文件的尾部,每条消息在文件中的位置称为offset(偏移量),offset为一个long型的数字,它唯一标记一条消息。每条消息都被append到…- 19
- 0
-
Kafka、RabbitMQ、RocketMQ等 消息中间件 介绍和对比
文章目录 1、前言 2、概念 2.1、MQ简介 2.2、MQ特点 2.2.1、先进先出 2.2.2、发布订阅 2.2.3、持久化 2.2.4、分布式 3、消息中间件性能究竟哪家强? 3.1、Kafka 3.2、RabbitMQ 3.3、RocketMQ 4、测试 4.1、测试目的 4.2、测试场景 4.2.1、Kafka 4.2.2、RocketMQ 4.2.3、RabbitMQ 4.3、测试结论…- 25
- 0
-
如何管理Spark Streaming消费Kafka的偏移量(三)
前面的文章已经介绍了在spark streaming集成kafka时,如何处理其偏移量的问题,由于spark streaming自带的checkpoint弊端非常明显,所以一些对数据一致性要求比较高的项目里面,不建议采用其自带的checkpoint来做故障恢复。 在spark streaming1.3之后的版本支持direct kafka stream,这种策略更加完善,放弃了原来使用Kafka的…- 3
- 0
-
Elasticsearch 与 Kafka 整合剖析
1.概述 目前,随着大数据的浪潮,Kafka 被越来越多的企业所认可,如今的Kafka已发展到0.10.x,其优秀的特性也带给我们解决实际业务的方案。对于数据分流来说,既可以分流到离线存储平台(HDFS),离线计算平台(Hive仓库),也可以分流实时流水计算(Storm,Spark)等,同样也可以分流到海量数据查询(HBase),或是及时查询(ElasticSearch)。而今天笔者给大家分享的就…- 3
- 0
-
虚函数与动态绑定的那点事
面向对象编程的概念 1)多态:简单理解就是多种形态,通过继承而相关联的类型,特别在运行的情况下,对象可能是基类也可能派生类类型 1)继承:能够对类型之间的关系建模,共享公共的东西,仅仅特化本质上不同的东西。 定义为virtual的函数是基类期待派生类重新定义的,基类不希望派生类继承的则定义为非虚函数,这样类就有虚函数与非虚函数之分 2)动态绑定:使程序使用继承层次中任意类型的对象,无需关心具体的类…- 2
- 0
-
Docker下RabbitMQ四部曲之四:高可用实战
本章是《Docker下RabbitMQ四部曲》系列的终篇,今天的我们一起来体验Rabbit’MQ集群的高可用能力,看看RabbitMQ集群中的部分节点宕机时,是否还能生产和消费消息; 实战概要 今天实战的步骤如下: 制作docker-compose.yml文件,为每个容器配置好参数; 启动所有容器,包括RabbitMQ集群、消息生产者的web应用、消息消费者的web应用; 逐个停止集群中的Rabb…- 12
- 0
-
.Net下RabbitMQ的使用(8) — 远程过程调用RPC
RPC是在计算中是一种常见的模式,是通常我要用消息队列来实现RPC有3个关键点: 服务的寻址 消息的接收 消息的关联 在RabbitMQ的.net客户端里,提供了2个类:SimpleRpcClient 和 SimpleRpcServer 来让我们方便的开发RPC应用。 因为RabbitMQ的RPC一定是基于队列的,所以在客户端和服务端都需要要一个各自的队列,客户端的队列用来接收服务回复的数据,…- 5
- 0
-
.Net下RabbitMQ的使用(3) — 竞争的消费者
在上一篇文章中,演示了一个发送者和一个消费者的情况。这一篇介绍一下多个消费者在同一个消息队列中获取消息的情况。 在有些应用当中,消费端接收到消息任务需要长时间的处理,如果等上一个消息处理完成以后再取下一个数据进行处理的话,势必会有一些延迟。在消息队列中的数据也会不断增多,延迟将越来越大。当然对于一个消费进程来说,在某些情况下可以起多个线程来处理,而在这里将介绍另一种处理方式,多个消费进程的情况…- 9
- 0
-
RabbitMQ消息队列(五):Routing 消息路由
上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。 1. Bindings绑定 上篇文章中我们是这么做的绑定: 1channel.queue_bind(exchange=exchange_name, 2 queue=queue_name) 3 绑定其实就是关联了exchange和q…- 8
- 0
-
Ubuntu安装rabbitMq
Ubuntu安装rabbitMq 笔者ubuntu版本为Ubuntu 15.10,查看ubuntu当前版本命令:cat /etc/issue。 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: 1sudo apt-get install erlang-nox 2 安装后检查是否安装成功 1erl 2 3 安装rabbit…- 1
- 0
-
22. Dubbo原理解析-编码解码之Serialization接口定义
序列化:dubbo提供了一系列的序列化反序列化对象工具。 Serialization接口定义 @SPI( "hessian2") public interface Serialization { byte getContentTypeId(); String getContentType(); @Adaptive ObjectOutput ser…- 30
- 0
-
SpringBoot+zk+dubbo架构实践(二):SpringBoot 集成 zookeeper
上一篇:SpringBoot+zk+dubbo架构实践(一):本地部署zookeeper 前言 1这是第二篇了,本篇我们完成两件事情。 21、搭建SpringBoot 框架; 32、基于spring boot框架访问zookeeper。 4 搭建SpringBoot框架 其实之前“IT实战联盟”已经出了该系列文章,今天我们简单搭建一下(详细的步骤可以参考架构实战篇(一)-Spring Boot+M…- 4
- 0
-
初识Dubbo 系列之1-Dubbo是什么
Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo自2011年开源后,已被许多非阿里系公司使用。 Dubbo[ ]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 其核心部分包含: 远程通讯: 提供对多…- 26
- 0
-
定时任务在集群部署的下防重复调度问题, redis 分布式锁
业务场景: 程序中有个一分钟执行一次的策略遍历与判断的任务,为了防止多台机器重复执行,需要设置分布式锁 查询资料,这个技术方案比较成熟 1.使用数据库 2.使用redis 3.使用zk 下面介绍下单机redis的使用分布式锁的思路,整体思路较为完善,其他资料较残缺 注意点: 1.设置随机value值 ,防止A释放锁出现释放了其他客户端B在使用的锁的问题 2.设置失效时间 ,防止死锁 3.Redis…- 12
- 0
-
SpringBoot基于数据库实现简单的分布式锁
本文介绍SpringBoot基于数据库实现简单的分布式锁。 1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要介绍的是如果使用mysql实现简单的分布式锁,加锁流程如下图: 其实大致思想如下: 1.根据一个值来获取锁(也就是我这里的tag),如果当前不存在锁,那么在数据库插入一条记录,然后进行处理业务,当结束…- 24
- 0
-
分布式锁的多种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都…- 0
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day09 页面静态化完善&课程列表页(前端)
前面我们只讲了将静态页面上传到Fastdfs 今天我们将页面作为消息发送Message到mq中 然后前台取到页面 步骤 首先我们可以在公共的模块中建一个子模块 hrm-basic-rabbitmq 导入spirngboot集成rabbitmq的依赖 1<!--spirngboot集成rabbitmq--> 2<dependency> 3 <groupId>org…- 14
- 0
-
SpringCloud微服务知识整理八:分布式配置中心:Spring Cloud Config
什么是Spring Cloud Config SpringCloudConfig是SpringCloud创建的用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为客户端和服务端两部分。 服务端也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息,加密/解密信息等访问接口。 而客户端则是微服务架构中各微服务应用或基础设施,通过指定的配置中心来管…- 4
- 0
-
SpringCloud微服务知识整理二:微服务构建-SpringBoot
一、SpringBoot简介 1.什么是SpringBoot SpringBoot的设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 2.使用SpringBoot…- 7
- 0
-
微服务架构核心技术四
企业何时可以考虑引入微服务 企业初期业务复杂性不高,用户量不多,功能也就不多,就可以采用单块应用,微服务需要前提投资,建议从单块应用开始. 随着系统复杂性增高,单块应用和团队规模(百人以上)出现矛盾,沟通成本大,可以考虑是否引入微服务. 大企业基本上都是微服务架构,初创公司可能是单块应用. 设计理念: 单块优先原则——建议随着业务复杂度不断拆分服务出来,不要一开始就使用微服务,这样你的服务边界定义…- 0
- 0
-
ASP.NET Core微服务之Exceptionless的生产环境部署步骤
Exceptionless 是一个开源的实时的日志收集框架,它将日志收集变得简单易用并且不需要了解太多的相关技术细节及配置。本篇基于我的上一篇《基于Exceptionless实现分布式日志》,最近在公司内部搭建日志平台,且部署到了基于阿里云的生产环境,因此做个记录,也希望能帮助到希望基于Exceptionless来做日志平台的朋友们。 一、本地部署前置条件 这里主要参考Exceptionless的…- 19
- 0
-
Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】
在上一篇《Spring Cloud构建微服务架构:服务网关(基础)》一文中,我们通过使用Spring Cloud Zuul构建了一个基础的API网关服务,同时也演示了Spring Cloud Zuul基于服务的自动路由功能。在本文中,我们将进一步详细地介绍关于Spring Cloud Zuul的路由功能,以帮助读者可以更好的理解和使用它,以完成更复杂的路由配置。 传统路由配置 所谓的传统路由配置方…- 6
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!