Simplify Event-Driven Development with NixBus
Secure, robust, and efficient event bus over HTTP. Empower your microservices architecture with ease.
import { getNixBusHttp } from '@nixbus/event-bus'
const nixbus = getNixBusHttp({
token: 'your_token',
passphrase: 'your_passphrase',
})
// subscribers
await nixbus.subscribe('event_type', {
id: 'subscriber_id',
action: async (event) => {
console.log(`subscriber_id:`, event)
},
config: { maxRetries: 3, timeout: 10, concurrency: 5 },
})
// publishers
await nixbus.publish({
type: 'event_type',
payload: { welcome: 'to the event bus' },
})
// run the event bus
nixbus.run()
Accelerate Development
Elevate Your Event Handling
NixBus simplifies your event-driven architecture, ensuring robust and efficient inter-service communication. Our solution integrates seamlessly, allowing you to decouple your application services and adhere to SOLID principles without the overhead of traditional event bus systems.
- Simple Integration
- Easily integrate NixBus with your existing infrastructure using our NPM package or HTTP API.
- Secure Communication
- All data is encrypted end-to-end, ensuring your events are safe and secure.
- Scalable and Flexible
- Whether you're running a small application or a complex microservices architecture, NixBus scales with your needs.
- In-Memory Option
- For smaller applications, use the in-memory event bus to avoid the complexity of persistent storage.
See how it works
Get Started with NixBus
NixBus works seamlessly with your existing infrastructure. It's a simple, secure, and efficient event bus that allows you to decouple your services and build a robust event-driven architecture. Get started in just a few steps.
- Install NixBus
Install
@nixbus/event-bus
via npm.npm install @nixbus/event-bus --save -E
- Get and run your event bus
Create your
event-bus.ts
file. Get your HTTP event bus with your token and passphrase, subscribe to your events, and run the event bus.import { getNixBusHttp } from '@nixbus/event-bus' async function main() { const nixbus = getNixBusHttp({ token: 'your_token', passphrase: 'your_passphrase', }) await nixbus.subscribe('event_type', { id: 'subscriber_id', action: async (event) => { console.log(`subscriber_id:`, event) }, config: { maxRetries: 3, timeout: 10, concurrency: 5 }, }) nixbus.run() } main().catch(console.error)
- Publish events
Anywhere in your application
app.ts
, publish events to the event bus.import { getNixBusHttp } from '@nixbus/event-bus' async function runYourApp() { const nixbus = getNixBusHttp({ token: 'your_token', passphrase: 'your_passphrase', }) await nixbus.publish({ type: 'event_type', payload: { welcome: 'to the event bus 0' }, }) // Simulate a delay before publishing another event await new Promise((resolve) => setTimeout(resolve, 2000)) await nixbus.publish({ type: 'event_type', payload: { welcome: 'to the event bus 1' }, }) } runYourApp().catch(console.error)
- Run your event bus
Run your event bus.
tsx event-bus.ts
- Run your application
Run your application and see the magic of event-driven architecture in action.
tsx app.ts
Choose Your Token, for everyone.
Streamlined Event Management Tailored to Your Needs
One token, one time payment.
Top up event reserve any time you need.
Free
Free
- Standard Access: 500 events for daily use
- Event Reserve: 50000 events (use any time)
- Event Retention: 3 days
- Subscribers: Up to 5
- Token Validity: 1 month
Pro
15 €
- Standard Access: 2500 daily events
- Event Reserve: 500000 events (use any time)
- Event Retention: 7 days
- Subscribers: Up to 15
- Region Selection: Choose the region (e.g., London, Los Angeles, more coming soon) where your events are stored to ensure low latency and faster processing
- Token Validity: Never expires
Custom
Contact us
- Custom Access: Tailored daily event usage and reserve
- Direct Support: Customized plan with sales team
- Flexibility: Ideal for high-demand environments
How It Works
Standard Access: Daily event usage limit.
Event Reserve: Additional events for when daily limit is exceeded. Use any time.
Daily Reset: Standard access events reset daily.
Frequently asked questions
If you can’t find what you’re looking for, please email our support team. We’ll do our best to get back to you as quickly as possible to assist you with your queries.
- What is NixBus?
- NixBus is a secure, robust, and efficient event bus over HTTP, designed to simplify event-driven development.
- How do I integrate NixBus into my project?
- Install our NPM package with
npm install @nixbus/event-bus --save -E
and follow our documentation for setup. - Is my event data secure?
- Yes, NixBus encrypts your event data both in transit and at rest.
- What are the different token options available?
- We offer Free, Pro, and Custom tokens with varying levels of event access and subscriber support.
- Can I monitor my event usage?
- Yes, our dashboard allows you to monitor event usage and track performance.
- How does NixBus handle retries for failed events?
- NixBus includes a retry mechanism to automatically retry failed events based on your configuration.
- Can NixBus be used with different programming languages?
- Currently, we offer an NPM package, but our API allows integration with any language that supports HTTP. Check our HTTP API documentation.
- What is the event retention policy for each token?
- Free Token retains events for 3 days, Pro Token for 7 days, and Custom Token retention is negotiable.