Compose.io + Meteor unreliable - other MongoDB backend services?

I’ve been using Compose.io’s MongoDB service in development.

Meteor’s connection to Compose.io drops when inactive, and at other times, wedging my app. Meteor can’t/doesn’t recover, requiring a manual restart.

Compose.io’s support was a poor experience, so Compose.io has to go.

“Meteor does work out of the box with Compose, however in the absence of that experience there’s a strong suggestion …”

My solution was DigitalOcean + Compose.io. (My app needs Linux software installed, so Modulus and Galaxy are off the table).

Database-as-a-service is appealing to reduce complexity, but not if it’s unreliable and my app can’t connect.

Have you had success with other MongoDB backend services?

Do you prefer to host your own?

Thanks and good luck!

1 Like

MongoLab is probably the next most popular Mongo service on these forums. Funny thing is I’ve had much better luck with Compose.io (including their support) than any other service.

1 Like

I really wanted Compose.io to work. Thanks for the tip :slight_smile:

I have used MongoLab in production on multiple Meteor projects and have never experience any problems with it.

One difference you should be aware of is that the lower level service tiers do not employ oplog. You need to use a replica set tier to get the Meteor oplog integration working and benefit from that efficiency.

1 Like

Hmm - this is a bit unsettling… Is a common issue?

Is not Compose.io timeouting only cross DC on AWS ? I remember something like that, with note to use local compose.io or set something specific…

I wholeheartedly disagree with compose being unreliable. That being said, you should rewrite your post title to reflect opinion more than proven fact.

1 Like

I agree with @goatic, Compose.io has been extremely reliable for me.
Support response times are excellent as well. During a particularly demanding week for one of my apps I opened a ticket to increase resources and received a response 7 minutes later, resources bumped 5 minutes after that.

3 Likes

@goatic, @jfols Thanks for commenting.

I’ve been using Compose.io for several months. For whatever reason, I reliably have to restart meteor every morning, because it’s not reconnecting. To me, that’s unreliable to lose the db and not have it reconnect.

When I contacted support, I got the run-around on it. Compose.io felt like an enterprise service organization. “The less-good news is that standard Compose support does not extend to the application layer.”

After several brush-offs, I may have gotten to a 2nd level support person. See the linked issue.

Compose is marketing to Meteor.

It’s a big ask for $18/mo, but after working with it for several months, it’s not reliable enough to go live with. Compose.io does not seem like a partner in figuring it out. MDG said they’re working on it.

Whatever! I got 99 problems, and this ain’t one!

Sounds like an issue with your deployment on digital ocean, not compose. Let us know if MongoLab or another database setup works better for you.

When I contacted support, I got the run-around on it. Compose.io felt like an enterprise service organization. “The less-good news is that standard Compose support does not extend to the application layer.”

I wouldn’t expect a database provider to help you debug your app. It’s doubtful that the issue is with compose.io. It is probably an issue with your app or your deployment scheme.

1 Like

Sounds to me like your application is unreliable :frowning: I don’t mean to be rude, but you must have trouble with your configuration, not compose. Try connect a plain app to the db, and see if the problem persists for that as well

Technical information can be found in the attached meteor github issue.
Snark and marketing info can be left here.

Drops mic. Jumps off stage. Switches on rocket boots. Flys into sunset.

1 Like

Snark and marketing info can be left here.

Well, since you asked… :wink:

Marketing info
Annnd this is why I use Modulus (and soon Galaxy), so I don’t have to deal with these type of garbage issues.

Snark
Why is your database in a separate datacenter from your app? Seems like you’re adding unnecessary latency for the user, no? Also, are you using the compose.io MongoDB+ beta with SSL? If not, isn’t your app sending unencrypted data over the open internet (since your app and DB are not in the same datacenter)?

@michaelcole are you using the free sandbox database or the production replica set? I’ve been using the latter and have not had any issues, one app as been up for several months without any errors (on 1.1 it think).

@michaelcole you should take a look at these resources:

There is a fair chance the issue is with a malformed MONGO_URL and not Compose. In particular be sure to Always use resolvable hostnames for the value of the host field in the replica set configuration.

I encountered a similar issue many months back where a production app would connect but fail to reconnect. Updated a malformed syntax and it hasn’t dropped since. Compose has been very reliable in my experience.

My experience with Compose is pretty great. We had some issues, but they helped us.

May be you need to move your DataCenter to Digital Ocean. If it’s still on Digital Ocean, may that’s the issue. If then, try to move it to AWS. (Our DBs are on AWS)

Thanks for the feedback everybody.

Did you read the github issue? There is a DB connection issue that may be related to connection pools and timeouts. Azure platform also had firewall issues for other MongoDB connections.

Datacenters: Compose.io says it has a presence in the DO NY2 datacenter.
Encrypted data: Mitigated by same data center, but a valid concern and doesn’t appear to be offered/configured.
Plan: paid
Connection Strings: They’re fine and resolvable. Those issues are important but unrelated.

I’m moving to local MongoDB hosting next iteration.

I tried Compose.io only after IBM bought it and it was a very painful experience. I had Mongo and Elastic Search instances and, for no obvious reason, I got random downtime under a megabyte of data.

Since I move to MongoLab I never had a single problem with it both with the cluster and pay per gigabyte account type. For Elastic I’m using Found.no and I never had issues with it.

Ran into this issue for the first time in production.

Digital Ocean had some planned outages. After the outage the connection was broken and Meteor didn’t reconnect. Had to restart Meteor to reconnect.