-
kafka原理和实践(二)spring-kafka简单实践
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 =========正文分割线==============…- 1
- 0
-
RabbitMQ VS Apache Kafka (二)—— Kafka简介
接上一章【RabbitMQ VS Apache Kafka (一)】,本章我们讨论Kafka。 Kafka Kafka is a distributed, replicated commit log. Kafka本身没有队列的概念,作为一个消息中间件,乍听起来,这略显奇怪,这可能与我们长期以来的形成的一个固化思维有关——但凡消息系统,肯定离不开消息队列。让我们重新回头来看,如何理解distribu…- 1
- 0
-
Kafka的通讯协议
Kafka的通讯协议 Kafka的Producer、Broker和Consumer之间采用的是一套自行设计的基于TCP层的协议。Kafka的这套协议完全是为了Kafka自身的业务需求而定制的,而非要实现一套类似于Protocol Buffer的通用协议。本文将介绍这套协议的相关内容。 基本数据类型 定长数据类型:int8,int16,int32和int64,对应到Java中就是byte, shor…- 50
- 0
-
在Windows安装运行Kafka
一、安装JAVA JDK 1、下载安装包 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意:根据32/64位操作系统下载对应的安装包 2、添加系统变量:JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144 二、安装ZooKeep…- 3
- 0
-
Flume整合Kafka
Flume 整合 Kafka 一、背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用。Kafka 天生为大数据场景而设计,具有高吞吐的特…- 1
- 0
-
C# 操作rabbitmq(五)
此篇介绍rabbitmq的RPC 一、 虽然我们可以使用work queue给worker发送消息,但是如果我们希望在远程服务器上运行一个方法并且想要得到结果呢?rabbitmq的RPC功能可以实现。 二、 Callback queue,回调队列,在rabbitmq上构建RPC是很容易的,客户端发送请求消息,服务端响应回复消息,为了接收响应消息,我们需要在发送请求的时候附加一个callback 队…- 28
- 0
-
.Net下RabbitMQ的使用(5) — 路由机制
理清路由机制是了解RabbitMQ来龙去脉的关键。在前面的例子中我们常常遇见这三个概念:exchange,routingKey 和 queue。真正地消息传输流程是消息先到exchange,然后exchange根据对应的routingKey放入queue,如果routingKey不匹配则丢弃。网上网友的一张图很好的展示了这个流程: 0.9 版本的AMQP协议的exchange有如下4中类型…- 5
- 0
-
RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成。那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例。 1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class。 它将会向外提供名字为call的函数…- 12
- 0
-
rabbitmq工作队列
rabbitmq 工作队列 一、rabbitmq 工作队列简介 在上一篇文章中,讲述了rabbitmq 消息队列的基本使用,属于一个队列值对应一个消费者,在处理耗时应用时,一个工人处理过慢的话,消息会整个堆积在队列里面,继而可能造成不可预测的影响! 工作队列又称之为任务队列,他主要就是为了解决在执行密集型耗时任务时,消息可以根据消费者的负荷进行合理的分配,从而不会形成一个消费者忙死,另外一个消费者…- 3
- 0
-
大型网站架构之分布式消息队列
一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦…- 1
- 0
-
9. Dubbo原理解析-代理之服务引用
服务引用是服务的消费方向注册中心订阅服务提供方提供的服务地址后向服务提供方引用服务的过程。 服务的应用方在spring的配置实例如下: < dubbo:reference id="demoService" * interface="com.alibaba.dubbo.demo. DemoService"* /> 如上配置spring在容器启动的时…- 2
- 0
-
4. Dubbo原理解析-代理之接口定义
代理模式这里不再逻辑介绍,dubbo中有使用这种模式,如: dubbo服务的消费端获取的就是对远程服务的一个代理。Dubbo由代理工厂ProxyFactory对象创建代理对象 一:ProxyFactory的接口定义 @SPI( "javassist") public interface ProxyFactory { @Adaptive({Constants.PROXY_K…- 7
- 0
-
初识Dubbo 系列之9-Dubbo 负载均衡
负载均衡 (+) (#) 在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用。 1 可以自行扩展负载均衡策略,参见:负载均衡扩展 Random LoadBalance 随机,按权重设置随机概率。 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。 RoundRobin LoadBalance 轮循,按公约后的权重设置…- 0
- 0
-
Redis与Zookeeper实现分布式锁的区别
Redis实现分布式锁 1.根据lockKey区进行setnx(set not exist,如果key值为空,则正常设置,返回1,否则不会进行设置并返回0)操作,如果设置成功,表示已经获得锁,否则并没有获取锁。 2.如果没有获得锁,去Redis上拿到该key对应的值,在该key上我们存储一个时间戳(用毫秒表示,t1),为了避免死锁以及其他客户端占用该锁超过一定时间(5秒),使用该客户端当前时间戳,…- 2
- 0
-
redis实现SSO单点登录,集群,分布式锁
使用redis实现单点登录,一般情况下都是配合cookie的.将生成的唯一的token信息存储在cookie中,当发生多服务调用时,都会在cookie中读取到该值,再去redis中查询是否有该用户信息存在.如此实现单点登陆 一般在微服务架构中,SSO单点登陆会抽离出来作为一个单独的服务,来实现服务器集群下的 session共享问题. 为什么要使用redis 来解决sessi…- 12
- 0
-
docker微服务部署之:五、利用DockerMaven插件自动构建镜像
docker微服务部署之:四、安装docker、docker中安装mysql和jdk1.8、手动构建镜像、部署项目 在上一篇文章中,我们是手动构建镜像,即: 4.1.2、5.1.2、6.1.2中的将demo_xxx项目打包成app.jar 4.1.4、5.1.4、6.1.4中的: a:创建mydocker目录、上传app.jar至mydocker目录 b:执行docker build命令构建镜…- 3
- 0
-
Spring Cloud微服务技术栈(四):服务治理Spring Cloud Eureka部分源码分析
上一篇文章《Spring Cloud微服务技术栈(三):服务治理Spring Cloud Eureka核心元素分析》主要对Spring Cloud Eureka的三个核心元素(服务注册中心、服务提供者、服务消费者)进行了分析,熟悉了三者之间的通信关系,本篇文章将主要分析Spring Cloud Eureka的部分源码。 当我们搭建好Eureka Server服务注册中心并启动后,就可以继续启动服务…- 0
- 0
-
微服务分布式事务实战(五)准备数据库和创建第一个微服务
1)数据库准备 1在数据库中mysql 分别创建2个数据库forum1和forum2 2forum1 下创建表block 3forum2下创建表Theme 4 5 sql代码如下: 1 数据库1Forum1: 1CREATE DATABASE IF NOT EXISTS forum1; 2USE forum1; 3DROP TABLE IF EXISTS block; 4CREATE TABLE …- 0
- 0
-
ASP.NET Core微服务之基于EasyNetQ使用RabbitMQ消息队列
_Tip:_此篇已加入.NET Core微服务基础系列文章索引 一、消息队列与RabbitMQ 1.1 消息队列 “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中,“消息队列”是在消息的传输过程中保存消息的容器。 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当…- 29
- 0
-
ASP.NET Core微服务之基于Exceptionless实现分布式日志记录
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、Exceptionless极简介绍 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web API,Web Forms,WPF,Console,ASP.NET MVC 等技术开发的应用程序中,并且提供了REST接口可以应用在 Javascript,Node.js…- 2
- 0
-
Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】
前言 在上一篇《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》中,我们已经体验了如何使用@HystrixCommand来为一个依赖资源定义服务降级逻辑。实现方式非常简单,同时对于降级逻辑还能实现一些更加复杂的级联降级等策略。之前对于使用Hystrix来实现服务容错保护时,除了服务降级之外,我们还提到过线程隔离、断路器等功能。那么在本篇中我们就来具体说说线程隔离。 …- 2
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!