挨踢部落坐诊第四期:Java消息队列的应用场景和作用

原创
开发 Android 大数据 移动开发
挨踢部落是为核心开发者提供深度技术交流,解决开发需求,资源共享的服务社群。基于此社群,我们邀请了业界技术大咖对开发需求进行一对一突破,解除开发过程中的绊脚石。以最专业、最高效的答复为开发者解决开发难题。

【51CTO.com原创稿件】活动说明:挨踢部落是为核心开发者提供深度技术交流,解决开发需求,资源共享的服务社群。基于此社群,我们邀请了业界技术大咖对开发需求进行一对一突破,解除开发过程中的绊脚石。以最专业、***效的答复为开发者解决开发难题。

消息队列

消息队列

话题关键词:消息队列、索引、App、路由、接口

部落阵容:51CTO管理团队;

面向对象:移动开发者、IT运维、数据分析师

参与方式:加入51CTO开发者QQ交流群(群号370892523(已满)、请加312724475),有任何技术问题,在群里提问,或发给群主小官。

活动详情


重庆-小包-Android我一运行就报这个错,等待程序接入,这是什么问题?

等待接入

成都-恩威-云计算:看一下防火墙或者安全规则是否拦截了?打开AndroidManifest.xml代码文件,注释掉或者删除掉这行:

  1. <uses-sdk android:minSdkVersion="8" /> 即可。

 

吉林-初见-SE创建的索引,查询确实变快了,不过1.6G的数据涨了1G多,"变为2.6G了!这涨了一半的量对劲吗?我是插入完数据再添加的索引,很慢。表只有两个列,只给一个列添加了索引,下次试试创建表的时候添加索引有什么区别。

索引

广州-大数据-益达:肯定不一样。建表加索引,是结构已经固定,比如采用B-tree,当数据来的时候,才添加索引到索引树里面了。你整体数据导入后再建索引,数据量越大,B-tree的构建时间越长。只是构建花时间,索引构建时机不同。一般设计在建表的时候就要建索引。设计合理,索引本身就会增加空间。可以理解成是以空间换时间的方式。不合理的索引设计,会导致索引成本增加。你这只有2列。索引主要是为了where条件里面的查询,可以了。

深圳-圳-Java:请求大神一个问题,Java消息队列主要用于什么场景?在程序中又起到了什么作用?

1>北京-阳阳-安卓:很明显,队列的长度有限,所以不适用于大数据量的,消息如果一直在队列中,得不到处理,也会有问题。发送消息的时候太多,处理不过来,就放到队列里,一个个处理。

2>广州-大数据-益达:最明显的一个作用,就是防止雪崩。某一时刻数据量突然增大,起到一个缓冲。

3>北京-arige-Android:一般都是异步的,不要求立即响应。打个比喻,你同时只能做一件事,但是你有一个ToDoList,每做完一个,在ToDoList中划掉一个,有新的分给你的任务,就放到ToDoList后面,这个ToDoList差不多就是一个队列了,队列就是一种数据结构,减轻的不止是数据库的压力。

4>成都-刘声杰-后端:消息队列可以用来实现一些懒操作,很多懒操作,我们都可以用消息队列来实现,当然还可以用来实现不同语言之间的通讯。懒操作是指一些不及时的操作,耗时的操作,比如发送邮件、图片处理、数据统计等等。这些不需要立即返回结果的,都可以先用消息队列保存起来,然后一个个的处理。比如发送邮件的操作,一种是多线程来处理,因为发送邮件需要时间, 如果有了消息队列,我们仅仅需要将发送邮件所需要的数据放在消息队列里面,然后另一个专门发送邮件的程序从消息队列里面一个个的获取,然后发送。而这时发送邮件的前端,仅仅只需要将数据保存到消息队列就返回了,不需要等邮件真正的发送出去才返回。你可以发邮件,但是有一个阻塞,如果你不用单独的线程,就像你要远程计算一张图片的大小一样,还是需要等图片下载完了,才能够获取大小,而这个图片下载需要时间,是对中间等待时间的优化。

深圳-圳-Java:有谁知道H5如何实现手机录音?

安徽-Coeus-PHP:需要第三方支持,要是微信开发简单点,直接调用微信的API就可以了,之前github上有record.js处理这个问题,可以搜一下。https://github.com/mattdiamond/Recorderjs看看行不行 。

安徽-Coeus-PHP:话说关于JAVA学习我有一个疑问,Android是属于Java WEB前端的范畴吗?

北京-arige-Android:不属于吧,Java只是一个语言而已,Android是一个系统,能写win应用的语言有很多,但是不能说WIN是哪个语言的一部分。

郑州-白杨-返校学习:曹老师,视觉分辨人脸技术和验证码图形自动填充属于一个理念吗?人脸检测使用什么框架的?

北京-曹洪伟-半吊子全栈工匠 :不一样。人脸检测 用的是 OpenCV3,计算机视觉领域著名的开源库。

上海-小杰-学生:请教下,我这个问题怎么调整?

[[187806]]

1>安徽-coeus-PHP:是不是安装固态硬盘?要把BIOS的硬盘模式修改一下。

2>江苏-麦克-大数:是不是新的机器,BIOS有个模式改为传统就行了,目前应该是UEFI模式。

3>南昌-小草-设计/前端:不需要装固态,这种进PE修改一下硬盘分区,你只需要一个分区助手。应该是重装系统激活时候提示的吧,一般重新分区就好了。

郑州-哎呀-php:接口使用HTTPS时,App应用访问接口加上Token,是否需要再使用签名?对于一些不需要登录就能浏览的接口安全应该怎么限制呢?也就是不需要权限验证就能浏览,为了防止一些数据抓取,恶心行为,大神们谁给普及下。

1>北京-崔一凡-架构师:一般来说,有Token就可以了。看你的目的了,你的接口设计如果只能让你的App访问的话,你和App协商好交互协议就行了,后台和App约定秘钥,报文加密传。每次版本换一个,报文中约定版本号,根据版本号再做点手段。或者你可以设计的复杂点,比如App安装初始化的时候自动生成秘钥,发到后台保存起来,设备标记是不变的。反正无论你怎么考虑安全,都是能被破解的,我也没有万无一失的手段,只能多加几层验证机制,增加别人破解的成本。

2>安徽-Coeus-PHP:基本上这么做,分配app_key和app_secret,客户端通过app_key和app_secret去服务端验证并且换来具有失效性的token_code,然后客户端在通过token_code为凭证去取数据。理论上可以给每个客户端都生成一个appid和secret。

北京-晶晶-lT:我问下,公司网络,必须在这里配置一下才能上网,不配置的话不能上网,这里面怎么配置?比如现在我有20台电脑不想让他们上网,然后要是需要网络呢,就在这里配置一下就可以上网了。

网络设置

网络地址

1>云南-小元素-VBA:其实告诉你一个简单办法。MAC封锁就可以了,路由器有MAC封锁功能。可以制作网络IP冲突,找到局域网内能上网的某个IP,修改你计算机MAC,填写对方MAC就可以了,可以ping下你们LAN中哪个地址可ping通,然后arp -a 就能解析到对方的macle。也可以批量ping下你们公司的IP,写个bat脚本,或者直接下载MAC工具直接扫,这三个方法都可以。

IPg

2>北京-军阀-嵌入式:把你的IP地址改成他的,然后去路由器表里绑定MAC,如果对方是自动获取地址就不管用了。

北京-晶晶-lT:红线的这个路由器端口是不是要配置下?现在红线的这个我按照绿线那台配置的,不通,不知道哪里出错了。

路由端口配置Cisco Packet Tracer

1>北京-RK-Java:你用的是 Cisco Packet Tracer 吧,可以去51CTO看韩立刚老师的关于Packet Tracer的视频。

2>北京-小虫-安全:看看你的接口弄错了没,华为的模拟器和思科的模拟器配置都不一样,命令和思科的也不一样,都是相同的网络技术做基础,只是命令上会有一些区别,想学这个,要不就学思科,要不就学华为,命令没有必要死记硬背,用到的时候打个问号就都出来了。

输出

问号出来的就是在当前地方可以输入那些命令,后面还有命令的解释,我记得华为的还有中文的解释。你输show ?就会出来show这个后面可以跟那些命令,比如你输入show和输入sh效果是一样的。

show?show2

每个模式都有自己的命令,带#号的是进入特权模式,你找本CCNA的书看看,51CTO下载频道多的是。也可以看HCNA和HCNP,HCNA和HCNP是华为的,CCNA是思科的。敲命令没啥难度,先把理论看看,然后在敲命令做相关的实验,这样会比较好学,给个很简单的Cisco PT的实例教程,跟着上面敲一遍理解交换和路由理论。***你也可以看看IE。

武汉-华子-运维:Dynamips,Boson NetSim,GNS3,Cisco设备模拟哪家强?有没有可以同时模拟Cisco和华为多厂家的?

广州-狄钦dQ-PHP:没有一个模拟器可以模拟所有的,掌握理论才是最重要的。PT是思科官方模拟器,图形化前端,简单易用,目前比较流行的有GNS, Dynamips。

您对这些解答方案是否仍有疑问?欢迎加51CTO开发者QQ交流群 312724475 讨论。

下期活动预告:5月9日

关键词:智能客服、深度学习、移动、云平台

活动回顾挨踢部落***期:Spark离线分析维度

挨踢部落第二期:大数据在医疗领域的应用和实践

挨踢部落坐诊第三期:Python在大数据处理上的优势分析

51CTO开发者交流群②群 312724475

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

责任编辑:何星 来源: 51CTO
相关推荐

2017-04-07 16:44:43

开发者

2017-11-29 13:32:45

开发者管理员招募

2018-01-22 17:37:59

开发者故事IT技能职场经验

2017-09-06 17:24:16

2017-05-09 14:15:27

大数据来源数据安全云计算

2017-10-19 15:02:31

PythonHadoopWeb

2018-03-22 13:33:25

GithadoopPython

2017-06-07 15:16:35

2017-08-09 17:56:01

AIDL项目管理系统Java入栈出栈顺序

2017-12-19 15:35:00

集群JavaMySQL

2017-11-09 18:10:28

APPH5

2017-02-15 17:12:52

2018-05-23 11:10:39

技术坐诊

2018-05-23 15:24:50

技术坐诊

2018-01-31 09:52:27

gitJavaMySQL

2018-04-23 14:43:51

微服务PHPMySQL

2017-11-17 10:10:51

2018-06-22 16:12:53

2017-07-11 15:47:14

PythonPHP FC

2018-07-17 11:34:50

技术坐诊
点赞
收藏

51CTO技术栈公众号