ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

深度优先搜索(DFS)是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。

隔一程山水,你是我不能回去的原乡,与我坐望于光阴的两岸。

  彼处桃花盛开,绚烂如满天凄艳的红霞,你笑得从容,而我却仍在这里守望,落英如雨,印证我佛拈花一笑的了然。爱,如此繁华,如此寂寥。

  起身,然后落座,知道与你的缘分,也只有这一盏茶而已。结局早已先我抵达,蛰伏于五月的一场雨,十分钟,或许不够一生回忆,却足以使所有年华老去。

  五月的天空泼满青釉,你瓷青的衣襟在风里飘拂。阳光遍地,你信手一捧,放进我手里,说:“我爱你!”三字成谶,我被你一语中的。从此,沉重的枷锁背负在我每个梦境,明知无望,却固守着仅存的坚持,以为,终究可以将你守候成最美的风景。

Spring 5 是流行的 Spring 框架的下一个重大的版本升级。Spring 5 框架所包含的内容很多,本文只重点介绍其中新增的 WebFlux 模块。开发人员可以使用 WebFlux 创建高性能的 Web 应用和客户端。本文对 WebFlux 模块进行了详细介绍,包括其中的 HTTP、服务器推送事件和 WebSocket 支持。

WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。该模块中包含了对反应式 HTTP、服务器推送事件和 WebSocket 的客户端和服务器端的支持。对于开发人员来说,比较重要的是服务器端的开发,这也是本文的重点。在服务器端,WebFlux 支持两种不同的编程模型:

+ Spring MVC 中使用的基于 Java 注解的方式;
+ 基于 Java 8 的 lambda 表达式的函数式编程模型

这两种编程模型只是在代码编写方式上存在不同。它们运行在同样的反应式底层架构之上,因此在运行时是相同的。WebFlux 需要底层提供运行时的支持,WebFlux 可以运行在支持 Servlet 3.1 非阻塞 IO API 的 Servlet 容器上,或是其他异步运行时环境,如 Netty 和 Undertow。