Crossbar.io is an open source networking platform for distributed and microservice applications. It implements the open Web Application Messaging Protocol (WAMP), is feature rich, scalable, robust and secure. Let Crossbar.io take care of the hard parts of messaging so you can focus on your app's features.
Powering the Internet-of-Things ¶
Crossbar.io is powering Internet-of-things applications. Here is an illustration of how Crossbar.io connects devices, systems and people:
Steps
- 00. Clients connect to Crossbar.io
- 01. Clients subscribe to "temperature"
- 02. Fan registers "start/stop fan"
- 03. Motor temperature rises.
- 04. Sensor publishes "temperature"
- 05. "temperature" event dispatched
- 06. Backend calls "start/stop fan"
- 07. "start/stop fan" invoked
- 08. Motor temperature falls.
- 09. Sensor publishes "temperature"
- 10. "temperature" event dispatched
- 11. Backend calls "start/stop fan"
- 12. "start/stop fan" invoked
Networking for Apps & Devices
With Crossbar.io you can create distributed, multi-language applications where components communicate using Publish & Subscribe and routed Remote Procedure Calls.
See what application components look like!
Security is Key
We believe that security is of prime importance.
We also know that security is a process, not an outcome.
We think about security every step of the way, from protocol and software design to making fast deployment of bugfixes possible.
Attack Surface Minimization
There are no open ports on end devices, but on the Crossbar.io router. Securing, defending and updating this is much easier than for potentially millions of devices.
Secure Authentication
Crossbar.io has multiple authentication mechanisms to suit your needs, including authentication via elliptic curve keys - as well as the possibility to use your own dynamic authentication component.
Fine-Grained Authorization
There is fine-grained authorization of clients at the level of individual client actions - as well as the possibility to use your own dynamic authorization component.
Up-To-Date Components
We only use up-to-date cryptography, remove broken ciphers from the default configuration and keep our project dependencies current.
Fast Fixes, Fast Releases
Fixes of security-related issues have absolute priority. Out tooling allows for very quick releases, so that fixes arrive quickly to our users.
End-to-End Payload Encryption
End-to-end payload encryption can protect your application data even against a compromised router. (alpha status)
Fast and Scalable ¶
The cursors in the areas below are synchronized via a Crossbar.io instance running in the cloud:
Depending on the hardware, a single Crossbar.io instance
- can hold hundreds of thousands of concurrent WAMP connections
- can handle tens of thousands of messages/second
Multiprotocol & Open Standards
Crossbar.io uses open standards.
It's core is the powerful open WAMP protocol, which takes care of all the connection needs between your application components.
For interactions with existing services and components, currently two other open standards are supported:
REST bridging
Configure mappings between REST messages and WAMP messages.
Covers all four WAMP interactions:
- Call REST services via WAMP,
- trigger procedures on WAMP clients via REST calls,
- publish based on REST calls and
- send REST calls based on events.
MQTT broker
Full MQTT broker as a replacement for your existing broker.
Automatic mapping of MQTT to WAMP topics. WAMP publishes are received by MQTT subscribers and vice versa.
Open Source Ecosystem
Everything you need for an application connected with Crossbar.io is open and freely accessible.
There is an ecosystem of open-source software around the WAMP protocol. This means being able to choose the right solution for your use case, no vendor lock in and the possibility to fix and extend things yourself.