Just a second...

What's new in Diffusion 6.3?

The latest version of Diffusion™ contains new features, performance enhancements and bug fixes.

A complete list of the latest updates and known issues can be found in the Release Notes available at http://docs.pushtechnology.com/docs/6.3.8/ReleaseNotice.html.

Topic views

A topic view is a rule that maps one part of the topic tree to another. By applying a topic view, you can have the server do the heavy lifting to transform topic data to a form that suits subscribing clients. Topic views reduce or remove transformation processing that was previously required in application updater code.

A topic view can simply re-present topics under a different path, or take advantage of one or more advanced transformations including:

  • Adjusting topic properties so the mapped topics behave differently. For example, compression and conflation options can be tuned.
  • Transforming the topic value. In this release, a view can extract a part of a JSON topic value. Further transformations are planned for future releases.
  • Deriving the target path from part of a JSON topic value. Doing so effectively creates a secondary index on the value.
  • Throttling the update rate to reduce the rate of data sent to subscribers. Topic updates are automatically conflated on the server.

Topic views can be added using any of the Diffusion client libraries using a new API, or defined by an administrator using the Diffusion console. Topic views are persisted by the server, so they survive server restarts. If the server belongs to a cluster, topic views are automatically replicated to the other members of the cluster.

New server metrics

The set of metrics published by the server has been completely redesigned. The new metrics are published to the developer console, JMX, and the Prometheus gateway (Prometheus is only active if you have a Community Evaluation licence or a commercial licence with Scale & Availability).

Highlights include new metrics for the number of connected sessions, session-related messages and bytes (inbound and outbound), total network bytes (inbound and outbound), topic data size, topic subscriptions, topic subscribers, topic updates, and topic subscriber updates. Log event metrics are now broken down by log level and code.

Session metric collectors can be configured to record metrics for subsets of the sessions. Each session metric collector specifies the target sessions using a session filter, and the metrics can be further partitioned by an arbitrary list of session properties. Topic metric collectors can be configured to record metrics for subsets of the topics.

Each topic metric collector specifies the target topics using a topic selector. The metrics can optionally be further partitioned by topic type. Like server-level metrics, collected metrics are published to the console, JMX, and (optionally) the Prometheus gateway. Metric collectors can be defined using the console or JMX. The server will be persist the configuration, so the metric collectors will be recreated if the server is restarted. If the server belongs to a cluster, the configuration will be replicated across all members of the cluster.

See Metrics and Configuring metrics for full documentation.

To try out Prometheus support, visit the Diffusion Community Site at community.pushtechnology.com and request a Community Evaluation licence.

Console refresh

The topic tree browser has been updated for ease-of-use, and now presents topic properties and the applicable security permissions. Topics can be added and deleted from the console.

New console views have been added for topic metrics, session metrics, and log metrics. Topic metric collectors can be configured directly in the console. Topic views can be listed, added, and updated in the console.

See Diffusion monitoring console for an overview of the console and instructions on how to access it.

Security and authentication replication

Changes to system authentication and security configuration stores are now automatically replicated across a cluster of Diffusion servers.

Client improvements

The TypeScript bindings for the JavaScript library have been refreshed.

The JavaScript API documentation has been significantly improved.

The new-style Authenticator API has been added to the JavaScript library. Using this, authentication handlers deployed to node.js gain the same abilities as .NET and Java and can set and override the session properties of authenticated sessions.

The C library now supports time series topics and the change roles API.

The Apple library now supports session locks, the Diffusion 6.2 update API enhancements, and client proposed session properties.