最近在搭一套soa, 服务使用java/scala 的finagle 协议使用thrift
然后 finagle默认服务端会是使用zookeeper作为节点存储。。
所以想要访问具体服务,需要先通过zk服务器获取服务期集群列表,然后通过负载的算法,命中服务器
finagle服务通过thrift协议实现了多语言的跨平台的优点。在java端 finagle提供了基础的client 负载算法 集群读取 等等。。而C#端。。呵呵
于是需要自己去实现 C#端的 zk读取 负载 以及 thrift访问。
不过还好C# 端 有 zookeerker.net 但是 nuget上市2014年5份更新的。。使用时经常抛 ConnectionLossException 异常。。
于是尝试从git 下载重新编译 发现。。作者已经解决这问题了 鼓掌。(勘误 还是会发生但是 可以通过 检测连接 状态判断。等待连接正常后在调用GetNode()方法);
额。。废话不多说了。。
1、首先下载 项目 git地址:https://github.com/ewhauser/zookeeper
2、安装 ant http://ant.apache.org/bindownload.cgi
3、配置ant :
ANT_HOME:C:\apache-ant-1.9.2
PATH:%ANT_HOME%\bin;
4、进入下载的git项目文件夹中 cmd 输入 ant
5、等显示 成功后 重新编译C#即可