ElasticSearch学习笔记
Elasticsearch是一个基于Apache Lucene的全文检索和分析引擎,可以扩容到上百台服务器,处理PB级结构化/非结构化数据。
ES的应用场景举例:
- 支持在线搜索、自动完成(搜索建议)功能
- 作为ELK栈的一部分,收集、聚合、分析日志/事务数据
- 海…
Dubbo知识集锦
节选自:https://dubbo.apache.org/zh-cn/blog/rpc-introduction.html,稍作改动。
RPC(Remote Procedure Call)即远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供…
阅读全文基于EFK构建日志分析系统
Fluentd是一个C编写的开源的日志收集器,支持100+不同系统的日志收集处理。
定义Fluentd的输入,需要指定一个输入插件。例如:
|
1 2 3 4 5 6 7 |
<source> # 使用什么插件 @type http # 你可以这样推送日志:http://localhost:8888/tag.name?json={...} port 8888 bind 0.0.0.0 </source> |
定义了一个HTTP输入。Fluentd会在8888端口上监听,等待外部传入事件。事件的例子:
|
1 |
curl -i -X POST -d 'json={"action":"login","user":2}' http://localhost:8888/test.cycle |
source捕获到的Fluentd事件,交由Fluentd路由引擎处理。
多个filte…
阅读全文Spring Cloud学习笔记
Spring Cloud是一整套的解决方案,它提供的工具让你能够快速实现某些分布式系统组件,包括:
- 配置管理:分布式、版本化的配置
- 服务发现:服务注册和发现
- 断路器
- 负载均衡
- 智能路由
- 微代理
- 控制总线
- 一次性Token
- 全局锁
- 领导选举和集群状态
- 分布式会话
- 分布式消息…
Log4J2学习笔记
Apache Log4j 2是Log4j的重大升级, 引入了Logback包含的大量改进,并修复了Logback架构中某些内在的问题。Log4j2的特性包括:
- API和实现分离:接口更加稳定
- 性能提升:使用基于LMAX Disruptor库的异步日志机制。…
基于Broadway的HTML5视频监控
Broadway是一个基于JavaScript的H.264解码器,支持Baseline Profile,我们在HTML5视频监控技术预研一文中介绍过这个库。如果你的监控摄像头支持Baseline的H.264码流,利用Broadway可以实现不需要重新编码的视频监控,这样服务器的…
阅读全文WebSocket协议
WebSocket是一种全双工(full-duplex)的双向通信技术,它依赖于单个套接字。使用WebSocket之后,HTTP连接升级为TCP长连接,可以被反复使用以传输数据。WebSocket连接可以在HTTP或者HTTPS之上启动。
WebSock…
阅读全文基于C/C++的WebSocket库
libwebsockets是一个纯C语言的轻量级WebSocket库,它的CPU、内存占用很小,同时支持作为服务器端/客户端。其特性包括:
- 支持ws://和wss://协议
- 可以选择和OpenSSL、CyaSSL或者WolfSSL…