科技新闻

kafka是什么?storm与kafka的区别?

余生颓废 提交于 2020-02-28 01:04:29
kafka是消息队列,类似于RabitMQ,作为中间组件,主要解决异步,削峰,提高系统性能。 storm与kafka的区别? storm用于流数据的实时处理,在获取流数据之前,需要加入kafka消息队列来提高性能。 flume是什么? flume是在kafka获取数据之间,加入flume获取数据,把获取数据的流程封装起来,变得比较简单。 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3176335

为什么要使用消息队列

大兔子大兔子 提交于 2020-02-28 00:05:13
1.通过异步处理提高系统性能,能够实现削峰与降低响应时间 在不是用消息队列前用户发送请求到服务器,然后在读写数据库,这样如果在高并发情况下会给服务器与数据库很大压力,并且直接从数据库中获取数据会相对较慢,响应时间过长; 如果使用了消息队列,则用户发送请求到服务器后,会直接转到消息队列,而不是直接访问数据库,消息队列会立即返回时间比直接访问数据库时间小,处理能力也高,这样就解决了高并发问题与响应时间问题 2.解耦 使用消息队列后,使得服务器与数据库之间不会直接调用,这样就降低了耦合性,提高了可扩展能力。 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3164211

什么是消息队列

孤者浪人 提交于 2020-02-27 23:46:37
消息队列可以看作一个消息容器,是分布式中的一个重要组件,如果要使用消息可以直接从消息容器中获取,主要特点就是异步,削峰,解耦。 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3164210

MD5加密算法

瘦欲@ 提交于 2020-02-27 20:17:28
转载: https://blog.csdn.net/mp624183768/article/details/80575843 全称:message-digest algorithm 5 翻译过来就是:信息 摘要 算法 5 MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要。 以下所描述的消息长度、填充数据都以位(Bit)为单位,字节序为小端字节。 1.特点 (1)长度固定: 不管多长的字符串,加密后长度都是一样长 作用:方便平时信息的统计和管理 (2)易计算: 字符串和文件加密的过程是容易的. 作用: 开发者很容易理解和做出加密工具 (3)细微性: 一个文件,不管多大,小到几k,大到几G,你只要改变里面某个字符,那么都会导致MD5值改变. 作用:很多软件和应用在网站提供下载资源,其中包含了对文件的MD5码,用户下载后只需要用工具测一下下载好的文件,通过对比就知道该文件是否有过更改变动. (4)不可逆性: 你明明知道密文和加密方式,你却无法反向计算出原密码. 作用:大大提高了数据的安全性 2.撞库破解 这是概率极低的破解方法,原理就是: (1)建立一个大型的数据库,把日常的各个语句,通过MD5加密成为密文,不断的积累大量的句子,放在一个庞大的数据库里. (2)比如一个人拿到了别人的密文,想去查询真实的密码

以太坊IoT设备管理软件【含源码】

天涯浪子 提交于 2020-02-27 20:07:38
本文介绍一个利用以太坊区块链管理物联网IoT设备的身份识别、验证和声誉的IoT设备管理系统。该系统使用Web界面在以太坊智能合约中注册物联网设备,并通过密码学签名消息验证Iot设备对平台的 使用权。 以太坊教程链接: Dapp入门 | 电商Dapp实战 | ERC721实战 | Php对接 | Java对接 | Python对接 | C#对接 | Dart对接 1、区块链物联网设备管理系统的基本概念 物联网/IoT设备的标识 :通过默克尔树(Merkle Tree)的利用,无需暴露设备的私有属性即可完成IoT设备的注册。使用公钥(或其衍生表示)作为IoT设备的标识ID。 物联网/IoT设备的消息签名与验证 :系统中的每个消息都需要由发送端的IoT设备签名,并在接收端的IoT设备处进行验证。 发送端IoT设备的消息签名生成: 接收端IoT设备的消息签名验证: 物联网/IoT设备的固件指纹 :通过保存IoT设备的固件哈希,可以验证设备所运行的固件是否被非法篡改。 物联网/IoT设备的信誉机制 :基于Web的信任原理,设备可以形成一个信任网络。一个IoT设备从其他 有信誉的设备得到越多的签名,该设备就越可信。 2、区块链物联网设备管理系统的整体说明 系统主要组成部分包括:实体、设备和IoT平台: 系统开发基于以下技术栈: Ethereum Solidity Truffle

ZhaoWei-2020-01-18

别等时光非礼了梦想. 提交于 2020-02-27 18:34:33
Redis官方文档 简介 Redis是开源的(BSD许可)内存 数据结构存储 ,用作数据库,缓存和消息代理。它支持数据结构,例如 字符串 , 哈希 , 列表 , 集合 ,带范围查询的 排序集合 , 位图 , 超日志 ,带有半径查询的 流 空间索引 和 流 。Redis具有内置的 复制 , Lua脚本 , LRU逐出 , 事务 和不同级别的 磁盘持久性 ,并通过以下方式提供高可用性 Redis Sentinel 和 Redis Cluster 自动分区。 您可以 对这些类型运行 原子操作 ,例如 追加到字符串 ; 在哈希中增加值 ; 将元素推送到列表 ; 计算集的交集 , 并集 和 差 ; 或 获得排序集中排名最高的成员 。 为了获得出色的性能,Redis使用 内存中的数据集 。根据您的用例,您可以通过 将数据集 偶尔 转储到磁盘上 ,或者通过 将每个命令附加到log 来持久化它。如果只需要功能丰富的网络内存缓存,则可以选择禁用持久性。 Redis还支持琐碎的设置 主从异步复制 ,具有非常快速的非阻塞式第一次同步,自动重新连接以及网络拆分中的部分重新同步。 开发语言 现在我们都用高级语言来编程,比如Java、python等。也许你会觉得C语言很古老,但是它真的很有用,毕竟unix系统就是用C实现的,所以C语言是非常贴近操作系统的语言。Redis就是用C语言开发的,所以执行会比较快。

Electron+vue聊天仿微信界面|electron-vue聊天实践

孤人 提交于 2020-02-27 15:43:14
简介 electron-vchat实践聊天项目 是基于electron+vue+electron-vue+vuex+Node技术开发的仿微信客户端界面聊天室。有实现消息发送/表情,图片/视频预览,拖拽上传/粘贴截图发送/微信dll截图,右键菜单、朋友圈/红包/换肤等功能。 效果图 技术架构 框架技术:electron + electron-vue + vue 状态管理:Vuex 地址路由:Vue-router 字体图标:阿里iconfont字体图标库 弹窗插件:wcPop 打包工具:electron-builder 图片预览:vue-photo-preview 视频组件:vue-video-player /** * @Desc 公共及全局组件配置 * @about Q:282310962 wx:xy190310 */ // 引入公共组件 import winBar from './components/winbar' import sideBar from './components/sidebar' // 引入公共样式 import './assets/fonts/iconfont.css' import './assets/css/reset.css' import './assets/css/layout.css' // 引入弹窗wcPop import wcPop from

十四.按钮 button

风格不统一 提交于 2020-02-27 15:30:56
button 按钮 属性 类型 默认值 必填 说明 size string default 否 按钮的大小,default/mini(小尺寸) type string default 否 按钮的样式类型, primary(原色) / default(默认 / warn(警告) plain boolean false 否 按钮是否镂空,背景色透明 disabled boolean false 否 是否禁用 loading boolean false 否 名称前是否带 loading 图标 form-type string 否 用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件 open-type string 否 微信开放能力 hover-class string button-hover 否 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果 hover-stop-propagation boolean false 否 指定是否阻止本节点的祖先节点出现点击态 hover-start-time number 20 否 按住后多久出现点击态,单位毫秒 hover-stay-time number 70 否 手指松开后点击态保留时间,单位毫秒 lang string en 否 指定返回用户信息的语言,zh_CN

2.7 RabbitMQ高级特效-死信队列

依然范特西╮ 提交于 2020-02-27 15:29:56
DLX ,Dead-Letter-Exchange利用DLX,当消息在一个队列中变成死信(dead message)之后,它能被重新publish到另外一个Exchange,这个Exchange就是DLX。 消息变成死信有以下几种情况: 1.消息被拒绝(basic.reject/basic.nack)并且requeue=false 2.消息TTL过期。。 3.队列达到最大长度。 DLX也是一个正常的Exchange,和一般的Exchange没有区别,它能在任何的队列上被指定,实际上就是设置某个队列的属性。 当这个队列中有死信的时,RabbitMQ就会自动的将这个消息重新发布到设置的Exchange上去,进二被路由到另外一个队列。 可以监听这个队列中消息做相应的处理,这个特性可以弥补RabbitMQ3.0以前支持的immediate参数的功能。 死信队列的设置: 1 首先需要设置死信队列的Exchange和queue,然后绑定: Exchange:dlx.exchange Queue:dlx.queue RoutingKey:# 2 然后进行正常声明交换机、队列、绑定,只不过我们需要在对别加上一个参数即可:arguments.put("x-dead-letter-exchange","dlx.exchange")。这样消息在过期、qequeue、队列达到最大长度时