Archive
Getting Started with Microsoft Orleans
We .NET developers already know that .NET is rich on the client side development. A lot of library and framework on this space. However .NET community is lack of the highly scalable server side application or distributed computing. However Microsoft Orleans and Akka .NET comes into .NET world to bring hope and make .NET exciting again. We will dive in into how to setup client and server application with Microsoft Orleans in this blog post.
Microsoft Orleans is framework for building distributed system with Actor model. It have a simple programming approach that make it easier for all level of developer to build the software. It also has a great documentation and step by step tutorial. However i have difficulties on setting the orleans silo ( server ) to be accessed from the remote computer. Here’s how we can do that.
I assume that you have already follow the tutorial on Step by step tutorial especially the first three post.
Zookeeper C# Client with IKVM .NET
Why ?
A lot of big data technology created with JVM. The language are vary from plain old Java, Scala and Clojure. There are a huge number of Apache project for this kind of stuff. The infrastructure for building a serious data product is amazingly mature in Java world.
The server is in Java . Ok. fine. But do we have to code in Java too ? At least as a client using the server ?. I know that JVM is awesome, but the language is not so well compare to C#. Especially the latest one C# 5. But for now we have to admit that .NET world is very lack of Server solution.
I always try to find a client library in C#/.NET but seems that it’s not really mature or has been already dead before birth. I will give you an example for this one.
Zookeeper is for the distributed zoo
Zookeeper has been used as a distributed process control. If you still remember the operating system 101 about process, threads, inter-process communication so this one should be easy for you to learn. If you familiar using lock or any synchronization mechanism like mutex, semaphore etc, just think this as way to do to coordinate multiple server synchronization. And it’s only expose a simple primitive like a file system. This is amazing and flexible. At the same time also make you do a lot of works to get the stuff working.
So we know that Zookeeper is good, it used by a lot of big data technology like Storm, Kafka, etc. So we need to find a client library to use it right ? Good luck finding it for .NET. There are a couple of library for doing that stuff but it’s either old or not up to date.
A couple of sample of that kind of library is :
https://www.nuget.org/packages/ZooKeeper.Net/
https://www.nuget.org/packages/ZooKeeperNet/