RabbitMQ

我去!看完这份Spring Boot笔记,成功教面试官做人

自闭症网瘾萝莉.ら 提交于 2020-10-15 13:10:03
写在前面 Java各种开发框架发展了很多年,影响了一代又一代的程序员。但环顾当前Java开源世界中的流行技术框架,能同时满足快速开发和分布式系统架构,还是群众基础最好、功能最全、基于Spring技术的Spring Boot框架。 什么是 Spring Boot ? 解释一下:Spring Boot 可以构建一切。Spring Boot 设计之初就是为了最少的配置,最快的速度来启动和运行 Spring 项目。Spring Boot 使用特定的配置来构建生产就绪型的项目。 使用 Spring Boot 可以非常方便、快速搭建项目,而不用关心框架之间的兼容性、适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Sping Boot 非常适合构建微服务。 正如前面所说的Spring Boot的影响力大家有目共睹,学会Spring Boot技术无疑是一个硬核涨薪技能。所以互联网雷锋(小编我)也是费尽心思为找到了一份 非常nice的学习笔记 供大家参考,需要的小伙伴查看文末获取。 本文档是基于Spring Boot 2.X版本,采用“知识点+实例”的形式编写,通过“58个基于知识的实例+2个综合性的项目”,全面深入地讲解了Spring Boot的主要技术原理和应用。 其中,我们把晦涩难懂的理论通过图文结合的方式讲解,把不便理解的名词用通俗化的文字进行讲解

RabbitMQ迁移消息队列AMQP

心已入冬 提交于 2020-10-15 05:41:39
云栖号最佳实践:【 点击查看更多上云最佳实践 】 这里有丰富的企业上云最佳实践,从典型场景入门,提供一系列项目实践方案,降低企业上云门槛的同时满足您的需求! 场景描述 本文Step by Step介绍了如何将阿里云自建RabbitMQ迁移到消息队列AMQP。同时本文可以作为线下IDC自建RabbitMQ等场景迁移到消息队列AMQP的参考手册。 解决问题 如何将RabbitMQ迁移消息队列AMQP。 产品列表 消息队列AMQP版 云监控 RA访问控制RAM 直达最佳实践 》》 来源: oschina 链接: https://my.oschina.net/u/4302200/blog/4330922

Spring Cloud Bus:消息总线

試著忘記壹切 提交于 2020-10-14 20:16:15
Spring Cloud Bus:消息总线 SpringBoot实战电商项目mall(20k+star)地址: github.com/macrozheng/… 摘要 Spring Cloud Bus 使用轻量级的消息代理来连接微服务架构中的各个服务,可以将其用于广播状态更改(例如配置中心配置更改)或其他管理指令,本文将对其用法进行详细介绍。 Spring Cloud Bus 简介 我们通常会使用消息代理来构建一个主题,然后把微服务架构中的所有服务都连接到这个主题上去,当我们向该主题发送消息时,所有订阅该主题的服务都会收到消息并进行消费。使用 Spring Cloud Bus 可以方便地构建起这套机制,所以 Spring Cloud Bus 又被称为消息总线。Spring Cloud Bus 配合 Spring Cloud Config 使用可以实现配置的动态刷新。目前 Spring Cloud Bus 支持两种消息代理:RabbitMQ 和 Kafka,下面以 RabbitMQ 为例来演示下使用Spring Cloud Bus 动态刷新配置的功能。 RabbitMQ的安装 安装Erlang,下载地址: erlang.org/download/ot… 安装RabbitMQ,下载地址: dl.bintray.com/rabbitmq/al… 安装完成后

我敢打赌!这绝对是10月整理的最全的《高频Java面试题集合》

核能气质少年 提交于 2020-10-14 11:51:25
周末,天气放晴,玩的还挺开心, 过后,我像往常一样坐在窗台,看着电脑“发呆”,就不给大家分享技术干货了。 给大家整理一份面试清单总结吧, 都是一些基础的题, 但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~当复习期末考吧。 花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题! 面试题模块介绍: 一、Java 基础 JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5) 等于多少? String 属于基础的数据类型吗? java 中操作字符串都有哪些类?它们之间有什么区别? String str="i"与 String str=new String("i")一样吗? 如何将字符串反转? String 类的常用方法都有那些? 抽象类必须要有抽象方法吗? 普通类和抽象类有哪些区别? 抽象类能使用 final 修饰吗? 接口和抽象类有什么区别? java 中 IO 流分为几种? BIO、NIO、AIO 有什么区别? Files的常用方法都有哪些? 二、容器 java 容器都有哪些? Collection 和 Collections 有什么区别? List、Set、Map

MQ之对比

こ雲淡風輕ζ 提交于 2020-10-13 23:58:01
activeMQ:高效、可扩展、稳定安全企业级消息通信 rabbitMQ:分布式系统可靠、可扩展、功能丰富,内存式堆积,某些条件下触发换页动作将内存中消息换页到磁盘;支持多租户 不支持重试队列,二次封装延迟队列实现呢 拉模式,不回溯,支持消息追踪 多租户 kafka:高吞吐量分布式发布订阅消息系统,可水平扩展,磁盘式堆积,冗余功能 过滤:consumerInterceptor接口或kafka stream的filter消息过滤 不支持优先级、延迟、死信、重试队列 拉模式+推模式 按offset和timestamp维度消息回溯 通插件支持消息追踪(性能) rocketMQ:高吞吐、高可用、适合大规模分布式系统 rabiitMQ一致性丢失问题 https://www.jianshu.com/p/8f7ebbcbeee5 https://blog.csdn.net/u013256816/article/details/79147591 来源: oschina 链接: https://my.oschina.net/u/4410837/blog/4671566

远程面试阿里、蚂蚁、京东、美团后整理份283页Java核心面试宝典

懵懂的女人 提交于 2020-10-12 00:23:39
本文整理了一些面试时面试官必问的知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。 由于知识点比较全面,内容比较多,所以我将这些Java面试中的核心知识点汇总整理成了一份文档。文档已经上传到了百度云网盘,文末提供获取方式~ 以下是文档涉及的主要内容: JVM 线程 JVM内存区域 JVM运行时内存 垃圾回收与算法 JAVA 四种引用类型 GC分代收集算法 VS 分区收集算法 GC垃圾收集器 JAVA IO/NIO JVM 类加载机制 JAVA集合 接口继承关系和实现 List ArrayList(数组) Vector(数组实现、线程同步) LinkList(链表) Set HashSet(Hash表) TreeSet(二叉树) JAVA多线程并发 JAVA并发知识库 JAVA线程实现/创建方式 4种线程池 线程生命周期(状态) 终止线程4种方式 sleep与wait 区别 start与run区别 JAVA后台线程 JAVA锁 编程基本方法4.1.11. 线程上下文切换 同步锁与死锁 线程池原理 JAVA阻塞队列原理 CyclicBarrier、CountDownLatch、Semaphore的用法

这三年被分布式坑惨了,曝光十大坑

有些话、适合烂在心里 提交于 2020-10-09 18:50:30
作者 | 悟空聊架构 来源 | 悟空聊架构 (ID:PassJava666) 转载请联系授权(微信ID:PassJava) 本篇主要内容如下: 主要内容 前言 我们都在讨论分布式,特别是面试的时候,不管是招初级软件工程师还是高级,都会要求懂分布式,甚至要求用过。传得沸沸扬扬的分布式到底是什么东东,有什么优势? 借用火影忍术 风遁 · 螺旋手里剑 看过 火影 的同学肯定知道 漩涡鸣人 的招牌忍术: 多重影分身之术 。 这个术有一个特别厉害的地方, 过程和心得 :多个分身的感受和经历都是相通的。比如 A 分身去找卡卡西(鸣人的老师)请教问题,那么其他分身也会知道 A 分身问的什么问题。 漩涡鸣人 有另外一个超级厉害的忍术,需要由几个影分身完成: 风遁·螺旋手里剑。 这个忍术是 靠三个鸣人一起协作完成的。 这两个忍术和分布式有什么关系? 分布在不同地方的系统或服务,是彼此相互关联的。 分布式系统是分工合作的。 案例: 比如 Redis 的 哨兵机制 ,可以知道集群环境下哪台 Redis 节点挂了。 Kafka的 Leader 选举机制 ,如果某个节点挂了,会从 follower 中重新选举一个 leader 出来。(leader 作为写数据的入口,follower 作为读的入口) 那 多重影分身之术 有什么缺点? 会消耗大量的查克拉。分布式系统同样具有这个问题,需要几倍的资源来支持。

面试100多位软件工程师后的建议~

眉间皱痕 提交于 2020-10-09 07:55:16
作者 | Hugo Rocha 译者 | Sambodhi 策划 | Tina 本文最初发表在 Medium 博客上,经原作者 Hugo Rocha 授权,InfoQ 中文站翻译并分享。 这种尴尬和紧张的关系,一方面是在完成赫拉克勒斯(Hercules,希腊神话最伟大的半神英雄,男性的杰出典范,伟大的赫拉克勒斯后裔祖先)的 12 项“不可能完成的”任务后成为英雄,另一方面是在马戏团训练过的动物毫无意义地连续跳呼啦圈,我们轻描谈写地称之为求职面试。我们都讨厌面试,然而,面试却是我们职业生活中无法回避的事实。 当我第一次天真地、冒险地进入软件工程面试这一令人不舒服的、不友好的世界时,没过多久,我就觉得我在 2~3 个小时内判断软件工程师的能力就像法医一样精准。 然而,我总是想知道坐在另一边的人是什么样的人,需要什么才能知道一个工程师是否适合这个角色。在过去的几年里,我进行了 100 多次软件工程技术面试,尽管每家公司都有自己独特的面试流程,但还是有一些人们容易犯的常见错误。下面是我关于如何避免犯下这些错误的忠告。 优秀的软件工程师 成功之路和失败之路几乎一样。(The road to success and the road to failure are almost exactly the same.) ——科林・雷克斯・戴维斯(Colin R. Davis,英国指挥家)

linux安装mq

一个人想着一个人 提交于 2020-10-09 03:13:24
首先需要Yum源支持: cd /usr/local/src/ mkdir rabbitmq cd rabbitmq wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc sudo yum install erlang 运行以上代码 效果如下: 上面都成功后 安装RabbitMQ 上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/soft/rabbitmq/ 安装: rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm 这样就安装Ok了 都比较简单 RabbitMQ 服务的启动: service rabbitmq - server start service rabbitmq - server stop service rabbitmq - server restart 注意要去掉后面的逗号。 开启web界面管理工具 rabbitmq-plugins enable rabbitmq

消息队列

 ̄綄美尐妖づ 提交于 2020-10-08 10:48:52
什么是消息队列 MQ全称为Message Queue 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。 你可以想想在生活中的一种场景:当你把信件的投进邮筒,邮递员肯定最终会将信件送给收件人。我们可以把MQ比作 邮局和邮递员。 MQ和邮局的主要区别是,它不处理消息,但是,它会接受数据、存储消息数据、转发消息 为什么使用消息队列 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 如果有人问你这个问题,期望的一个回答 是说,你们公司有个什么业务场景 ,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。 先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个: 解耦 、 异步 、 削峰 。 解耦 看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃...... 在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合