回到首页

输入关键词,多个关键词用空格分隔。

← 云计算课程 · 系列目录

云计算 Twitter 语料分析 4 Heartbeat 与 Authetication

约 2 分钟
本页目录

前面两课我们已经配置好了基本的环境,之后的任务都会在前面的基础上完成。因为主要会使用 undertow,所以我们制作了自己的镜像,用于对比的 vertx 则仍旧会以手动的方式进行配置。


准备工作

因为没有制作对应的镜像,所以需要重新配置一次,不过这次为了性能考虑,直接开启一个 m4.large,注意需要打上 15619project:phase1 标签。正常开启(记得要用小组的帐号)之后我们用Vert.x 配置部署的步骤配置好基本的环境并检测运行,确认无误后可以继续。

这一部分的任务比较简单:每个请求都包含 key Y 和一段由 key Z 加密的文本,我们进行解密之后返回指定格式的内容(具体可以参考这里)

项目日志

大概说一下步骤以及需要注意的地方:

要弄清楚 vert.x 如何处理诸如 address/q1?key=40845969093821&message=URYEXYBJB 的请求,并在代码中获取到这两个参数:

获取参数

然后需要生成一个时间戳,并按照这里 介绍的解密步骤还原出具体信息。

我们组把这部分功能代码封装成了一个类,使用的时候只需要传入 key 和 message 即可,而不用操心具体的算法问题(其实就类似于一个面试的算法题)。

然后我们按照具体的返回格式返回即可,类似下图

返回结果

这里有一点需要注意,每次会发送两次 GET 请求(其中一次是请求 favicon 的),要注意做一下错误处理,不然会报错,这还挺奇怪的,我用 safari 就没事,但是用 chrome 就不行,chrome 第二次请求就不带参数了,但是 safari 会带。

后来这个问题改成 80 端口即可,不过需要先 sudo su 才能监听。

因为这部分只是用来对比评测,所以没有进一步优化,大概能跑到 2W RPS 左右,而且是纯单线程,延迟会比较大,不过之后主要会在 undertow 上做,所以这里就不进一步优化了。

相关文章