What's new in Apache® Ignite™.NET 2.0

What's new in Apache Ignite.NET 2.0Apache® Ignite™ 2.0 was released last week. The changes on the Java side are tremendous, but Ignite.NET has some cool things to offer as well. Let's take a closer look.

# Dynamic Type Registration

There's no need for anymore for BinaryConfiguration. Types are automatically registered within the cluster. All serialization is now performed in Ignite Binary Format which enables all Ignite features like SQL and Binary Mode. This includes [Serializable] types with and without ISerializable interface.

Docs: https://apacheignite-net.readme.io/docs/serialization

# Plugin System

Apache Ignite 2.0 exposes its existing Java-.NET interoperation subsystem in the form of plugins so that anyone can extend Ignite.NET with new functionality.

Docs: https://apacheignite-net.readme.io/docs/plugins

# ASP.NET

A number of improvements have been made to address the issue with the IIS application lifecycle.

Docs: https://apacheignite-net.readme.io/docs/deployment#section-iis-application-pool-lifecycle-appdomains-and-ignitenet

# LINQ

As usual, the Apache Ignite LINQ to SQL engine continues to improve. All limitations with splitting queries into multiple statements or joining multiple subqueries into one have been addressed.

# Other Improvements

  • Types are now mapped using Type.FullName instead of Type.Name during serialization, which reduces the chance of conflict. However, this affects Java interoperability.
  • ICacheStore is now generic. This provides a cleaner API and removes boxing/unboxing overhead.
  • Java and .NET nodes can join with default configs, no extra steps required.
  • F# record types serialization is fixed, so that SQL works as expected (I have plans for ‘Ignite.NET in F#’ blog post).

The full release notes can be found here: ignite.apache.org/releases/2.0.0/release_notes.html

Questions or comments? Please post them below! And I welcome you to also checkout my personal tech blog.