State of Meteor?

I hate to be the jerk to rain on someone else’s parade, but the only way I’d believe 50K ccu on 3 doubles is with a screenshot from the galaxy control panel. I would be surprised if you can handle 3K ccu.

4 Likes

+1… 50K CCU on 3 Galaxy Double’s!!!.. c’mon dude. Prove it please @juanpmd #NoPhotoshopEither

1 Like

We have a growing Meteor app in production for 3 or 4 years now. Pre-Galaxy using MUP on AWS EC2, then switched to Galaxy. We’re behind a few versions on Meteor. Still on Blaze. We’re more focused on the app than the version of the framework - so we haven’t fixed it since it hasn’t broke (yet).

Our app handles huge bursts of users (often thousands) at live events all descending on the app at the time time. So it’s had some unique challenges. A couple of notes:

  • We learned very quickly to deliver the app-bundle through a CDN and not the Meteor server - doh! I have a really long post about figuring that one out.
  • The micro-service that handles all those user bursts had to be stripped of all pub-sub. All client-consumed data is delivered using cached Meteor Methods and thus heavily debounced off the database (this was a huge breakthrough). Anything real-time is updated with laser-focus for bare minimum overhead via redis-oplog’s manual Vent tool.
  • All client responses are also handled very carefully using caches and special update techniques to the database to minimize pressure. We basically “round up” groups of responses versus sending them one-for-one to the database (another huge breakthrough)
  • On the admin UI’s we use pub-sub with redis-oplog. Any graphical element (e.g. a chart, graph, etc.) that is representing all that response data in real-time using Blaze and Meteor’s default real-time “magic” will grind a user’s browser to a smoking halt as thousands of responses flood in within seconds of each other. I think this is more Blaze than anything. Had to turn all that off and switch to publishes with polling and/or more intelligent updating in certain situations.
  • We use redis-oplog. Every now and then there seems to be some quirks we’re still working on but for the most part it’s solid. And can handle a lot of traffic.

Overall though, we’d be nowhere without Meteor. I’ve wondered where we’d go if Meteor slows down enough and gets left behind. Maybe next.js? Not sure. Glad to hear @veered’s comments.

I also wouldn’t mind getting off Galaxy if there’s a home-grown solution that handles container scaling and rolling updates as well - with the user’s browser just refreshing to the new version.

13 Likes

I just have wonderful things to say about meteor
I have a few web apps running smooth for 1 or 2 years, related to IoT

I just have one single complain, which I really want to overcome
I can’t make a form that can upload an image along with other kinds of inserts (tried autoforms, uniforms, no success)
Other than that, I’ve never had a problem, but anything that requires that image upload form, I just can’t do it on meteor, and I had to migrate those to something else

But that’s me being too noob I guess

3 Likes

What’s stopping you? We use slingshot with autoform, in the before submit callback we trigger the upload, then add the S3 key to the inserted/updated document

3 Likes

Another option is to use ostrio:files
With it you can self host or integrate with file hosting services.

I developed 3 production web apps using meteor.
First one is a panel for large sellers control deliveries and requests. Second was a book companion which recorded your reading data and progress.
Working now with a GeoSpatial data viewer, using some data to generate reports and graphs.

I believe that Meteor help me achieve a lot of things that I had to spent a lot of time figuring out in other frameworks.

gonna give that a try, I’ve tried all sort of methods, even tried other people’s developments on the subject, but none worked on my side, even clonning their demos, the uploads never worked inside a form, and the ones that worked didn’t use autoforms/uniforms, they used simple non reactive forms. I just hope this is what I’m looking for.

@fillipefeitosa
I tried ostrio:files, and Indeed managed to upload images, the problem is, I never got to make it work inside autoforms or uniforms, but again I think I’m missing the right knowledge there, some people say I just need a wraper to make it work, but I don’t know how to make one, and I can’t find documentation about using both things together :frowning: .

If I ever manage to do that, there’s no project I wouldn’t be able to make in meteor, it’s pretty much my dream right now.

1 Like

I see - I think I misunderstood you, I don’t know of any way to do it with a simple autoForm, we use something like this for the HTML:

       <img src="{{logo}}" class="col-md-3" id="logoPreview" />
       {{> afFieldInput name='branding.logoKey' id="logo" type='file' value=""}}

then in the before.submit hook we do something like this:

   ...
    doc.$set["branding.logoKey"] = uploadWithSlingshot.call(file);
   ...

Its a bit more complicated as it’s async, but basically uploadWithSlingshot returns the key of the upload in an S3 bucket.

2 Likes

I am currently co-maintaining ostrio:autoform-files so let me know if anything is not working. Just leave an issue on gh even if it’s just for seeing more examples / better documentation.

3 Likes

We could probably extract this into a package if it was of interest/use to people

2 Likes

We initially used ostrio:files, but had problems (not related to autoform) so ditched it in favour of a roll-your-own solution using slingshot, it took a lot of the load off of our servers and improved our reliability significantly

I think this would be actually of huge interest to the average joe like me

@jkuester thanks, I actually read the ostrio wiki and found a lot of usefull info, but sadly coudln’t get enough to make a form work with it. I’ll leave an issue on gh as you suggested and hopefully get a small example using files in a form, thanks a lot!

Friend,

Actually is not that hard to use both.

You can check this docs and package to use with ostrio:files, https://github.com/VeliovGroup/meteor-autoform-file

And if you need to see an example, check my public repo Urbanus.


Make sure you check both Team and Image Api’s.

If you need anything just ask! Good work.

5 Likes

Thanks Fillipe, seems like this is just what I needed as an example!
This is another amazing thing about meteor: the community is awesome too.

4 Likes

EducationLink has been running smoothly for 3 years now. We use Vue.js. (geteducation.link).
We have three different Meteor apps for three different types of users, all connecting to the same MongoDB Atlas instance. For background functions we use AWS Lambda. We also have some special APIs on API Gateway.

3 Likes

Since it is also related to this post, I would like to encourage everyone to participate in the community survey.

5 Likes

Have to say that it’s making a point.

4 Likes

I’d been a long-time ColdFusion developer (yikes! since 1996) and loved how quickly you could develop multi-featured apps with not a lot of code. I switched to Meteor around 3 years ago and have 7 Meteor apps built of various complexity and features. Like ColdFusion, it’s easy to build things “incorrectly” that can impact the performance or reliability of the application. i.e. both platforms give you enough rope for you to completely strangle yourself with.

The hardest part is optimizing Meteor’s pub-sub and memory consumption. One thing that doesn’t get mentioned much is the performance of the underlying database provider. After switching some of my apps to fast-network, SSD-based MongoDB instances, I could see much faster performance in several parts of my apps.

As previously mentioned, I do sometimes rely on methods to retrieve data, since the awesome reactivity pub/sub provides isn’t always necessary, or worth the penalty.

I’m currently working with Vue, Vuetify and Vuex for the front-end (no Blaze at all), and must admit it’s been tougher than expected to get started because there seems to be MANY ways Vue can be integrated with Meteor without really seeing a “Best Practice” obvious path. The online examples are all over the place, but the single file components truly are sweet!

I have no short-term plans to switch away from Meteor, but there’s also the thing about using the right tool for the right job, and I can see where Meteor might not be the best fit in all cases.

7 Likes

I’m developing software in meteor since 4+ year. Solo and in teams. Clients in public and private sector. And I’m very happy with meteor and will continue using it in future projects!

10 Likes

nodeJs (zeit now)
[ more characters.]