.Net Core 自发布以来广受关注,基于其开源与跨平台的特性,可以预见其在 web 开发领域越来越受青睐。现在,Apache Storm 的 .Net Core 版本的适配器正式发布,你现在也可以使用 .Net Core 开发 Topology,实现分布式跨平台的实时计算。
storm-net-adapter 现在已经更新到 2.0.4,增加了对 .Net Core 的支持,并对之前存在的例如输出复杂日志时的 BUG 进行了修复;由于目前 Thrift 的适配暂时还未完成,因此还无法使用 DRPC 的特性。同时,Storm 集群的 Docker 的镜像编排也已经集成了 .Net Core ,你可以通过 storm-mono-docker 获取到它。
.Net Core 玩转 Storm 的首要条件当然是安装 .Net Core 的开发环境啦,你可以通过以下地址查看如何安装:.Net Core 。
然后使用命令创建新的 .Net Core 项目:
mkdir StormSample
cd StormSample
dotnet new
在项目中添加 Storm.Net.Adapter 引用:
"dependencies": {
"Storm.Net.Adapter": "2.0.1"
}
接下来增加业务代码,继承 ISpout 和 IBolt,实现接口方法,在 Main 方法里实现调用方法,具体代码可以参照 StormSample 。
在 Java 端增加调用 .Net 代码的 Topology;
如果需要运行在 Windows(.Net Framework) 平台下通过如下代码调用:
super("cmd", "/k", "CALL", "StormSimple.exe", "generator");
在 Linux, Mac OSX, Windows(mono) 下通过如下代码调用:
super("mono", "StormSimple.exe", "generator");
在 Linux, Mac OSX, Windows(.net core) 下通过如下代码调用:
super("dotnet", "StormSimple.dll", "generator");
使用 Maven 打包 Java 项目,通过 storm jar 命令提交:
$ storm jar storm-starter-*.jar org.apache.storm.starter.WordCountTopologyCsharp wordcount
你就可以看到如下熟悉的界面咯:
接下来需要完善与实现的任务还很多,项目的发展需要得到广泛的关注与支持;如果你觉得这个项目对您有帮助,欢迎在 GitHub 给出 Star ,项目地址:storm-net-adapter ,或者转发文章支持一下!
本文来自 The NewIdea,作者 Carey Tzou 。
永久地址:https://www.tnidea.com/using-storm-at-dotnet-core.html
未经授权,拒绝任何全文及摘要转载!