guest

RabbitMQ下载与安装

▼魔方 西西 提交于 2019-11-30 20:46:18
RabbitMQ下载与安装 首先需要介绍一下rabbitMq。 MQ简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。—— [百度百科] 什么是RabbitMQ RabbitMQ是由Erlang语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也可称为 面向消息的中间件)。支持Windows、Linux/Unix、MAC OS X操作系统和包括JAVA在内的多种编程语言。 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。 官方文档地址: rabbitMQ的java驱动官方文档地址 版本5.3.0: https://rabbitmq.github.io/rabbitmq-java-client/api

IPC$入侵

眉间皱痕 提交于 2019-11-30 02:36:18
一 唠叨一下: 网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄. 二 什么是ipc$ IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。 利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空 的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。 我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认 共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。 所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访 问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的. 三 相关命令 1)建立空连接: net

qemu-kvn中的virtio浅析

拥有回忆 提交于 2019-11-29 09:44:11
一. 了解 Virtio virtio是通用虚拟化框架,在Qemu-kvm中的I/O是用qemu 来模拟的,性能比较差,用virtio来模拟I/O可以进一步提升I/O虚拟化的性能 传统的qemu-kvm 工作模式: 1.Guest产生I/O请求,被KVM 截获 2.Kvm 经过处理后将I/O请求存放在I/O共享页 3.通知Qemu,I/O已经存入I/O共享页 4.Qemu从I/O共享页拿到I/O请求 5.Qemu模拟代码来模拟本次的I/O,并发送给相应的设备驱动 6、7、8. 硬件去完成I/O操作并返回结果Qemu 9. Qemu将结果放回I/O共享页 10. Qemu通知Kvm去I/O共享页拿结果 11. Kvm去I/O共享页拿到结果 12 . Kvm将结果返回给Guest **注意: a) 在这个操作中,客户机作为一个qemu进程在等待I/O时有可能被阻塞 b) 当客户机通过DMA访问大块内存时候,Qemu不会把结果放回I/O共享页,而是直接通过内存映射的方式将结果直接写到客户机的内存中去,然后通过KVM模块告诉客户机DMA操作已经完成 Virtio 基本架构: 前端:是存在于客户机中的驱动模块。 后端:是存在于Qemu中的处理程序。 中间层:在前端和后端之间,还定义了一层来支持客户机与Qemu之间的通信。Virtio和virtio-ring可以看成是一层

RabbitMq--2--安装

依然范特西╮ 提交于 2019-11-29 08:29:44
简单说下个人的理解,mq就是一个消息代理,负责异步消息转发,可以很大程度缓解服务器压力,并且防止服务器宕机影响业务等。 安装: 环境:centos7 1).首先需要安装erlang #wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm#可能会报错,如果报错则# wget http://mirrors.sohu.com/fedora-epel/epel-release-latest-7.noarch.rpm#rpm -ivh epel-release-latest-7.noarch.rpm #rpm -ivh erlang-solutions-1.0-1.noarch.rpm #yum install erlang 安装过程中会有提示,一路输入“y”即可。 检查:#erl 返回的是22 查看安装路径:whereis erlang 2).上述完成后安装RabbitMQ: 注意,注意,注意,erlang与rabbitmq两者的版本要求,这个是rabbitmq官网列出的版本对应:https://www.rabbitmq.com/which-erlang.html 看清erlang的版本再下载,否则不兼容,下面是我遇到的问题,反正一开始不懂,谷歌了好久才发下原因: Job for

虚拟化技术原理(CPU、内存、IO)

泄露秘密 提交于 2019-11-28 12:56:43
本文来自:http://www.ywnds.com/?p=5856 虚拟化 云计算现在已经非常成熟了,而虚拟化是构建云计算基础架构不可或缺的关键技术之一。 云计算的云端系统, 其实质上就是一个大型的分布式系统。 虚拟化通过在一个物理平台上虚拟出更多的虚拟平台, 而其中的每一个虚拟平台则可以作为独立的终端加入云端的分布式系统。 比起直接使用物理平台, 虚拟化在资源的有效利用、 动态调配和高可靠性方面有着巨大的优势。 利用虚拟化, 企业不必抛弃现有的基础架构即可构建全新的信息基础架构,从而更加充分地利用原有的IT投资。 虚拟化技术 虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理、优化资源的解决方案。 在X86平台虚拟化技术中,新引入的虚拟化层通常称为虚拟机监控器(Virtual MachineMonitor, VMM), 也叫做Hypervisor。 虚拟机监控器运行的环境,也就是真实的物理平台,称之为宿主机。而虚拟出来的平台通常称为客户机,里面运行的系统对应地也称为客户机操作系统,如下图: 1974年,Popek和Goldberg在一篇论文中定义了“经典虚拟化(Classical virtualization)”的基本需求,他们认为,一款真正意义上的VMM至少要符合三个方面的标准: 等价执行(Equivalient execution)

rabbitmq——用户管理

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-28 12:14:10
20元现金领取地址: http://jdb.jiudingcapital.com/phone.html 内部邀请码: C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 --------------------------------------------------------------------------------------------------------------------------------------------- 原文地址: http://my.oschina.net/hncscwc/blog/262246 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败。 翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。 虽然可以以比较猥琐的方式:将ebin目录下rabbit.app中loopback_users里的<<

Sql Server中实现Mysql中的group_concat函数效果

淺唱寂寞╮ 提交于 2019-11-27 10:07:47
Sql Server中实现Mysql中的group_concat函数效果 SELECT oi.*, stuff((select ','+convert(varchar(25), GuestName) FROM guest g WHERE g.ordersn = oi.OrderSN AND oi.ItemId = g.ItemId FOR XML PATH('')), 1, 1, '') as CustomerName FROM orderitem oi 以上涉及的两个表是OrderItem和Guest,以属性OrderSN和ItemId连接,查询结果格式为: 用户0,用户1,用户2 代码来自:http://www.2cto.com/database/201301/182442.html SELECT oi.*, stuff((select ','+convert(varchar(25), GuestName) FROM guest g WHERE g.ordersn = oi.OrderSN AND oi.ItemId = g.ItemId FOR XML PATH('')), 1, 1, '') as CustomerName FROM orderitem oi 以上涉及的两个表是OrderItem和Guest,以属性OrderSN和ItemId连接,查询结果格式为: 用户0

python MySql

浪尽此生 提交于 2019-11-27 08:47:25
初识数据库 数据库优势 程序稳定性:程序崩溃不会影响数据和服务 数据一致性:所有数据存储在一起 并发:数据库本身支持并发 效率:使用数据库对数据进行的增删改查效率要高 数据: 描述事物的符号记录称为数据 (Data) 数据库: 专门用来存储数据 (DataBase,简称DB) mysql: 数据库软件 (DataBase Management System 简称DBMS) 数据库管理员 管理数据库软件(DBA) 数据库服务器-:运行数据库管理软件 数据库管理软件:管理-数据库 数据库:即文件夹,用来组织文件/表 表:即文件,用来存放多行内容/多条记录 数据库分类 关系型数据库(表结构):  特点相对慢,数据关联性强  关系型数据库 : mysql oracle sqllite sql server db2 access 非关系型数据库(key,value):  特点相对快,数据与数据的关联性小  非关系型数据库 : redis mongodb memcache区别:  关系型数据库存储效率相对低,数据与数据之间关联紧密  关系型数据库存储效率相对高,数据与数据之间的关系是key:value Mysql语句分为三种(了解)   DDL 语句, 数据库定义语言:数据库,表,视图,索引,存储过程,例如create,drop,alter   DML 语句,数据库操纵语言:插入、删除、更新

RabbitMQ事务以及confirm机制

自古美人都是妖i 提交于 2019-11-27 04:58:13
本文是参考下面这篇博客然后进行复现浓缩后的总结 https://www.cnblogs.com/vipstone/p/9350075.html 正常情况下,如果消息经过交换器进入队列就可以完成消息的持久化,但如果消息在没有到达broker之前出现意外,那就造成消息丢失,有没有办法可以解决这个问题?RabbitMQ有两种方式来解决这个问题: 通过AMQP提供的事务机制实现; 使用发送者确认模式实现; 事务使用 事物的实现主要是对于信道(Channel)的设置,其中主要的方法有三个: channel.txSelect()声明启动事务模式; channel.txComment()提交事务; channel.txRollback()回滚事务; 尝试代码实现: public static void main ( String [ ] args ) throws IOException , TimeoutException { ConnectionFactory factory = new ConnectionFactory ( ) ; factory . setUsername ( "guest" ) ; factory . setPassword ( "guest" ) ; factory . setHost ( "localhost" ) ; factory . setPort (