Kafka REST Proxy

一、业务场景需求

某公司A,需要把游戏日志传给另外一家公司B。架构大致是,游戏服务器把日志传到kafka消息队列,kafka在到es进行数据分析。由于服务器是公司B自己提供,公司A就需要提供一个外网接口让对方把数据写到云ukafka。 由于ukafka只有内网IP,zookeeper中只能注册一个地址,通过nginx代理或者ssh端口转发都不能做到外网正常使用,除非节点本身有外网IP。这个时候就需要用到Kafka REST Proxy。

概述

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。

Charles的主要功能:

  • (1)截取Http 和 Https 网络封包。

  • (2)支持重发网络请求,方便后端调试。

  • (3)支持修改网络请求参数。

  • (4)支持网络请求的截获并动态修改。

  • (5)支持模拟慢速网络。