storm简介

storm是什么?

  • 免费、开源、分布式、高容错的实时计算系统;
  • 支持每秒每个节点百万tuple的实时处理;
  • supervisor 无状态(状态都保存在ZK或者磁盘上)和快速失败(每当遇到任何意外情况进程自动毁灭)的,因此supervisor的失败不会影响当前正在运行的任务,只要及时将他们重新启动即可;

远程执行和远程分发bash脚本

关于bash脚本的四种执行模式以及环境变量加载顺序的说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 登陆机器后的第一个shell、通过ssh登陆到远程主机
# 配置文件的加载顺序:
/etc/profile(一定加载)
~/.bashrc(.bash_profile文件存在则加载)
~/.bash_profile(以下三个文件按顺序加载,一旦找到并加载其中一个便不再接着加载)
~/.bash_login
~/.profile

# 新启动一个shell进程如运行bash、远程执行脚本如ssh user@remote script.sh
# 配置文件的加载顺序:
~/.bashrc

# 执行脚本如bash script.sh、运行头部有如 #!/bin/bash 或 #!/usr/bin/env bash的可执行文件
# 配置文件的加载顺序:
寻找环境变量BASH_ENV,将变量的值作为文件名进行查找,如果找到便加载它

Zookeeper简介

概述

ZK是啥?

Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:
是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一
旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而
实现集群中类似Master/Slave管理模式。Zookeeper=文件系统+通知机制

Java 工具类之获取客户端 IP

如果你的应用部署在 Nginx 后面,你必须确保 Nginx 配置了头部转发,否则 IpUtils 拿到的永远是 Nginx 所在的内网 IP。

1
2
3
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;