by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jul 16 09:44
    dependabot[bot] labeled #78
  • Jul 16 09:44
    dependabot[bot] opened #78
  • Jul 16 09:44

    dependabot[bot] on npm_and_yarn

    Bump lodash from 4.17.15 to 4.1… (compare)

  • Apr 16 08:05
    dependabot[bot] labeled #77
  • Apr 16 08:05
    dependabot[bot] opened #77
  • Apr 16 08:05

    dependabot[bot] on npm_and_yarn

    Bump https-proxy-agent from 2.2… (compare)

  • Mar 13 22:48
    dependabot[bot] labeled #76
  • Mar 13 22:48
    dependabot[bot] opened #76
  • Mar 13 22:48

    dependabot[bot] on npm_and_yarn

    Bump acorn from 6.3.0 to 6.4.1 … (compare)

  • Dec 27 2019 12:45
    dependabot[bot] labeled #75
  • Dec 27 2019 12:45
    dependabot[bot] opened #75
  • Dec 27 2019 12:45

    dependabot[bot] on npm_and_yarn

    Bump handlebars from 4.1.2 to 4… (compare)

  • Dec 12 2019 13:47
    ArsenAvagyan synchronize #74
  • Dec 12 2019 13:46
    ArsenAvagyan synchronize #74
  • Dec 12 2019 13:07
    ArsenAvagyan opened #74
  • Oct 22 2019 23:45

    artakvg on zeroct

    (compare)

  • Oct 22 2019 23:25

    artakvg on zeroct

    node fix draft version of routing fixing test and 6 more (compare)

  • Oct 12 2019 11:16

    dependabot[bot] on npm_and_yarn

    (compare)

  • Oct 12 2019 11:16

    artakvg on master

    Bump eslint-utils from 1.4.0 to… Merge pull request #73 from sfa… (compare)

  • Oct 12 2019 11:16
    artakvg closed #73
Artak
@artakvg

Why you need ZeroNode ?
Application backends are beckaming complex these days and there are lots of moving parts talking to each other through network. There is a great difference between sending a few bytes from A to B, and doing messaging in reliable way. ❗️❗️❗️

How to handle dynamic components ❓ (i.e., pieces that come and/or go away temporarily, scaling a microservice instances )
How to handle messages that we can't deliver immediately ❓ (e.g waiting for a component to come back online)
How to route messages in complex microservice architechture ❓ (i.e. one to one, one to many, custom grouping messaging)
How we handle network errors ❓ (i.e., reconnecting of various pieces)
We created Zeronode on top of zeromq as to address these and some more common problems that developers will face once building solid systems.
With zeronode its just super simple to create complex server-to-server communications (i.e. build network topologies).

Basics
Zeronode allows to create complex network topologies (i.e. line, ring, partial or full mesh, star, three, hybrid ...) But lets start from the basics. You want to send a message from A to B (💻 --> 💻) and that means you'll need to create 2 nodes. Think of every node as an actor (i.e. participant, minimal building block) in your networking system.

👉 node can connect to multiple nodes (i.e node.connect(addressOfNodeB), node.connect(addressOfnodeC))
👉 nodes can connect to particular node if the latest is binded to some interface (i.e node.bind(interfaceAddress))
👉 if node A is connected to node B then we have a channel between them and both nodes can talk to each other
👉 node-s are resilent to restarts, network failures, connect/bind order 💪🤘👍
👉 node-s can run on same or different machines, processes, containers etc ...
👉 data transfers between node-s via both request/reply and tick (fire forget) patterns
🎓🎓🎓
Much more interesting patterns and features you can discover by reading the document or try to reach us via Drift Chat under Steadfast.tech

Installation & Important notes
Zeronode depends on zeromq
📢📢 For Debian, Ubuntu, MacOS, Fedora, Redhat you can just run

$ npm install zeronode
and it'll also install zeromq for you.
Kudos 🙌 to Dave for adding install scripts. For other platforms please open an issue or feel free to contrubute.

Artak
@artakvg
Happy to announce that zeronode 1.1.6 is released with 90% + test coverage
Justin
@fluidnotions
Hey would this make sense for a resilient IOT mesh on a LAN or VPN ... where there is no central node, it's completely distributed? I was looking an seneca-mesh but it doesn't look actively maintained
How would I get znodes to discover eachother on a lan?
Christian Roy
@roychri
On the npm page when I click on the github link it gets me here: https://github.com/sfast/zeronode
and shows a 404.
Artak
@artakvg
@fluidnotions I think you can just request a range of ports and see if there is zeronode behind by replying to request with some custom data you want to be shared during discovery
@roychri we'll make the repo public it in next month
Artak
@artakvg
Zeronode github repo is now public 🙌🙌🙌🙌
Artak
@artakvg
Zeronode 1.1.20 published, Snyk-ed .
lusine-pribilskaya
@lusine-pribilskaya
hi, anybody here?
Artak
@artakvg
This message was deleted
Yes @lusine-pribilskaya , just paste your question here
Walle Cyril
@GrosSacASac
Hi could you provide advantages/disadvantages compared to deepstream ?