标签分类
当前位置:首页 > 网络与数据通信电子书 > 通信电子书网盘下载
分布式消息中间件实践 分布式消息中间件实践
萧曵 丶

萧曵 丶 提供上传

资源
20
粉丝
14
喜欢
40
评论
19

    分布式消息中间件实践 PDF 全书扫描版

    通信电子书
    • 发布时间:

    给大家带来的一篇关于通信相关的电子书资源,介绍了关于分布式、消息、中间件、实践方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小151.8 MB,倪炜编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.6,更多相关的学习资源可以参阅 网络与数据通信电子书、等栏目。

  • 分布式消息中间件实践 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1M5NIoLMFibFOvZGRceImJg
  • 分享码:uhd2
  • 分布式消息中间件实践 pdf

    特性剖析

    对RabbitMQ、ActiveMQ、Kafka、RocketMQ的特点开展深入分析。

    模拟训练

    共享创作者近些年在具体新项目中应用消息中间件的亲身经历和踩过的某些坑。

    *实践活动

    常见的几种消息中间件商品在每个业务流程情景中的应用实例。

    融汇贯通

    根据实例探讨和实践活动提议,为用户在具体工作上开展商品电机选型、业务流程情景计划方案制订、特性调节等出示构思。

    消息中间件是分布式系统中的关键部件,在具体工作上常见消息中间件开展系统软件间数据传输,进而处理运用解耦、异步信息、总流量削峰等难题,保持性能、高可用性、可伸缩式和*终完整性架构。现在市面上可提供选择的消息中间件有RabbitMQ、ActiveMQ、Kafka、RocketMQ、ZeroMQ、MetaMQ等。这书融合创作者近些年在具体新项目中应用消息中间件的亲身经历和踩过的某些坑小结梳理而成,关键详细介绍消息中间件应用的背景图、基本要素,及其常见的几种消息中间件商品在每个业务流程情景中的应用实例。做为实例详细介绍,尽管不可以对各种各样消息中间件商品的全部特点做详细描述,可是期待用户能够根据每章中的实例探讨和实践活动提议获得启迪,为在具体工作上开展商品电机选型、业务流程情景计划方案制订、特性调节等出示构思。

    目录

    • 第1章 消息队列
    • 1.1 系统间通信技术介绍
    • 1.2 为何要用消息队列
    • 1.3 消息队列的功能特点
    • 1.4 设计一个简单的消息队列
    • 1.4.1 消息处理中心
    • 1.4.2 客户端访问
    • 第2章 消息协议
    • 2.1 AMQP
    • 2.2 MQTT
    • 2.3 STOMP
    • 2.4 XMPP
    • 2.5 JMS
    • 第3章 RabbitMQ
    • 3.1 简介
    • 3.2 工程实例
    • 3.2.1 Java访问RabbitMQ实例
    • 3.2.2 Spring整合RabbitMQ
    • 3.2.3 基于RabbitMQ的异步处理
    • 3.2.4 基于RabbitMQ的消息推送
    • 3.3 RabbitMQ实践建议
    • 3.3.1 虚拟主机
    • 3.3.2 消息保存
    • 3.3.3 消息确认模式
    • 3.3.4 消费者应答
    • 3.3.5 流控机制
    • 3.3.6 通道
    • 3.3.7 总结
    • 第4章 ActiveMQ
    • 4.1 简介
    • 4.2 工程实例
    • 4.2.1 Java访问ActiveMQ实例
    • 4.2.2 Spring整合ActiveMQ
    • 4.2.3 基于ActiveMQ的消息推送
    • 4.2.4 基于ActiveMQ的分布式事务
    • 4.3 ActiveMQ 实践建议
    • 4.3.1 消息转发模式
    • 4.3.2 消息积压
    • 4.3.3 消息事务
    • 4.3.4 消息应答模式
    • 4.3.5 消息发送优化
    • 4.3.6 消息消费优化
    • 4.3.7 消息协议
    • 4.3.8 消息持久化
    • 第5章 Kafka
    • 5.1 简介
    • 5.2 工程实例
    • 5.2.1 Java访问Kafka实例
    • 5.2.2 Spring整合Kafka
    • 5.2.3 基于Kafka的用户行为数据采集
    • 5.2.4 基于Kafka的日志收集
    • 5.2.5 基于Kafka的流量削峰
    • 5.3 Kafka实践建议
    • 5.3.1 分区
    • 5.3.2 复制
    • 5.3.3 消息发送
    • 5.3.4 消费者组
    • 5.3.5 消费偏移量
    • 第6章 RocketMQ
    • 6.1 简介
    • 6.2 工程实例
    • 6.2.1 Java访问RocketMQ实例
    • 6.2.2 Spring整合RocketMQ
    • 6.2.3 基于RocketMQ的消息顺序处理
    • 6.2.4 基于RocketMQ的分布式事务
    • 6.3 RocketMQ实践建议
    • 6.3.1 消息重试
    • 6.3.2 消息重复
    • 6.3.3 集群
    • 6.3.4 顺序消息
    • 6.3.5 定时消息
    • 6.3.6 批量发送消息
    • 6.3.7 事务消息

    上一篇:高级Android开发强化实战  下一篇:分布式实时计算框架原理及实践案例

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    通信相关电子书
    学习笔记
    网友NO.305361

    springboot+redis分布式锁实现模拟抢单

    本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下: jedis的nx生成锁 如何删除锁 模拟抢单动作(10w个人开抢) jedis的nx生成锁 对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖: dependency groupIdredis.clients/groupId artifactIdjedis/artifactId/dependency 对于分布式锁的生成通常需要注意如下几个方面: 创建锁的策略:redis的普通key一般都允许覆盖,A用户set某个key后,B在set相同的key时同样能成功,如果是锁场景,那就无法知道到底是哪个用户set成功的;这里jedis的setnx方式为我们解决了这个问题,简单原理是:当A用户先set成功了,那B用户set的时候就返回失败,满足了某个时间点只允许一个用户拿到锁。 锁过期时间:某个抢购场景时候,如果没有过期的概念,当A用户生成了锁,但是后面的流程被阻塞了一直无法释放锁,那其他用户此时获取锁就会一直失败,无法完成抢购的活动;当然正常情况一般都不会阻塞,A用户流程会正常释放锁;过期时间只是为了更有保障。 下面来上段setnx操作的代码: public boolean setnx(String key, String val) { Jedis jedis = null; try { jedis = jedisPool.getResource()……

    网友NO.294265

    Scrapy-redis爬虫分布式爬取的分析和实现

    Scrapy Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取。但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求的并发数),这时候分布式爬虫的优势就显现出来。 而Scrapy-Redis则是一个基于Redis的Scrapy分布式组件。它利用Redis对用于爬取的请求(Requests)进行存储和调度(Schedule),并对爬取产生的项目(items)存储以供后续处理使用。scrapy-redi重写了scrapy一些比较关键的代码,将scrapy变成一个可以在多个主机上同时运行的分布式爬虫。 原生的Scrapy的架构是这样子的: 加上了Scrapy-Redis之后的架构变成了: scrapy-redis的官方文档写的比较简洁,没有提及其运行原理,所以如果想全面的理解分布式爬虫的运行原理,还是得看scrapy-redis的源代码才行,不过scrapy-redis的源代码很少,也比较好懂,很快就能看完。 scrapy-redis工程的主体还是是redis和scrapy两个库,工程本身实现的东西不是很多,这个工程就像胶水一样,把这两个插件粘结了起来。 scrapy-redis提供了哪些组件? scrapy-redis所实现的两种分布式:爬虫分布式以及item处理分布式。分别是由模块scheduler和模块pipelines实现。 connection.py 负责根据setting中配置实例化redis连接。被dupefilter和scheduler调……

    网友NO.950946

    python分布式环境下的限流器的示例

    项目中用到了限流,受限于一些实现方式上的东西,手撕了一个简单的服务端限流器。 服务端限流和客户端限流的区别,简单来说就是: 1)服务端限流 对接口请求进行限流,限制的是单位时间内请求的数量,目的是通过有损来换取高可用。 例如我们的场景是,有一个服务接收请求,处理之后,将数据bulk到Elasticsearch中进行索引存储,bulk索引是一个很耗费资源的操作,如果遭遇到请求流量激增,可能会压垮Elasticsearch(队列阻塞,内存激增),所以需要对流量的峰值做一个限制。 2)客户端限流 限制的是客户端进行访问的次数。 例如,线程池就是一个天然的限流器。限制了并发个数max_connection,多了的就放到缓冲队列里排队,排队搁不下了queue_size就扔掉。 本文是服务端限流器。 我这个限流器的优点: 1)简单 2)管事 缺点: 1)不能做到平滑限流 例如大家尝尝说的令牌桶算法和漏桶算法(我感觉这两个算法本质上都是一个事情)可以实现平滑限流。什么是平滑限流?举个栗子,我们要限制5秒钟内访问数不超过1000,平滑限流能做到,每秒200个,5秒钟不超过1000,很平衡;非平滑限流可能,在第一秒就访问了1000次,之后的4秒钟全部限制住。•2)不灵活 只实现了秒级的限流。 支持两个场景: 1)对于单进程多线程场景(使……

    网友NO.663763

    Python分布式进程中你会遇到的问题解析

    小惊大怪 你是不是在用Python3或者在windows系统上编程?最重要的是你对进程和线程不是很清楚?那么恭喜你,在python分布式进程中,会有坑等着你去挖。。。(hahahaha,此处允许我吓唬一下你)开玩笑的啦,不过,如果你知道序列中不支持匿名函数,那这个坑就和你say byebye了。好了话不多数,直接进入正题。 分布式进程 正如大家所知道的Process比Thread更稳定,而且Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers模块封装很好,不必了解网络通信的细节,就可以很容易地编写分布式多进程程序。 代码记录 举个例子 如果我们已经有一个通过Queue通信的多进程程序在同一台机器上运行,现在,由于处理任务的进程任务繁重,希望把发送任务的进程和处理任务的进程分布到两台机器上,这应该怎么用分布式进程来实现呢?你已经知道了原有的Queue可以继续使用,而且通过managers模块把Queue通过网络暴露出去,就可以让其他机器的进程来访问Queue了。好,那我们就这么干! 写个task_master.py 我们先看服务进程。服务进程负责启动Qu……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明