Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Mark Sargent
    @sarge
    Yes it does persistence
    you can store messages for a period of time
    nor sure about the required licensing
    Montana Flynn
    @montanaflynn
    Is there any documentation around the emitter HTTP API? I only see examples with javascript here: https://emitter.io/develop/getting-started/
    Montana Flynn
    @montanaflynn

    And also this is kind of confusing:

    Ttl: The time to live describes how long the channel key should be valid. The unit for this is seconds. When this time has passed the channel will still exist, but a new channel name needs to be generated to be able to publish or subscribe using this channel. A finite time to lives can be used to increase security. Ttl is optional, if you leave it empty the time to live is indefinitely.

    Does that mean you cannot use multiple keys for the same channel?

    Or is there a type and it should read "but a new channel KEY needs to be generated"
    Mark Sargent
    @sarge
    Channel keys can be generated to live for specified time, much like JWTs, they expire. The channel names are durable, but really only exist for as long as there is a listener.
    You can generate multiple keys for the same channel, they are cheap to create.
    Mark Sargent
    @sarge
    Another way to think about it, channels exist as long as there is a listener, if you publish to a channel with no listeners at the time, there is no work to be done.
    Montana Flynn
    @montanaflynn
    So "When this time has passed the channel will still exist, but a new channel name needs to be generated to be able to publish or subscribe using this channel. " isn't really accurate then
    It should be "a new channel key" right?
    Mark Sargent
    @sarge
    @montanaflynn Yes that is correct
    OlgaRedozubova
    @OlgaRedozubova
    Hi. I have multiple node servers and a connection to emitter-io is created on each of them and the server channel is listened.
    Clients send messages to this channel. And it works in the way that the servers receive and process the same message and then send the result to the client.
    Is it possible to synchronize the work of emitter-io between multiple node servers (For example, so that only one of the servers receives a message from the client)?
    ged
    @gedw99
    Anyone got a dart client working yet ? Would like to use this with flutter.
    also the latest CRDT map is being used for clustering and i presume is partition tolerant ?
    Florimond Husquinet
    @Florimond

    Anyone got a dart client working yet ? Would like to use this with flutter.

    There is this : https://github.com/emitter-io/dart

    ged
    @gedw99
    thanks @Florimond
    Is the Server redundant these days ? I saw people using CRDT instead of RAFT lately for having the WAL be distributed
    Seems its using Mesh: https://github.com/weaveworks/mesh
    Shawn Blessing
    @blessingshawn
    Is Emiter.io still maintained, developed, and supported? I'm proposing to my company a rather large messaging platform for our products. Our products are utilized by several large states. Should I have any concerns about recommending Emitter.io as a solution?
    Florimond Husquinet
    @Florimond
    Hi, @blessingshawn , Emitter is still maintained, and developed. I believe the project has reached a certain level of maturity where it doesn't need a new PR every other day. But the core of the poject was last updated and augmented on June 25th. There are plans to further expand the range of functionalities (adding lambda for example). As for the support, well it's an open-source project, and we have full-time jobs. In the future, we wish to propose professional support (at a cost of course), but for that you should discsuss with @kelindar .
    Shawn Blessing
    @blessingshawn
    @Florimond Thank you for the response. It provides reassurances that it's a good decision to recommend Emitter.io. I've watched the project for years and am thankful for an opportunity to utilize it.
    Severin Ibarluzea
    @seveibar
    Hey guys, pretty stuck on an issue. I'm using emitter.publish in python to send small jpgs, but if the message gets too big it starts to take a really long time (like 30s+, or possibly not working). Is it related to maximum TCP packet size? Doing this is as a message is fine: open("./bird.jpg", "rb").read()[:40000] but doing more bytes causes the issue: open("./bird.jpg", "rb").read()[:70000]. Any tips to get my bird where it belongs?
    I'm thinking of using msgpack to pack [index, some_binary_slice] then unpack on the other end, but it feels like i might be reinventing the wheel or just not doing this right haha
    Severin Ibarluzea
    @seveibar
    update: so i just decided to send big file packets over a different channel (an http multi-part form POST request) and just handle the coordination via emitter
    emitter is great i hope that cloud service comes back
    Montana Flynn
    @montanaflynn
    Our production emitter brokers running on kubernetes stopped working after about a year.
    2020/08/31 11:59:31 [swarm] error during gossip (->[192.168.4.225:4000|26:2b:52:0b:17:71(192.168.4.225:4000)]: connection shutting down due to error: snappy: corrupt input)
    2020/08/31 11:59:31 [swarm] error during gossip (->[192.168.24.144:38123|26:71:bb:0d:49:ea(192.168.24.144:4000)]: connection shutting down due to error: read tcp 192.168.44.161:4000->192.168.24.144:38123: read: connection reset by peer)
    2020/08/31 11:59:34 [merge] error during merging (snappy: corrupt input)
    2020/08/31 15:38:56 [swarm] error during gossip (->[192.168.4.225:37241|26:2b:52:0b:17:71(192.168.4.225:4000)]: connection shutting down due to error: snappy: corrupt input)
    2020/08/31 15:38:56 [merge] error during merging (snappy: corrupt input)
    2020/08/31 15:38:56 [swarm] error during gossip (->[192.168.4.225:37241|26:2b:52:0b:17:71(192.168.4.225:4000)]: connection shutting down due to error: snappy: corrupt input)
    2020/08/31 17:12:19 [peer] error during gossip unicast (unknown relay destination: a6:b9:07:eb:44:02)

    restarting the statefulset also didn't work with lots of these errors

    ```

    [pod/emitter-broker-1/emitter-broker] 2020/08/31 17:37:37 [swarm] error during gossip (->[192.168.17.35:4000] error during connection attempt: dial tcp 0.0.0.0:0->192.168.17.35:4000: connect: no route to host)
    the only way I could get it to restart was scaling to zero and back up
    Montana Flynn
    @montanaflynn
    during the time with the errors emitter was accepting and silently dropping messages
    Aghaaz.butt
    @Aghaazbutt_twitter

    Hello Guyz!!

    I need help on generating a channel key from GoLang. I'm using emitter-io library.

        // Create the client and connect to the broker
        c, _ := emitter.Connect(host, func(_ *emitter.Client, msg emitter.Message) {
            fmt.Printf("[emitter] -> [B] received: '%s' topic: '%s'\n", msg.Payload(), msg.Topic())
        })
    
        key2, err := c.GenerateKey(masterKey,newChannel, "rwls", ttl)
        if err != nil {
            panic(err)
        }
    
        fmt.Println(key2)
    But my code isn't executing and also didn't giving any error in panic block
    Aghaaz.butt
    @Aghaazbutt_twitter
    I am not getting any errors, but also not receiving any messages. Any idea what's wrong here?
    Montana Flynn
    @montanaflynn
    why are you ignoring the connect error? what is the actual output log for key2, an empty string? what version of emitter go client are you using? We're using github.com/emitter-io/go/v2 and the API seems different
        client := emitter.NewClient()
        err := client.Connect()
    Pandamen
    @uppercaveman
    hi all,How emitter cluster deployment?
    notonestepback
    @notonestepback
    hello. is there some standard way for proxy servers to healthcheck? if not maybe consider adding /healthcheck?
    rabinghimire7
    @rabinghimire7
    package main
    
    import (
        "context"
        "fmt"
    
        cfg "github.com/emitter-io/config"
        "github.com/emitter-io/emitter/broker"
    )
    
    func main() {
        fmt.Println("Hello, playground")
        c := cfg.NewDefault()
        svc, err := broker.NewService(context.Background(), c)
        svc.Listen()
    }
    i want to embed emitter , this should work ?
    ged
    @gedw99
    I want to extend the dart client to work better with the golang server. Is there a todo list for the architecture in general anywhere so I can work on what is needed rather than be out of step with maintainers . The crypto key aspects I have some ideas for
    Florimond Husquinet
    @Florimond

    I want to extend the dart client to work better with the golang server. Is there a todo list for the architecture in general anywhere so I can work on what is needed rather than be out of step with maintainers . The crypto key aspects I have some ideas for

    You mean, like a list of features to implement for each lib to work with Emitter?

    I could make some grid of the features and libs that implement them. Another thing you can do is to have a look at the Go lib, and copy its features. It's the most advanced one.
    Léopold Jacquot
    @L3o-pold
    Hello, do you have a Grafana example for the metrics exported (with prometheus or statsd)?
    Aghaaz.butt
    @Aghaazbutt_twitter
    Can I get "Somebody is typing a message" event from emitter io ?
    Aghaaz.butt
    @Aghaazbutt_twitter
    And any idea, how can we get all messages of the topic.?
    Like Last: all messages
    Aghaaz.butt
    @Aghaazbutt_twitter
    How can I decrypt the incomming packet ?
    yunfuyiren
    @yunfuyiren
    Hi,guys, I want to know is emitter supportting QoS2 ? Or will it support sometime?