| |
NCache Features
Below are some features of
NCache 3.2. Have a look at them:
Light-weight .NET Client
NCache now has a light-weight
client that is more scalable and
faster than 3.0. This
light-weight client uses our own
socket level
protocol to talk to NCache server
(either locally or remotely).
Light-weight Java Client
NCache does not rely on any
Java-to-.NET interoperability
bridge and instead uses its own
socket level protocol to talk to
the
NCache server (just like the .NET
light-weight client). Now you
can have your Java applications
use NCache as a clustered object
cache. This protects your investment
in NCache and allows you to keep
one cache deployed and used by
multiple applications. Java
client works the same way as .NET
client. The Java client can run
on any Java compatible platform.
Failover in
Remote Light-weight Clients
Both Java and .NET light-weight
clients have failover
capability. This means that if
the primary server they’re
connected to goes
down, they’ll automatically connect
to another server in the
cluster. And, you can specify
the priority of these servers
for each client
differently. Additionally, when new
servers are added or removed at
runtime, this information is
passed on to the remote clients
so
they can use them for failover as
well.
Security
NCache now provides security
with authentication and
authorization built into the
product. Authentication is done
through LDAP.
NCache allows you to specify
administrators and users.
Administrators can manage the
cluster while the users can only
make
runtime API calls to a specific
cache.
Application
Connects to Multiple Caches
NCache client applications can
now connect to multiple caches
simultaneously. This allows you
to keep multiple caches for
different
purposes and share them across
applications more effectively.
Multi-key Event Notifications
Applications can register
interest into multiple items in
the cache to be notified when
they’re updated or removed.
Then, whenever
these items are updated or removed,
the client application is
notified anywhere in the
cluster.
Synchronize Items in
Multiple Caches
A new cache dependency
called CacheSyncDependency
is added that allows items
in one cache to be dependent
on items in another
cache. This way, for example, you can
have a Local Cache that
keeps items frequently used
by your application and a
Clustered
Cache that keeps a larger number of
items being shared with
other applications. And,
your local items are kept
synchronized with
the clustered cache so you never have
any data integrity problems
while improving your app
performance even further.
Cluster
Management Events
NCache fires events whenever a
node joins or leaves the cluster
or when a client finds that its
server has gone down and it now
needs to connect with another server.
You can write hooks for these
events and take appropriate
actions when these events occur.
Cache
Management API
You can now manage the cache
through and API (in addition to
NCache Manager and command line
tools). You can start or stop a
cache from an API now.
Multiple
Cache Instances on same Server
(TCP Port Range)
You can now run multiple cache
instances (as InProc) on the
same server without any port
conflict. Now, you can specify a
range of
TCP ports to be used for cache
clustering instead of only one
port previously. This way,
multiple instances of the cache
can run with
each instance using one port.
Callbacks
for Async operations
You can now specify a callback
for AddAsync, InsertAsync, and
RemoveAsync operations. This
callback is called when the
operation
completes either successfully or with
a failure.
Performance
Improvement to Partitioned Cache
with Replicas
NCache has now optimized
communication in the cluster for
this topology.
Native .NET Clustering
NCache developed natively in
.NET
Truly scalable peer-to-peer
multicasting clustering
Automatic and transparent node
failure recovery
On the fly addition and removal
of servers
Caching
Easy to understand API
Same API for Local or Clustered
environments
Cache configuration through a
graphical tool (NCache Manager)
Fixed or variable sized cache
Time-to-live expiration of cache
entries
Fixed-time expiration of cache
entries
Idle-time expiration of cache
entries
Least-Recently-Used (LRU),
Lease-Frequently-Used (LFU), and
Priority based Eviction Policies
Expired Items Resynchronization
SQL and OleDB Cache Dependency
Support for custom dependencies
Event Notifications in Local and
Clustered environments
In-process and out-of-process
cache configurations
Heap, raw memory, memory mapped
file, and file based storage
options.
Intelligent relationship
management through File and Key
based dependencies
Read-through and Write-through
caching
High performance Write-behind
caching
Clustered Location Transparency
Clustered Lock Management
Clustering Options
Replicated Cache
Partitioned Cache
Client Cache
Data-less Nodes
UDP and TCP based Cluster
HTTP Clustered Session
Management
Maintain and synchronize session
state throughout a server farm
Users can now move from server
to server on each http request
Achieve optimum load-balancing
(no more sticky sessions needed)
No single-point-of-failure due
to sophisticated clustering
topologies
Built on top of NCache
clustering to true in-memory
performance
Same API as Clustered Session State
GUI Based Cache Configuration
NCache Manager is a Windows GUI
Create and manage Local Cache or
Clustered Cache from it
View rich statistics on the
entire clustered cache from a
single point
Change clustering topology
without affecting the client
application
Add or remove nodes from the
cluster at run-time
|
|