Synadia
Synadia
  • 81
  • 286 653
Give your Go app superpowers with an Embedded NATS Server
One powerful, but lesser known feature of the NATS server is that, if you are using the Go programming language, you can embed the NATS server directly into your application.
Not only can you bake a NATS server directly into your application binary, but you can even connect to that NATS server without going through a network interface, making NATS an awesome choice for building modular monoliths, or for simply the foundation for any programs connectivity, or a data layer with lots of options for storing and moving that data.
Check out our example code here:
github.com/synadia-io/rethink_connectivity/tree/main/20-embedding-nats-server
00:00 - Intro
01:04 - Why embed a NATS Server?
05:35 - Use Cases
07:28 - Example: Embedding NATS Server
13:50 - Configuring In Process Connections
18:40 - Benchmarking In Process vs localhost
19:44 - Enabling JetStream and Leafnode to Synadia Cloud
26:10 - Wrap up!
Don't want to host NATS yourself? Sign up for Synadia Cloud for free: cloud.synadia.com/
NATS is a connective technology powering modern distributed systems, unifying Cloud, On-Premise, Edge, and IoT.
Join the NATS Community on Slack: slack.nats.io
Learn More about NATS at docs.nats.io/
มุมมอง: 2 228

วีดีโอ

Connect ANY Auth System to NATS.io with Auth Callout
มุมมอง 1.7K14 วันที่ผ่านมา
In this video, Jeremy dives into the details of NATS Auth Callout feature, and how it can be integrated with systems like Google SSO and OpenID Connect to seamlessly and securely connect client applications in the browser. Check out our example code here: github.com/synadia-io/rethink_connectivity/tree/main/19-auth-callout 00:00 - Intro 01:15 - What is Auth Callout? 06:07 - What makes Auth Call...
Stream processing: the easy way (with NATS and Benthos)
มุมมอง 4.5K3 หลายเดือนก่อน
In this video, Jeremy shares how to create operationally simple, highly scalable streaming and data processing pipelines using Benthos.dev and NATS.io, and why they can be a simpler alternative to frameworks like Apache Spark, Kafka Streams, Apache Flink or Kafka Connect. Source code for this video: github.com/synadia-io/rethink_connectivity/tree/main/18-benthos-and-nats 00:00 - Intro 01:23 - W...
DBTA | Building and Managing a High-Performance Microservices Architecture w/ Hazelcast and Synadia
มุมมอง 5883 หลายเดือนก่อน
Join Jeremy Saenz, Synadia and Randy May, Hazelcast on this Database Trends and Applications webinar to talk in-depth about how Synadia and Hazelcast tackle today's microservices architectures.
We need to talk about Microservices... (And how NATS.io can simplify things)
มุมมอง 6K4 หลายเดือนก่อน
In this video, Jeremy goes addresses the current state of overwhelm when building micro-service architectures, and how a technology like NATS.io can help solve many of the current requirements for microservices within a single piece of infrastructure. 00:00 - Intro 01:15 - Rethinking Microservices 02:44 - Location Transparency 04:18 - API Gateway 05:32 - Load Balancing 07:29 - Service Discovery...
JetStream KV: A fascinating alternative to Redis...
มุมมอง 10K4 หลายเดือนก่อน
Continuing his series on JetStream, Jeremy dives into the details of how NATS JetStream's Key/Value buckets work, and showcases how easy it is to move and replicate data without having to change your applications. 00:00 - Intro 00:53 - Like and subscribe 01:10 - What is JetStream KV? 06:27 - Redis Comparison 08:30 - Configuration Options 09:15 - Put Command 10:20 - Get Command 10:45 - Create Co...
The ONE feature that makes NATS more powerful than Kafka, Pulsar, RabbitMQ & Redis
มุมมอง 16K5 หลายเดือนก่อน
JetStream's consumers are so incredibly flexible that it makes it possible to create entirely new applications with a single dataset as a source of truth. In this episode, Jeremy walks through all of the configuration options for Consumers and how you can utilize them to build better distributed systems. 00:00 - Intro 01:02 - JetStream’s Flexible Consumers 05:30 - Push vs Pull Consumers 07:35 -...
NATS.fm S2EP1: Welcoming in 2024 with a bang
มุมมอง 4415 หลายเดือนก่อน
Welcome to season two of NATS.fm! We start off this season by talking about Synadia's RethinkConn 2024 and the excitement around some of the new up and coming NATS Execution Engine, Synadia Cloud, the NATS ambassador programme and more! If you're interested in NEX, you can find more here: nats.io/blog/introducing_nex/ For the RethinkConn 2024 videos: www.synadia.com/blog/rethinkconn-2024 Want t...
Synadia RethinkConn 2024: Synadia CEO Derek Collison Keynote
มุมมอง 7825 หลายเดือนก่อน
Synadia RethinkConn 2024: Synadia CEO Derek Collison Keynote
Synadia RethinkConn 2024: Community & Ambassador Programme with Byron Ruth
มุมมอง 1636 หลายเดือนก่อน
Synadia RethinkConn 2024: Community & Ambassador Programme with Byron Ruth
Synadia RethinkConn 2024: Synadia Roadmap with Byron Ruth
มุมมอง 8056 หลายเดือนก่อน
Synadia RethinkConn 2024: Synadia Roadmap with Byron Ruth
Synadia RethinkConn 2024: After event Q&A with Derek on Zoom
มุมมอง 3186 หลายเดือนก่อน
Synadia RethinkConn 2024: After event Q&A with Derek on Zoom
Synadia RethinkConn 2024: Synadia NEX demo with Kevin Hoffman
มุมมอง 2.1K6 หลายเดือนก่อน
Synadia RethinkConn 2024: Synadia NEX demo with Kevin Hoffman
Synadia RethinkConn 2024: Synadia Cloud demo with Caleb Lloyd
มุมมอง 5016 หลายเดือนก่อน
Synadia RethinkConn 2024: Synadia Cloud demo with Caleb Lloyd
Synadia RethinkConn 2024: Two-Node Engine with David & Byron
มุมมอง 4066 หลายเดือนก่อน
Synadia RethinkConn 2024: Two-Node Engine with David & Byron
Synadia RethinkConn 2024: Max Arndt from Schaeffler on NATS
มุมมอง 2516 หลายเดือนก่อน
Synadia RethinkConn 2024: Max Arndt from Schaeffler on NATS
Synadia RethinkConn 24 Intro
มุมมอง 3166 หลายเดือนก่อน
Synadia RethinkConn 24 Intro
Synadia RethinkConn 2024: Maurice van Veen talks about the NATS community
มุมมอง 3296 หลายเดือนก่อน
Synadia RethinkConn 2024: Maurice van Veen talks about the NATS community
Synadia RethinkConn 2024: Ramon Bosch from Nuclia on NATS
มุมมอง 1306 หลายเดือนก่อน
Synadia RethinkConn 2024: Ramon Bosch from Nuclia on NATS
Synadia RethinkConn 2024: Nathan Mellis from Modzy on NATS as a foundational building block
มุมมอง 1596 หลายเดือนก่อน
Synadia RethinkConn 2024: Nathan Mellis from Modzy on NATS as a foundational building block
Synadia RethinkConn 2024: Jaxon Repp from HarperDB on NATS and distributed databases
มุมมอง 1506 หลายเดือนก่อน
Synadia RethinkConn 2024: Jaxon Repp from HarperDB on NATS and distributed databases
Synadia RethinkConn 2024: Franco Sabini from Fineco Bank on NATS
มุมมอง 2316 หลายเดือนก่อน
Synadia RethinkConn 2024: Franco Sabini from Fineco Bank on NATS
Synadia RethinkConn 2024: Andrew Gracey on Two Node K3S
มุมมอง 2766 หลายเดือนก่อน
Synadia RethinkConn 2024: Andrew Gracey on Two Node K3S
Build Priority Background Jobs & Dead Letter Queues with NATS JetStream | Rethink Connectivity ep 12
มุมมอง 6K6 หลายเดือนก่อน
Build Priority Background Jobs & Dead Letter Queues with NATS JetStream | Rethink Connectivity ep 12
How to configure NATS JetStream streams | Rethink Connectivity Ep 11
มุมมอง 6K7 หลายเดือนก่อน
How to configure NATS JetStream streams | Rethink Connectivity Ep 11
Replace Kafka, RabbitMQ, Redis and more w/NATS JetStream | Rethink Connectivity Ep 10
มุมมอง 14K7 หลายเดือนก่อน
Replace Kafka, RabbitMQ, Redis and more w/NATS JetStream | Rethink Connectivity Ep 10
EP09: Grokking NATS.io Streams and Consumers
มุมมอง 7578 หลายเดือนก่อน
EP09: Grokking NATS.io Streams and Consumers
NATS 2.10 Webinar
มุมมอง 2.2K8 หลายเดือนก่อน
NATS 2.10 Webinar
EP08: AI at the Edge(s) with NATS.io
มุมมอง 4309 หลายเดือนก่อน
EP08: AI at the Edge(s) with NATS.io
EP07: Going off piste; KV patterns with NATS.io (pt1)
มุมมอง 1.1K9 หลายเดือนก่อน
EP07: Going off piste; KV patterns with NATS.io (pt1)

ความคิดเห็น

  • @lldadb664
    @lldadb664 วันที่ผ่านมา

    Unrelated to NATS, but Jeremy, do you have any info somewhere on what you use in Vim to do the static analysis and error checking? Looks nice.

  • @lldadb664
    @lldadb664 วันที่ผ่านมา

    This is my first time watching one of your videos. It’s one of the best tech overviews I’ve seen. I really enjoy the balance of concept and concrete example. Thanks!

  • @GabrielPozo
    @GabrielPozo 2 วันที่ผ่านมา

    Thanks for this tutorial!! It's a great video!!

  • @deviktor
    @deviktor 3 วันที่ผ่านมา

    Hello I just tried to sign up to synadia cloud, but it fails can you check?

  • @PratikGupta-cw3gx
    @PratikGupta-cw3gx 5 วันที่ผ่านมา

    @Synadia I'd like to have a video on this againg but with Nest js, So Please make it if possible

  • @chriwas
    @chriwas 5 วันที่ผ่านมา

    Thanks for the great video. Would it be possible to embed the NATS server with other languages, such as Java or Rust?

  • @dandogamer
    @dandogamer 5 วันที่ผ่านมา

    Hey, were trying to build a product as a non-profit that operates in extremely internet sparse regions. So we do offline first with an upsync and some downsyncing to devices operating in the same project. I was wondering if nats would be a good solution here over GCP pub/sub?

  • @hasanerken9604
    @hasanerken9604 6 วันที่ผ่านมา

    Thanks for your fantastic tutorials and videos on NATS and golang

  • @derekperkins
    @derekperkins 6 วันที่ผ่านมา

    What does it look like if I want to deploy an embedded NATS server in an autoscaling k8s environment? Is there a leader? How does the cluster get bootstrapped? My idea is that we'd autoscale the pods, and the leader would poll for work to be done, distributing work via a queue group

  • @SimonVallebro
    @SimonVallebro 6 วันที่ผ่านมา

    Is there a way to control when/if the server connects the leaf node connection. We have a use case that need to control when we connect to the back to sync data.

  • @chris-malek
    @chris-malek 6 วันที่ผ่านมา

    Really cool demo 😀

  • @daviddesmarais-michaud4345
    @daviddesmarais-michaud4345 6 วันที่ผ่านมา

    This is awesome. I've mainly been using embedded servers as a way to do local development and testing. I hadn't thought of using it to do offline-first applications. My thinking was: local -> embedded server production -> remote server Do you have more content on leaf nodes and their applications?

  • @thecodegangsta
    @thecodegangsta 6 วันที่ผ่านมา

    What does everyone think of this feature? What's a cool way to use it that I haven't thought of?

    • @ffbrownie
      @ffbrownie 6 วันที่ผ่านมา

      A while ago I had a issue up related to using embedded servers as part of a cluster. Didn’t manage to get it working but I’d be interested what a working setup could look like. Using a leaf node may even be the answer for me

    • @Mauro-l3s
      @Mauro-l3s 6 วันที่ผ่านมา

      Great video! This is the exact use case we have, but for our business model the price per leaf node connection in NGS is sadly not feasible. What would you suggest in this case?

    • @user-vu6io8lk1q
      @user-vu6io8lk1q 6 วันที่ผ่านมา

      I have been using embedded nats server for a couple of years now. It is one of the great features of nats. What I was missing was how to connect it to a nats cluster and your video answered my question very nicely. Thanks. It is a very powerful construct that can replace a lot of infrastructure setup and have microservices talk to each other in a clean transparent unified way. Thanks!!

    • @idearat0
      @idearat0 6 วันที่ผ่านมา

      My target design is effectively a blend of this and Natster where you end up with a peer-to-peer desktop application mesh of sorts. We'll see how that works out over the coming months.

    • @chmod0644
      @chmod0644 6 วันที่ผ่านมา

      Embedding lets you write software that scales from the small to the large. If you are writing a NATS-based API, your users can start with a single static binary, and move to HA with clustered+embedded, then scale out to externalized nats-server clusters. Giving people a way to try stuff out with minimal infra is a killer feature, imo. It's kind of like how Gitea (git server) or Prosody (xmpp srever) support sqlite. It's sufficient for small/medium deployments, and that's the proving ground for introducing new tech into your organization. Etcd supported embedding early on, too, and while it's hard to measure I think that partially accounts for its success.

  • @Optimusjf
    @Optimusjf 6 วันที่ผ่านมา

    Você é muitos bom nessa tecnologia

  • @gedw99
    @gedw99 9 วันที่ผ่านมา

    Very nice !!!

  • @roaring_cannon
    @roaring_cannon 11 วันที่ผ่านมา

    Thank you for this!

  • @muonx9649
    @muonx9649 15 วันที่ผ่านมา

    wow this was very helpful! 👍👍👍

  • @imagineabout4153
    @imagineabout4153 16 วันที่ผ่านมา

    I just deployed a nice NATS server pubs and subs and I'm about to stress test it. I hope it goes well cause it was a breeze to integrate. Well done! ❤

  • @JedadTreshdoic
    @JedadTreshdoic 16 วันที่ผ่านมา

    ugly

  • @ovidiusbr
    @ovidiusbr 16 วันที่ผ่านมา

    I just found about NATS and your videos are helpful to understand the technology and get me started. I am working on a greenfield app using microservices architecture and writting an article/demo on NATS JetStream. I couldn't find anything on how to cover the following scenario: a stream for each microservice (for publishing) + a consumer for each microservice which aggregates messages from multiple streams based on subjects. The only possible way to maybe make it work appeared marked as legacy so I am not going to go forward with that. Would currently the recommended way be to use a single stream for everything + filter_subjects on consumers? I feel that this kind of kills the purpose of having multiple streams available for my scenario.

  • @GabrielPozo
    @GabrielPozo 16 วันที่ผ่านมา

    Thank you for the video!

  • @Mo.Faried
    @Mo.Faried 17 วันที่ผ่านมา

    A great informative tutorial, but I have to ask, which terminal client are you using? Is it ITerm2?

  • @glebbondarenko67
    @glebbondarenko67 17 วันที่ผ่านมา

    How reliable is NATS? looks like a single point of failure

  • @GabrielPozo
    @GabrielPozo 17 วันที่ผ่านมา

    Great video, thank you for sharing!

  • @Mo.Faried
    @Mo.Faried 17 วันที่ผ่านมา

    Just have a couple of seconds before you press enter for each command. You write the command fast and we barely notice what you wrote.

  • @sonuselva
    @sonuselva 18 วันที่ผ่านมา

    where can i find the reference code given in this video?

  • @selvaKumaresra
    @selvaKumaresra 20 วันที่ผ่านมา

    is it fully opensource or has strings attched to Synadia cloud? those that only works with Synadia?

    • @SynadiaCommunications
      @SynadiaCommunications 20 วันที่ผ่านมา

      NATS is fully open source, not open core. Synadia cloud is a hosted version of NATS with some extra tooling around monitoring and management. So no strings attached here

  • @cristhianferrufino8923
    @cristhianferrufino8923 20 วันที่ผ่านมา

    how you would use an external IdP and OPA for IAM ?

  • @Zro_2_One
    @Zro_2_One 20 วันที่ผ่านมา

    Superb content! May you share your .vimrc, please?

  • @ch08532
    @ch08532 21 วันที่ผ่านมา

    Excellent presentation skills. Presenting the material in a simple way. Thank you!

  • @tritoanst
    @tritoanst 21 วันที่ผ่านมา

    Thanks guy.

  • @oishh
    @oishh 21 วันที่ผ่านมา

    Would it be possible to connect through Directus Auth?

  • @cbnsndwch
    @cbnsndwch 21 วันที่ผ่านมา

    🙌🙌🙌🙌

  • @siva710
    @siva710 21 วันที่ผ่านมา

    ❤ Thank you so much for this video. Long awaited..!!!

  • @zapdelivery5169
    @zapdelivery5169 23 วันที่ผ่านมา

    Great videos, I have binging these lately. Good to see how nats has grown over the years. Can i suggest doing a video about implementing advanced messaging patterns such as workflow patterns like route slips and distributed transaction handling with compensations. It would be great to understand what the stream configuration will look like.

  • @SureshBala66
    @SureshBala66 24 วันที่ผ่านมา

    To set the context, Redpanda acquired Benthos and launched Redpanda Connect.

  • @bronifty598
    @bronifty598 24 วันที่ผ่านมา

    these are all so good

  • @billyogat
    @billyogat 24 วันที่ผ่านมา

    Did this PoC ever land as a feature? I’m not seeing anything regarding this in the documentation.

  • @nexovec
    @nexovec 26 วันที่ผ่านมา

    Glad you've named an internal component after me I always knew I deserved it

  • @nicklaspillay7923
    @nicklaspillay7923 26 วันที่ผ่านมา

    Great video

  • @SadSadDeadM
    @SadSadDeadM 27 วันที่ผ่านมา

    Is it possible to set up NATS in Fan-out mode to efficiently stream events to multiple nodes of the same backend so that specific event is delivered to each node?

    • @GodoftheHeavans
      @GodoftheHeavans 11 วันที่ผ่านมา

      I'd like to know as well

  • @ignacioantoniojeriagarrido6877
    @ignacioantoniojeriagarrido6877 หลายเดือนก่อน

    NATS is so powerful! This channel deserves more subscribers. Good job!

  • @SamVilain
    @SamVilain หลายเดือนก่อน

    It's always interesting to hear from people why they think their messaging system of choice is superior to all others. Those are usually some passionate takes, even if they are usually technically inaccurate on some details. You shouldn't really think of the consumer as the "client" of a Kafka Streams application. The application runs in the cloud, basically consider it conjoined to the broker. If you're paying for bandwidth, combine everything into one giant consumer. If you're paying for hardware and bandwidth is available, being able to stand up extra consumers that can chomp through topics at the rate of a filesystem reading files and then seamlessly move to streaming mode with sub-millisecond latency (IME) is pretty handy. The fact you can have concurrent processing with transactions, unbounded scale and not compromise on latency or application complexity (i.e., partitions don't have to be "deep" through the whole application: each topic is a table, and it has a partitioning key on its natural key, and the system as a whole can represent arbitrary complexity of relationships between topics), I just don't think any other application platform can claim that. Kafka has its niche still, eg replacing huge "online" systems with multiple huge (~1bn) tables with relations between them which cannot be reduced to eg per-user partitions, and replacing the database, but I think where nats is winning over is the deployment simplicity, making features that are very useful very accessible and not just to one language community (try doing Kafka transactions or stream transforms without Java/Scala). It's easy to understand and almost as powerful, so long as you're not in that specific niche, it's probably OK.

  • @shahzodshafizod
    @shahzodshafizod หลายเดือนก่อน

    Can you please explain how to setup an editor like yours. Is it vim? But my vim does not have autocomplete. More info please. Thanks in advance

  • @cangurcan99
    @cangurcan99 หลายเดือนก่อน

    My first rule of thumb in the dev world is DRY (Don't Repeat Yourself). I always follow this rule, even if it comes at a high cost. We're human and make mistakes, known as bugs. If one piece of code or process is repeated many times, there's a chance that we might forget to fix one instance of it. Worse than a bug, it might be a logical error, which will not throw an error but we might only figure it out months later. I'm developing B2B, CRM, and two apps for clients and employees. Let's assume a messaging service, writing it multiple times is unacceptable. I think this is where microservices come in handy, even for small projects and small teams. Also, NATS fits very well here because it's easy, clear, and fun. Thanks for this great project.

  • @hamzash3660
    @hamzash3660 หลายเดือนก่อน

    what's the name of the tool ur using for drawing ?

  • @stephennwakasi4631
    @stephennwakasi4631 หลายเดือนก่อน

    Great introduction. I'm working on a data injestion flow that'll receive data from different services in a microservices architecture and store that data in a search-optimized datastore. And I need this to be resilient. My team can not afford to lose any data we wish to push into the pipeline. I think NATS is pretty straight-forward.

  • @dandogamer
    @dandogamer 2 หลายเดือนก่อน

    Is nats a good solution for problems which have bad internet and rely on offline storage first solutions?

  • @dandogamer
    @dandogamer 2 หลายเดือนก่อน

    I always enjoy these talks but wish they were shorter and more condensed even if it means splitting into multiple videos