activemq

友金所招聘Java工程师面试题

末鹿安然 提交于 2020-05-07 18:36:11
友金所是一家位于深圳南山科技园的P2P网贷公司,用友集团控股。该公司采用渐进式的问答面试,没有笔试题。比如面试者说熟悉多线程,面试官就问哪些方式解决并发;面试者说采用Synchronized或者ReentrantLock,面试官便会追问Synchronized的实现原理,以及两种方式运用的场景和优劣,逐渐靠近底层原理,直至面试者答不上来才转换话题,阿里的面试官也通常采用这种方式。 下面列出某网友面试过程中被问到的问题,供大家学习。 一 解释一下HashMap的实现原理 https://www.cnblogs.com/chengxiao/p/6059914.html 二 解释一下Spring事务传播机制 https://www.jianshu.com/p/aa76625d3715 https://www.jianshu.com/p/25c8e5a35ece 三 解释一下Spring的IOC和AOP实现原理 https://www.cnblogs.com/best/p/5679656.html https://www.cnblogs.com/gaopeng527/p/5290997.html 四 Java并发包用到了哪些,以及Synchronized,ReentrantLock的区别,两者的使用场景分别是什么。 Java多线程相关类的实现都在Java的并发包concurrent

ActiveMQ在Linux下安装

偶尔善良 提交于 2020-05-07 00:08:12
1.安装 1.下载安装包,下载地址 http://activemq.apache.org/components/classic/download/ 。 2.解压安装包,使用unzip命令,war包和zip包都是用该命令。 unzip apache-activemq-5.13.3-bin.zip -d /usr/local/apps/activemq 3.进入activemq的bin目录下,修改activemq文件的权限,默认没有执行权限,赋予所有用户执行的权限 chmod a+x activemq 4.启动activemq ./activemq start 5.监控,activemq默认启动时,使用的是内置的jetty服务器,浏览器通过192.168.2.10:8161访问,8161为默认端口,登录的默认用户名和默认密码都是admin Home:查看 ActiveMQ 的常见信息 Queues:查看 ActiveMQ 的队列信息 Topics:查看 ActiveMQ 的主题信息 Subscribers:查看主题的订阅者信息 Connections:查看 ActiveMQ 客户端的连接信息 Network:查看 ActiveMQ 的网络信息 Scheduled:查看 ActiveMQ 的定时任务 Send:用于通过表单方式向队列或者主题发送具体的消息 来源: oschina 链接:

Docker(11) docker-compose部署开发环境篇(mysql、redis、nginx、mq ...)

坚强是说给别人听的谎言 提交于 2020-05-06 20:51:04
一、前言 蹭着这次五一小假期,小编整理了一下之前docker部署开发环境系列的笔记,目前整理出来的有 docker-compose 部署 portainer 、 mysql 、 oracle18c 、 jenkins 、 jrebel 、 redis 、 nginx 、 elasticsearch 、 rabbitmq 、 activemq 、 baidupcs-web 、 nacos 、 sentinel 、 minio 、 kafka 、 yearning ... docker-compose 系列笔记地址: https://gitee.com/zhengqingya/docker-compose (如果以后有时间,将会不定期更新,有需要的小伙伴们自取即可) 部分可能需要根据自己的实际环境来做修改才能成功运行哦,比如端口占用之类... 二、环境准备 git clone https://gitee.com/zhengqingya/docker-compose.git cd docker-compose 三、运行服务 1、portainer docker-compose -f docker-compose-portainer.yml -p portainer up -d -p:项目名称 -f:指定docker-compose.yml文件路径 -d:后台启动 访问地址: ip地址

ActiveMQ Client

て烟熏妆下的殇ゞ 提交于 2020-05-05 16:54:30
在 TcpTransport 中 protected void doRun() throws IOException { try { Object command = readCommand(); doConsume(command); } catch (SocketTimeoutException e) { } catch (InterruptedIOException e) { } } 等待 message 并消费 message 来源: oschina 链接: https://my.oschina.net/bxnet/blog/4267287

Kafka、Redis和其它消息组件比较

谁说我不能喝 提交于 2020-05-05 11:39:24
Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。 针对Kafka性能方面进行简单分析,相关数据请参考: https://segmentfault.com/a/1190000003985468 ,下面介绍一下Kafka的架构和涉及到的名词: Topic:用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上。 Partition:是Kafka中横向扩展和一切并行化的基础,每个Topic都至少被切分为1个Partition。 Offset:消息在Partition中的编号,编号顺序不跨Partition。 Consumer:用于从Broker中取出/消费Message。 Producer:用于往Broker中发送/生产Message。 Replication:Kafka支持以Partition为单位对Message进行冗余备份,每个Partition都可以配置至少1个Replication(当仅1个Replication时即仅该Partition本身)。 Leader:每个Replication集合中的Partition都会选出一个唯一的Leader,所有的读写请求都由Leader处理

ZeroMQ、RabbitMQ、ActiveMQ

江枫思渺然 提交于 2020-05-05 10:17:52
【ZeroMQ】 ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。 ZeroMQ是网络通信中的新的一层,结余应用层和传输层之间按照tcp/ip划分。是一个可伸缩层,并行运行,分散在分布式系统间。 ZeroMQ号称是“史上最快的消息队列”,基于c语言开发的,实时流处理sorm的task之间的通信就是用的zeroMQ 【RabbitMQ】 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 【ActiveMQ】 Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。 ActiveMQ是一种开源的基于JMS(Java Message Servie)规范的一种消息中间件的实现,ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。 【ActiveMQ的两种消息传递类型】 1、点对点传输,一个生产者对应一个消费者,生产者向broke推送数据

消息队列之rabbitmq学习使用

旧时模样 提交于 2020-05-02 01:23:44
消息队列之rabbitmq学习使用 1、RabbitMQ简介 1.1、什么是RabbitMQ? RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于 AMQP协议的。 1.2、RabbitMQ有哪些特点? 目前大多数互联网都在使用RabbitMQ RabbitMQ底层采用Erlang语言进行编写 开源、性能优秀,稳定 与SpringAMQP完美的整合、API丰富,只要是你能想到的编程语言几乎都有与其相适配的RabbitMQ客户端。 集群模式丰富,表达式配置,HA模式,镜像队列模型 保证数据不丢失的前提做到高可靠、可用性 RabbitMQ附带了一个易于使用的可视化管理工具,它可以帮助你监控消息代理的每一个环节。 如果你的消息系统有异常行为,RabbitMQ还提供了追踪的支持,让你能够发现问题所在。 RabbitMQ附带了各种各样的插件来对自己进行扩展。你甚至也可以写自己的插件来使用。 1.3、AMQP协议模型 2、RabbitMQ安装使用 2.1 安装rabbitmq,配置好阿里云的yum源,epel源 yum -y install erlang rabbitmq-server 2.2 启动rabbitmq服务端 systemctl start rabbitmq

RocketMQ介绍与云服务器安装

天大地大妈咪最大 提交于 2020-05-02 00:26:44
RocketMQ 介绍与概念 在github上的说法来看: Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容量和灵活的可扩展性。它提供了多种功能: 发布/订阅消息模型和点对点 预定的消息传递 消息追溯性按时间或偏移量 记录流媒体的中心 大数据集成 可靠的FIFO和严格的有序消息传递在同一队列中 高效的推拉消费模式 单个队列中的百万级消息累积容量 多种消息传递协议,如JMS和OpenMessaging 灵活的分布式横向扩展部署架构 Lightning-fast批处理消息交换系统 各种消息过滤器机制,如SQL和Tag Docker图像用于隔离测试和云隔离集群 功能丰富的管理仪表板,用于配置,指标和监控 访问控制列表 消息跟踪 上面都是官方列举出来了,还有如下特点: 支持Broker和Consumer端消息过滤 支持拉pull和推push两种消费模式,也就是上面说的推拉消费模式 支持单master节点,多master节点,多master节点多slave节点 消息失败重试机制,支持特定level的定时消息 新版本底层采用Netty 官方网站: http://rocketmq.apache.org/docs/motivation/ 也对RocketMQ和ActiveMQ以及Kafka做了一个对比. 核心概念 参考: http:/

day81_淘淘商城项目_14_项目发布 + Linux下安装mysql + tomcat热部署 + 反向代理的配置 + 数据库分库分表 + Mycat学习_匠心笔记

隐身守侯 提交于 2020-05-01 19:31:22
第十四天: 1、Linux上mysql的安装 2、系统的部署 3、mycat的介绍 4、项目总结 5、面试中的问题 1、开发流程浅解 2、项目发布前的准备 1、测试   a) 本地单元测试   b) 测试环境测试(1,2,3,4,5)   c) 用户测试(仿真环境:UAT环境) 2、确认服务器的资源   a) 硬件资源(CPU、内存、硬盘)   b) 软件资源(Linux、Windows)   c) 网络资源(宽带、机房、云服务器) 3、相关参与的人员确认   a) 测试人员   b) 开发人员 4、数据库脚本的准备   a) 初始化数据的sql脚本(DBA、运维)   b) 权限的sql脚本等 5、编写发布的文档   a) 开发人员编写各自负责的功能模块的 发布文档 信息   b) 测试的文档(测试用例)   c) 全员参与 6、打包   a) 专门负责的人员进行打包处理(运维) 7、准备 回滚方案 3、项目部署 3.1、Linux下安装mysql 第一步:查看mysql是否安装。 rpm -qa | grep mysql 第二步:如果mysql的版本不是想要的版本。需要把原来的mysql卸载。 yum remove mysql mysql-server mysql-libs mysql-common rm -rf / var /lib/mysql rm -f /etc/my

转 【MQTT】在Windows下搭建MQTT服务器

安稳与你 提交于 2020-04-30 20:45:55
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有: 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。 对负载内容屏蔽的消息传输。 使用 TCP/IP 提供网络连接。 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。 有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 Mosquitto 是一款「An Open Source MQTT v3.1/v3.1.1 Broker」——开源的MQTT代理服务器,其下也有Windows的安装包。 但是我使用的是Win10 64位系统,这两个都下载安装后不是报错就是缺少dll文件,不能使用。 最后参考了前面博客说的,搭建了Apollo服务器,这里使用的Apollo 1.7.1。 官网: http