-
kafka原理和实践(三)spring-kafka生产者源码
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 ==============正文分割线===========…- 24
- 0
-
Kafka分区分配策略(2)——RoundRobinAssignor和StickyAssignor
RoundRobinAssignor分配策略 RoundRobinAssignor策略的原理是将消费组内所有消费者以及消费者所订阅的所有topic的partition按照字典序排序,然后通过轮询方式逐个将分区以此分配给每个消费者。RoundRobinAssignor策略对应的partition.assignment.strategy参数值为:org.apache.kafka.clients.con…- 17
- 0
-
flume+kafka+storm+mysql架构设计
版本: flume-ng1.6 kafka2.10-0.8.2 storm0.9.5 大家可以看这篇文章中的架构图和数据流向图。但是安装部署请看最新版的。 另外目前主要给银行做hadoop、spark、impala、storm项目,欢迎热爱技术的朋友加好友一起探讨大数据。 序言 1前段时间学习了storm,最近刚开blog,就把这些资料放上来供大家参考。 这个框架用的组件基本都是最新稳定版本,fl…- 4
- 0
-
Kafka消息序列化和反序列化(上)
Kafka Producer在发送消息时必须配置的参数为:bootstrap.servers、key.serializer、value.serializer。序列化操作是在拦截器(Interceptor)执行之后并且在分配分区(partitions)之前执行的。 首先我们通过一段示例代码来看下普通情况下Kafka Producer如何编写: 1public class ProducerJavaDe…- 8
- 0
-
Java使用RabbitMQ(六)–订阅发布
发布订阅模式 这一篇主要是java 客户端使用rabbitMQ发布和订阅消息。 前面几篇讲的是将一个消息只发给一个worker,这里讲的是将一个消息同时发给多个订阅者,也就是发布/订阅模式。 为了阐明这种模式,这里将创建一个简单的日志系统,这个系统由2部分组成:第一部分,发送日志消息;第二部分接收和打印日志消息。 在这个日志系统中,复制了一份receiver,一个接收者用来把收到的消息存储到硬盘中…- 12
- 0
-
Docker 之 部署RabbitMQ集群并实现Haproxy代理(一)
前言 本小节我们学习一下使用Docker部署RabbitMQ集群。 RabbitMQ Docker Hub 目录参考 1[root@iZ2ze8sm5upgi8z1dcazqeZ rabbitmq]# pwd 2/workspace/rabbitmq 3[root@iZ2ze8sm5upgi8z1dcazqeZ rabbitmq]# tree 4. 5├── config 6│ └── docke…- 13
- 0
-
使用Docker-Compose搭建Rabbitmq集群
1.使用镜像搭建集群,docker-compose.xml配置见下面的github具体配置 https://github.com/bijukunjummen/docker-rabbitmq-cluster 具体变更如下: 说完端口,下面提供一个三节点的docker-compose文件。 rabbit1(10.106.136.7) 1rabbit1: 2 image: bijukunjummen/r…- 15
- 0
-
RabbitMQ开机自启动脚本
在/etc/init.d 目录下新建一个 rabbitmq-server 文件, 复制上面的内容 添加到 rabbitmq-server 文件里。 适当修改 红色部分 DAEMON= /home/software/rabbitmq/sbin/${NAME} CONTROL= /home/software/rabbitmq/sbin/rabbitmqctl DESC=rabbitmq-server …- 12
- 0
-
net core 使用 rabbitmq
目录(?)[+] 安装 基本用法 RabbitMQ消费失败的处理 使用RabbitMQ的Exchange Direct Exchange Fanout Exchange Topic Exchange 问题: None of the specified endpoints were reachable windows环境安装: https://www.daimajiaoliu.com/serie…- 40
- 0
-
Celery 分布式任务队列快速入门
本节内容 Celery介绍和基本使用 在项目中如何使用celery 启用多个workers Celery 定时任务 与django结合 通过django配置celery periodic task 一、Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用ce…- 18
- 0
-
SpringBoot整合RabbitMq
SpringBoot整合RabbitMq 1.介绍 1.1 RabbitMQ MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛。RabbitMQ官方地址:http://www.rabb…- 14
- 0
-
10. Dubbo原理解析-Listener & filter
Listener ExporterListener: dubbo在服务暴露(exporter)以及销毁暴露(unexporter)服务的过程中提供了回调窗口,供用户做业务处理。ProtocolListenerWrapper在暴露过程中构建了监听器链 public class ProtocolListenerWrapper implements Protocol { public <T&…- 23
- 0
-
26. Dubbo原理解析-监控
Dubbo发布代码中,自带了一个简易的监控中心实现。对于一般的小业务这个监控中心应该能够满足需求,对于那些大业务量的大公司一般都会有自己的监控中心,更加丰富的功能如常用的报警短信通知等等。这章讲解分析使得读者能够了解一般的监控中心实现,也使得有自己接入监控中心需求的大概知道如何集成自己的监控中心实现。下面我们就以dubbo自带的监控中心开始讲解。 监控中心 1. 监控中心启动,我们先看下du…- 17
- 0
-
初识Dubbo 系列之前传2-Dubbo 架构设计
架构 (#) 节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的监控中心。 Container: 服务运行容器。 调用关系说明: 服务容器负责启动,加载,运行服务提供者。 服务提供者在启动时,向注册中心注册自己提供的服务。 服务消费者在启动时,向…- 9
- 0
-
tair实现分布式锁
基于tair的分布式锁,在阿里内部技术社区已经有很多讨论了,不过基本上都是基于悲观锁的实现,基本特征是互斥或者阻塞。但实际的业务场景中,并不是所有的地方都需要悲观锁,写冲突很少的场景(例如:员工、门店信息修改),使用乐观锁更为合适。 那么如何设计和使用乐观锁呢?在看具体的代码前需要先对乐观锁的原理有个简单的了解。 乐观锁 乐观锁特点 version,版本控制,是乐观锁的根基。乐观锁并不是真的锁,它…- 87
- 0
-
EF+Redis(StackExchange.Redis)实现分布式锁,自测可行
电商平台 都会有抢购的情况,比如 1元抢购。 而抢购 最重要的 就是库存,很多情况下 库存处理不好,就会出现超卖现象。 本文将用redis为缓存,StackExchange 框架,消息队列方式 实现分布式锁的情况 一,效果 先看效果, 窗体下单 构建高并发情况 开多个控制台应用程序 处理订单 二,配置Redis 1 <Redis.Service> 2 <DbConfig N…- 15
- 0
-
使用redis分布式锁解决spring schedule集群部署重复执行问题
产品需求:要求定时扫描超过10天,对抓中奖品进行处理的游戏记录,系统自动转换成娃娃币,同时在消费明细和消息中心提醒用户。 由于服务都是集群部署,定时任务会在各个服务器上重复执行,轻则浪费服务器资源,重则造成数据紊乱。 quartz定时任务提供了集群方式,但还需为其创建数据库表。spring schedule可以实现简单轻量级的定时任务,但无法保证只执行一次。 通过和架构师探讨得知,可以使用redi…- 14
- 0
-
docker微服务部署之:七、Rancher进行微服务扩容和缩容
docker微服务部署之:六、Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容。 一、扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目的代码。 修改demo_article项目中ArticleController中的三处代码: 1.注入HttpServletRequest;2在findAll()方法的message参数后面…- 21
- 0
-
Spring Cloud微服务技术栈(五):客户端负载均衡Spring Cloud Ribbon部分源码分析
在第二节《Spring Cloud微服务技术栈(二):搭建高可用Eureka Server、服务注册与发现》,我们搭建服务消费者的时候,使用到了客户端负载均衡,那时候只是在创建RestTemplate对象的代码上加上了@LoadBalanced注解,这么简单的一个步骤就实现了客户端负载均衡的功能,那么它是如何实现的呢?本篇文章将从基础源码出发,来探讨一下客户端负载均衡的原理。 源码分析 为了使客户…- 1
- 0
-
虚拟机Linux安装PostgreSQL,并让宿主机连接
安装PostgreSQL 运行如下命令进行安装: 1sudo apt-get install postgresql 2 3 Linux本地登陆并修改密码 安装完成之后,Linux会自动创建postgres同名账户,用此账号可直接免密登陆PostgreSQL(类似于SQL Server的Windows账号认证方式): 1sudo -u postgres psql 2 3 然后可以用 \passwor…- 34
- 0
-
微服务架构核心(二)- 微服务的利与弊
不知道你有没有这样的感受,新系统在前期调研架构的时候,大家都希望优先选择微服务架构,好像一个系统不是微服务架构就OUT了一样。 但是真正的架构设计,并不是哪个架构流行就选哪个,那是要遵循简单、合适、扩展的原则。 所以在选择微服务架构之前,我们应该仔细衡量它的利与弊,分析微服务架构究竟能为系统带来什么优势,同时又会新增哪些挑战。 利 强模块化边界 模块化一直是软件设计中的一个重要原则,有了模块化,我…- 2
- 0
-
ASP.NET Core微服务之基于IdentityServer建立授权与验证服务(1)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、IdentityServer的预备知识 要学习IdentityServer,事先得了解一下基于Token的验证体系,这是一个庞大的主题,涉及到Token,OAuth&OpenID,JWT,协议规范等等等等,园子里已经有很多介绍的文章了,个人觉得solenovex的这一篇文章《学习IdentityServer4的预备知识》言简…- 11
- 0
-
Spring Cloud构建微服务架构:分布式配置中心(高可用与动态刷新)【Dalston版】
高可用问题 传统作法 通常在生产环境,Config Server与服务注册中心一样,我们也需要将其扩展为高可用的集群。在之前实现的config-server基础上来实现高可用非常简单,不需要我们为这些服务端做任何额外的配置,只需要遵守一个配置规则:将所有的Config Server都指向同一个Git仓库,这样所有的配置内容就通过统一的共享文件系统来维护,而客户端在指定Config Server位置…- 12
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!