月份:2016年9月

Thrift代理Hbase

使用HBase的2种方式: 1.直接使用HBase客户端API,这样就限制了只能使用java语言 2.使用一些能够将请求转换成API的代理,这些代理将原始Java API包装成其他协议,这样客户端可以使用API提供的任意外部语言来编写程序。外部API实现了专门基于java的服务,而这种服务能够在内部使用由HTable客户端提供的API。 HBase本身对代理模式的支持也很广泛,比如支持的类型有:REST、Thrift、Avro等 关于代理的模式,可以看一张网上的架构图: 这里主要介绍一下Thrift作为HBase的代理对外提供服务,主要是Thrift在性能上的优势以及对各种主流语言的支持 1….

阅读全文 »

Java Instrumentation 热替换

使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了。 网上的基于Instrumentation的说明有很多,不想做过多的介绍,下面基于项目中遇到的一些需求,做的一个简单的例子。 做的项目是一个手机网络游戏,游戏的业务变更性很强,特别是项目开发中以及项目上线后的前…

阅读全文 »

Shadowsocks_Netty

基于netty4.0的shadowsocks客户端 使用 1.maven打包,生成shadowsocks-netty-0.0.1-SNAPSHOT-bin.zip包 2.解压zip包,conf/config.xml中配置shadowsocks服务器地址 3.执行shell文件夹中的bat/sh文件启动代理服务器 chrome代理设置 需要安装Proxy SwitchySharp插件,然后设置socks代理,指定本地代理服务器就行了 firefox代理设置 firefox自带设置socks代理功能,直接设置就行了 更多:http://codingo.xyz/index.php/2016/09/0…

阅读全文 »

Eclipse远程连接Hbase

安装Hadoop和Hbase hadoop和hbase版本的选择以及安装,参考之前的文章: Hadoop的版本选择和单机模式:http://codingo.xyz/index.php/2016/08/16/hadoop-stand-alone/ Hadoop的伪分布式模式:http://codingo.xyz/index.php/2016/08/16/hadoop_false_distribute/ Hbase版本选择和单机模式入门:http://codingo.xyz/index.php/2016/08/17/hbase_standalone/ Hbase的伪分布式模式:http://cod…

阅读全文 »

Netty实现Shadowsocks客户端

Shadowsocks是什么 shadowsocks是基于socks5协议实现的代理方式,分为服务器和客户端,双端之间通过使用指定的加密方式(AES,BlowFish,Table等)进行数据传输,有效的突破了GFW。 整个流程可以看来自网上的一张流程图: 总体流程大致如上图所示,具体实现细节后面会介绍,今天要实现的是SS Local这个模块,数据传输都是基于socks5协议,所以有必要先了解一下socks5协议。 socks5协议 SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器…

阅读全文 »