月度归档:2016年06月

Kafka 基本的使用和生产环境集群配置,包括 0.10 的 Java API 使用

最近用 Kafka 和外部系统进行数据交换,性能还是比较喜人的,问题也遇到一些。

Kafka 是什么网上有很多文章介绍,就不重复了。Kafka 是用 Scala 编写的,经过尝试 Kafka 的性能令人满意,但到现在,我还是有一些疑问的。
在某些场景下,我希望单条记录 commit,感觉就有些不适合了。
Topic 的历史的数据在什么情况下会删除,也不太清楚。

这次遇到了几个问题。

1. Java API 的使用,Kafka Doc 上关于 Java API 的使用一笔带过,没想到具体的使用方法文档,在 Kafka 的 Java Doc 上面,直接看就行了。
2. listeners 一定要写上 host 或 ip,否则本地用得挺好,远程的 producer 和 consumer 就不能用了。
3. 关于 zookeeper 的,最好用 Kafka 自己带的版本,比如带的是 3.4.6,用 3.4.8 的,Kafka 都连不上。

用的时候,务必先创建好 Topic,比如设置好的 partitions 和 replication-factor,一旦连上又有不停的消息进入,就没办法改了,只能停掉 producer 和 consumer 才能改。

iOS 不越狱,4G 下如何使用代理

相信很多人都有在 4G 下使用代理翻墙的需求,但郁闷的是,iOS 在 4G 下面是无法设置代理的,这就让很多类似 Suger 的应用火起来了,比如小火箭 Shadowrocket,能够在本地创建一个 vpn 并通过 ss 连到外面去。

其实 4G 下,是有办法设置代理的。设置的方法就是 iOS 的 profile,中文叫做描述文件。
这个描述文件其实是个 xml,也就是说,完全可以手写的。要按照下面那个文档

https://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html

不过手写也太累了吧,有 Mac 的同学,可以去 Mac App Store 安装一个 Apple Configurator 2,可以可视化编辑,并保存成 mobileconfig 文件。打开 iOS 的 Safari 访问这个文件,就可以安装 profile 了。

mobileconfig

如上图,蜂窝移动网络,就是配置 4G 下的代理了。但是,在这里无法配置 pac 的,如果想用 pac,那就麻烦了,需要用全局 http 代理配置,但是那个配置是需要你的 iOS 在“已监督”状态下的,相当于可控状态。一台普通的手机想变成“已监督”状态,要清空数据重新刷机的,所以就不搞了。

这个文件可以使用 openssl 再签名一下,因为都是自己使用,这个步骤就没有用过了。