科技新闻

windows下安装MQTT服务器 - Mosquitto

半世苍凉 提交于 2020-02-26 05:27:49
我们知道MQTT消息服务器有很多,但是最常用的只有两个: Mosquitto和EMQTT。在性能上来看,EMQTT的并发量最高,但同时CPU使用也占比很高。Moqtuitto虽然并发量不及EMQTT,但是其发送消息更快,CPU占用也更少。因此,本文选择了Moqtuitto作为MQTT消息服务器。 Mosquitto 安装 Mosquitto有很多版本,如果想体验新版本可以上github下载源文件编译,比较麻烦。我这里使用Mosquiitto提供的windows版本,虽然版本不是最新的,但是稳定。 1. 下载 从官网下载https://mosquitto.org/download/, 目前最新版本为 mosquitto-1.6.8-install-windows-x64.exe 2. 安装 虽然一路“下一步”很爽,为了默认的路径“C:\Program Files\mosquitto”包含了空格,所以这里安装时在C盘的mosquitto目录下。 3. 启动服务 如下图所示,点击启动服务后,mosquitto命令才可用。 4. 配置用户名密码 进入“C:\mosquitto”目录下,可以查看mosquitto的配置文件及命令 4.1 修改配置 找到mosquitto.conf文件,在任意位置添加如下代码,重启服务生效。 # 设置不允许匿名登录 allow_anonymous false

微信公众平台服务号、订阅号的相关说明选择字号:

ε祈祈猫儿з 提交于 2020-02-26 05:05:04
一、服务号、订阅号的介绍(区别) 微信公众平台现在已分成订阅公众号和服务公众号两种类型。 公众平台服务号 ,是公众平台的一种帐号类型,旨在为用户提供服务。 特点:每月可群发四条信息给粉丝、群发的消息乃显示在聊天列表、下发消息即时通知粉丝。 适用用户:主要是给粉丝提供服务。一般银行和企业用户比较适合(招商银行、中国南方航空)。 公众平台订阅号 ,是公众平台的一种帐号类型,为用户提供信息和资讯。 适用用户:主要是提供信息和资讯。一般媒体用户比较适合(如:骑行西藏、央视新闻)。 特点:每天可群发一条消息给粉丝、群发消息收至订阅号文件夹、群发消息不会提示推送。 二、服务号的功能 公众平台服务号,是公众平台的一种帐号类型,旨在为用户提供服务。如:招商银行、中国南方航空。 1、1个月内可以发送4条群发消息。 2、发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中。 3、服务号会在订阅用户(粉丝)的通讯录中。 4、服务号可申请自定义菜单。 三、订阅号的功能 公众平台订阅号,是公众平台的一种帐号类型,为用户提供信息和资讯。如:骑行西藏、央视新闻。 1、每天可以发送 1条群发消息(每天0点更新,次数不会累加)。 2、发给订阅用户(粉丝)的消息,将会显示在对方的“订阅号”文件夹中。 3、在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中。 4、订阅号认证后可申请自定义菜单。 四、订阅号

实时通信之eventSource

半城伤御伤魂 提交于 2020-02-26 05:03:23
1、eventsource是一种单向通信的方式,只能由服务端向客户端推送消息,可以自动重连接,可以发送随机事件 2、event-source必须编码成utf-8的格式,消息的每个字段使用"\n"来做分割,并且需要下面4个规范定义好的字段: Event: 事件类型 Data: 发送的数据 ID: 每一条事件流的ID Retry: 告知浏览器在所有的连接丢失之后重新开启新的连接等待的时间,在自动重新连接的过程中, 之前收到的最后一个事件流ID会被发送到服务端。 3、兼容性 4、实现方式: 客户端: const es = new EventSource('/api') es.onmessage = function(res){console.log(res)} 服务端: const sseStream = new SseStream(req) sseStream.pipe(res) sseStream.write({ id: sendCount, event: 'server-time', retry: 20000, // 告诉客户端,如果断开连接后,20秒后再重试连接 data: {ts: new Date().toTimeString(), count: sendCount++} }) 5、缺点: 因为是服务器->客户端的,所以它不能处理客户端请求流 因为是明确指定用于传输UTF

雷军亲自打造的套餐了解下:用多少付多少

回眸只為那壹抹淺笑 提交于 2020-02-26 04:51:27
12月28日消息,小米科技创始人兼CEO雷军微博表示,小米移动任我行套餐方案,原则上就是明明白白消费,用多少付多少,不用不花钱!上网、电话和短信都是一毛钱,上网0.1元/M,电话0.1元/分钟,短信0.1元/条,资费极其简单。 雷军还表示,我对自己有个简单的要求: 小米出的每款手机我自己都亲自用过,这样的套餐,对我测试工程机特别有用。(这个套餐,我亲自参与了设计),喜欢这个套餐,可以到小米商城申请,非常简单。 任我行是小米移动推出的一款低门槛月租套餐,其固定资费是5元/月,语音通话0.1元/分钟,短信0.1元/条,流量0.1元/M,国内接听免费(不含港澳台)。 值得一提的是,小米移动电话卡已经开通超过20个城市的号码段,不限归属地购买,全国发货。同时提供人性化的号码选择功能,在海量号码中轻松找到心仪的它。 原文来自: https://news.mydrivers.com/1/609/609174.htm 本文地址: https://www.linuxprobe.com/xiaomi-phone-card.html 编辑:程伟,审核员:逄增宝 来源: https://www.cnblogs.com/elsa-66/p/10293523.html

2020年,Kafka入门看这一篇就够了!

佐手、 提交于 2020-02-26 04:50:20
Kafka 创建背景 Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。 活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(Page View)、被查看内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的形式写入某种文件,然后周期性地对这些文件进行统计分析。运营数据指的是服务器的性能数据(CPU、IO 使用率、请求时间、服务日志等等数据)。运营数据的统计方法种类繁多。 近年来,活动和运营数据处理已经成为了网站软件产品特性中一个至关重要的组成部分,这就需要一套稍微更加复杂的基础设施对其提供支持。 Kafka 简介 Kafka 是一种分布式的,基于发布 / 订阅的消息系统。 主要设计目标如下: 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间复杂度的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条以上消息的传输。 支持 Kafka Server 间的消息分区,及分布式消费,同时保证每个 Partition 内的消息顺序传输。

架构师必备之常见面试题整理——高性能三十问!

女生的网名这么多〃 提交于 2020-02-26 02:59:08
分布式架构(一) 大型互联网架构演进过程,架构师应具备的分布式知识,主流分布式架构设计详解 分布式系统 分布式系统是一个由硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。其拥有如下特点 分布性 对等性 并发性 缺乏全局时钟 故障总是会发生 (开心一笑) 分布式协调和分流(二) Zookeeper分布式环境指挥官,Nginx高并发分流进阶实战 应用场景 Zookeeper的功能很强大,应用场景很多,结合我实际工作中使用Dubbo框架的情况,Zookeeper主要是做注册中心用。 基于Dubbo框架开发的提供者、消费者都向Zookeeper注册自己的URL,消费者还能拿到并订阅提供者的注册URL,以便在后续程序的执行中去调用提供者。而提供者发生了变动,也会通过Zookeeper向订阅的消费者发送通知。 Zookeeper有哪几种节点类型 持久节点(PERSISTENT) 所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。 持久顺序节点(PERSISTENT_SEQUENTIAL) 这类节点的基本特性和上面的节点类型是一致的。额外的特性是,在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。基于这个特性,在创建子节点的时候,可以设置这个属性

ELK 之数据收集传输过滤 Filebeat+Logstash 部署

做~自己de王妃 提交于 2020-02-26 02:55:00
本文与前文是有关联的,之前的两篇文章客官可以抬腿出门右转 导读 , ELK 之前端 , ELK 之分布式发 #前端和消息队列搞定之后,我们需要安装数据采集工具filebeats和数据过滤机运输工具Logstash,一般情况我们都使用filebeats 用来收集日志文件,我自定义了一个log文件,文件内容如下: 55.3.244.1 GET /index.html 15824 0.043 55.3.244.1 GET /index.html 15824 0.043 文件位置放到/tmp/test.log cd /opt/elk/filebeat-6.2.2-linux-x86_64 #filebeat 的配置文件大体上分为两部分,输入部分和输出部分,输入指定输入源即可,输出可以选择直接到elasticsearch,logstash或者是消息队列(redis&kafka)等,本文采用kafka 作为消息队列; FIlebeat 配置文件内容详解: vi filebeat.yml filebeat.prospectors: #日志类型 - type: log enabled: True # 日志路径可以写多个,支持通配符 paths: - /tmp/test.log #设置字符集编码 encoding: utf-8 #文档类型 document_type: my-nginx-log

saltstack详解+部署apache服务

两盒软妹~` 提交于 2020-02-26 02:30:57
saltstack介绍 1、 saltstack是使用python语言开发的; 2、 轻量级的管理工具,批量执行命令; 3、常用模块:pkg(包)、file(文件)、cmd(执行命令或脚本)、user、 service、cron 4、saltstack数据系统 Grains (静态数据) pillar (动态数据) saltstack三大功能,远程执行,配置管理,云管理 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。 saltstack基本原理 SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信 minion上线后先与master端联系,把自己的pub key发过去,这时master端通过salt-key

rabbitmq_cluster 网络分区

ε祈祈猫儿з 提交于 2020-02-26 02:28:19
通常我们使用rabbitmq 做消息队列,若我们是 cluster模式。若我们的网络不稳定很容易造成网络分区,监测是否发生网络分区可以使用rabbitmq的ui来看,也可以用命令来检测 rabbitmqctl cluster_status 若返回值为: [{nodes,[{disc,['rabbit@node1', 'rabbit@node2']}]}, {running_nodes,['rabbit@node2','rabbit@node1']}, {cluster_name,<<"rabbit@node1">>}, {partitions,[]}] 则集群状态为正常,若返回值为 [{nodes, [{disc, ['rabbit@node1','rabbit@node2']}]}, {running_nodes,['rabbit@node1']}, {cluster_name,<<"rabbit@node1">>}, {partitions, [{'rabbit@node1',['rabbit@node2']}]}] 则表示rabbitmq发生网络分区了。 此时我们要手动解决网络分区。 一、最简单的是我们重启rabbitmq集群服务,这样会造成以产生的消息队列失去了消费者,即用户的一些操作可能一直处于“转圈”等待中。 二、 为了从网络分区中恢复,首先需要挑选一个信任的分区

【编程开发】数字签名原理简介

↘锁芯ラ 提交于 2020-02-26 02:26:29
首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此, 私钥也可以认为是个人身份的证明。 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密。 2.消息摘要 消息摘要可以将消息哈希转换成一个固定长度的值唯一的字符串。值唯一的意思是不同的消息转换的摘要是不同的,并且能够确保唯一。 该过程不可逆 ,即不能通过摘要反推明文(似乎SHA1已经可以被破解了,SHA2还没有。一般认为不可破解,或者破解需要耗费太多时间,性价比低)。 利用这一特性, 可以验证消息的完整性。 消息摘要通常用在数字签名中,下面介绍用法。 了解基础知识之后,就可以看一下数字签名和数字证书了。 3.数字签名 假设现在有通信双方A和B,两者之间使用两套非对称加密机制。 现在A向B发消息。 那么,如果在发送过程中,有人修改了里面密文消息,B拿到的密文,解密之后得到明文,并非A所发送的,信息不正确。 要解决两个问题:1. A的身份认证 2. A发送的消息完整性 那么就要用到上面所讲的基础知识。 数字签名的过程如下图: