Micro-services with auto discovery, observability and load balancing. | Rethink Connectivity Ep 9
ฝัง
- เผยแพร่เมื่อ 5 มี.ค. 2023
- In this episode, Jeremy walks through the how to build micro-services using the new Service API in NATS and how much easier it is to build services that are discoverable, observable and automatically load balanced.
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/ - วิทยาศาสตร์และเทคโนโลยี
I've watched this 4 times now. About to push this pattern into our future rollouts. Edge microservices!
Very very awesome approach here.
Glad you think so!
great content!! Thank you!
Glad you liked it!
this is incredible!
This product is amazing !
I like to think so
Hi, Thanks for the video, it is really informative, it's look like in the current version SCHEMA is deprecated or maybe replaced by something else , not sure , because I need to scan the request to a particular struct in golang and also make sure the response will be scanned into an appropriate struct so the caller can scan it and utilize it , json.Unmarshal does not return error in my case when the request does not look like the struct ! I wish nats micro could have come with this feature to guarantee the req and resp struct
We removed the schema field present in the prerelease versions if micro in favor of our more generic `metadata` struct for endpoints and services. You can add a `schema` field to that and essentially get the same benefit
If this took a vercel like approach and really focused on the developer experience with an observability + admin dashboard (basically a nats-cli dashboard), it would be so much easier to get started and see the benefits.
Agreed. We are working on an experience like that at Synadia :)
@@SynadiaCommunications Exciting, I will be following the progress :)
super cool way to handle microservices
Totally!
Is this nvim that you're using? Looks awesome. Greets from an Emacser!
Thank you for all the videos, I would some more practical/tutorial based videos.
Great video. I'm missing the 'micro' option in my cli tool though. I've updated 'nats-tools' and 'nats' on mac, is there a nightly or another version I'm missing?
This has finally been released in the CLI as of v0.1.0.
This awesome. It would be good for example code to be shared in the description so we can experiment and get familiar faster 😊
There are two examples up on NATS by Example for Go and JavaScript: natsbyexample.com/examples/micro/intro/go
why it's not working /examples/micro/intro/go 404: NOT_FOUND
@@SynadiaCommunications
Why is it in a different repo ? it should be part of nats
Looking great.
How nats micro related to jetstream?
hello greate video can you make one configuring with helm making jetstreams with helm infact using helm to do clusters and everything
I liked what you can achieve with NATS. It really feels like an upgrade of messaging systems. I have one question though, can this microservice be accessible to external / third party service, or maybe web browsers running react? If its possible with authorization, its really awesome...
Absolutely! Web browsers can connect via websockets using the nats.ws library. It uses all the same mechanisms for auth
where can i find the reference code given in this video?
What type of NATS server is applicable for this pattern ? I am using NATS JetStream with 3 servers, can I can also use it for service implementation and communication ?
By the Schema is deprecated and no longer exist, I wish you could have provide a more practical and generic example (whereas service can make a call as well in your example you are using NATS cli to make a call) in the updated video which everyone is expecting it.
and Thank you so much for connectivity pattern to NATS. it is really amazing.
This implementation works with any NATS server, as all of the functionality is handled by the clients themselves
Tell us about your vim config :)
Check it out: github.com/codegangsta/dotfiles
Am I missing something. The current Nats CLI (0.0.35) does not have the micro command.
Yes, we will be releasing it very soon alongside a new version of NATS, but you can install from the main branch to get access to the micro command today
Hey Jeremy. The schema stuff in micro have been deprecated and replaced by "metadata". Can you do a video on how to use this in a similar way as was possible with the schema API please?
Hey Scott. You would essentially use it the same way. Add a schema field to your metadata and look that field up to get the schema
What are Q and Q Lang ?
can you mention that plugin auto fills structs
Just the golang LSP, using codeactions
@@SynadiaCommunications You helped me a lot dear, thanks 😊
Is nats The only transport supported now ? No way to support http ?
Currently it’s only for NATS, but it wouldn’t be too difficult to build a process that could forward NATS traffic to an http service
Which kind of IDE is that? Looks like a full pimped vim environment.
Yes! It’s Neovim and kitty for the terminal
@@SynadiaCommunications any chance you'll share your neovim rc somewhere? :) your dev environment is awesome
Does nats python also support Micro?
Not yet, but we do want to support it
@@SynadiaCommunications Is there a roadmap document or something for the nats-py lib? This seems like an extremely useful feature and would love to see status updates for it.
hello greate video can you make one configuring with helm making jetstreams with helm infact using helm to do clusters and everything