NGS Frequently Asked Questions (FAQ)

What is NATS.io?

NATS.io is the Open Source connective technology for Adaptive Edge & Distributed Systems that powers NGS. NGS is 100% NATS compatible with NATS maintainer supported client SDKs.

Synadia believes strongly in Open Source Software and has donated many engineering hours towards the NATS.io project.

What Client SDKs can I use?

Applications connecting to NGS use the Open Source NATS.io SDKs. Clients maintained by the NATS Authors should work with NGS. Other clients may work although there are no guarantees.

Any of the NATS Clients maintained by the NATS authors should be compatible with NGS. Build a NATS application, then simply use connect.ngs.global as the connect URL and provide your NGS credentials to connect.

Example code can be found in each of the NATS client repositories.

If you wish to use a NATS client that does not support NATS 2.0 credentials, you can connect your application to a local NATS server extension (leaf node) connected to NGS.

Can Synadia access my data?

No. Synadia cannot see or access your data. There may be times when we need to help you debug and we will give you instructions how to create and share an extremely limited short lived set of credentials with us. We will also include instructions how to revoke those credentials and insist you do so immediately after they are no longer needed.

How do I sign up for NGS?

You can signup for NGS at Synadia.com/ngs.

What happens if I lose my credentials?

Do your best to avoid this because we cannot recover private credentials that are lost. NGS will never access or store your private credentials, so you will need to cancel your account and create a new one. Contact us and we can find your public account credentials to assist you in you recreating a similar account.

We are planning an opt-in feature to allow customers to securely store private credentials in NGS.

How long will my free account last?

As long as you are using it! That said, we do reserve the right to delete inactive free accounts, remove accounts that violate the terms of service, and may move the location of storage in free accounts.

How do I ask questions or give feedback to Synadia

If you have commercial support the best place to do that is via your support plan. Alternatively you can create issues on the ngs-feedback repository or email us at info@synadia.com.

How can I achieve GDPR compliance?

There are a few ways, one is through connecting to a regional connection endpoint and then if using JetStream ensure the proper placement tags are set.

GDPR compliance is not guaranteed with a free account.

Can I choose a particular cloud provider?

We advise connecting to connect.ngs.global to ensure a much higher level of availability as NGS spans multiple cloud providers. By default, NGS will detect your cloud provider (if applicable) and location to find the NGS cluster that is best fit.

We do recognize that some customers need to use a particular cloud provider. We can provide this through connecting using a cloud provider connection endpoint and ensuring the proper JetStream placement tags are set. This may adversely affect uptime guarantees.

What client and server versions are supported?

It depends on the client library, but most clients released in the last several months will be compatible. The NATS Server, running as as Extension Server (leaf node), is required to be at least version 2.8.0.

Are there limits beyond what I see in my plan?

Your unique NGS plan (or Free Plan) lets you define the most salient limits for NGS. There are some limits you may encounter such as # of subscriptions per connection, # of JetStream assets, and other various limits around usage, with the intent of protecting the system and your usage to avoid runaway applications incurring large bills. We feel these are high enough that most users will not be impacted, although if you do, contact us and we can increase them for you, most often free of charge.

Are Websockets Supported?

Absolutely. Connect using the url: wss://connect.ngs.global:443 with a client that supports websockets, or use NATS server extensions (leaf nodes) to connect to NGS via websockets.

NGS Server Extensions (leaf nodes) support connecting to NGS via websockets as well.

Is MQTT Supported?

It is through NATS server extensions (leaf nodes). You can run your own NATS server instance with MQTT enabled that is connected to NGS, and the server will forward any data onto NGS when there is interest (a stream, or consuming application). Check out the NATS MQTT documentation and Leaf node documentation.

Can I create a custom plan?

Yes. If you need a plan that exceeds what is available today or wish to discuss options specific to your use case contact us at info@synadia.com and we can work with you to develop a custom plan that will meet your needs.

Can I create multiple accounts?

Yes, and you can share streams and services between them. We have plans to support building a SaaS system atop NGS with the ability to create very small accounts after signing up for an initial plan. In the meantime, if you need many smaller accounts contact us at info@synadia.com and we can set you up with a custom plan.

How can I determine my current NGS usage?

We have dashboards under development, but in the meantime use the NGS ngs.usage endpoint with a duration to garner usage metrics for your account.

$ nats req ngs.usage 30d
10:56:22 Sending request on "ngs.usage"
10:56:22 Received with rtt 307.78088ms
{
  "sent": {
    "msgs": 4867323,
    "bytes": 25527763676
  },
  "received": {
    "msgs": 3952261,
    "bytes": 9562117903
  },
  "sessions": 69828,
  "stats_duration": "30d0h0m0s"
}