Live data from Hacker News

How meta built the infrastructure for Threads

engineering.fb.com

141–150 of 184 posts

Re: How meta built the infrastructure for Threads

#141
post #86

Earlier quoted context omitted.

It's ActivityPub based, Twitter like, social media from Meta It's been pretty chill over there, lacks the crazy that is Twitter For me, it opens the potential for a federated social media protocol. Having a big player like Meta means everyone will likely benefit. Federated means we can move between servers without losing the network, allowing for competition in moderation, algorithms, and monetization

I'm not sure this tracks. "having a big player like Walmart in town means everyone will likely benefit" sounds plausible, but in practice they suck all the oxygen out of the room, play dirty, and make it difficult for small operators to "compete" once they gain the advantage. The fediverse is honestly not prepared for this scenario, but I do hope that the communities will rally and give Meta a run for their money. I…

From what I can tell, they are rolling out increased interoperability this year

Threads has only been available for 6 months, they plan for full integration

If Zuck knows one thing, it's social media trends, it's what he's thought about his whole life

Re: How meta built the infrastructure for Threads

#142

I'm kinda loving the obvious "X" shills in the comments coming just to declare Threads dead. It is literally the 2nd most downloaded app in the AppStore (was #1 for a bit, but Temu is seemingly unstoppable). Personally, it has become my preferred social media platform. It's overflowing with content and I check in on it several times a day, and have been really enjoying the community that is emerging. It DOES however…

It used to be my favorite social media platform, but I quickly deactivated my account on Christmas and then deleted the app.

The major problem is that Threads will surface and even recommend (via your Facebook feed as well) threads that people you follow have responded to. Great in theory, but on Christmas Day I opened up FB to find it recommended this highly toxic anti-gay post in the middle of all my friends' posts about the holiday. It was because someone I follow on threads took the bait and commented on this post.

I've had far too many instances of this sort of behavior in my life and the only options available were to unfollow everyone, constantly block these abusive actors, or leave. For me, it was absolutely not worth staying, despite the up sides.

Re: How meta built the infrastructure for Threads

#143
post #138
post #88

Gotta love how far MySQL + k/v store can get ya. I have no experience with zippyDB, but MySQL and ScyllaDB certainly feels like having an M1 Abrams and a B2 Spirit in my back pocket. I’m constantly pushing the “relationships from MySQL, data from Cassandra” narrative. It sounds like Facebook has a similar approach - although this post doesn’t make it clear where message data actually resides. MySQL, ScyllaDB, and Rab…

From having talked to Facebook engineers (I suspect Instagram/Threads is a very different beast for historical reasons), Facebook is only built on "PHP and MySQL" in the sense that the statement is technically correct but not helpful. The way Facebook apparently uses MySQL is not "MySQL + k/v store" but "MySQL is the k/v store". Forget SQL, they treat it as a key-value lookup and it's good enough for that. This also…

> look like they're trying to roll their own database on top of ... well, a database.

That’s exactly what fb is doing. MySQL isn’t used as a k/v store per se but as the storage layer of the Tao graph database (which is also using memcache. So fb builds a database on top of 2 databases, technically). Source: https://engineering.fb.com/2013/06/25/core-infra/tao-the-pow...

Re: How meta built the infrastructure for Threads

#144

What do folks use for something like Meta’s Async? RabbitMQ? > The workloads commonly executed on Async are those that do not require blocking an active user’s experience with a product and can be performed anywhere from a few seconds to several hours after a user’s action.

I'm an enormous fan of Google Cloud Tasks (previously known as the Google App Engine task service). The low-level mechanism is "call this URL later" but with a tiny bit of application glue the abstraction is "run this code later".

I concur. Why isn't there an open source self hosted version of GCT?

Re: How meta built the infrastructure for Threads

#145
post #140
post #134

Earlier quoted context omitted.

When I tried to join, there was nothing on the threads.net website except the word "Threads" in front of some spiral particles and a QR code to get the app[0]. More recently it seems they've added a login dialog to the site, but attempting to log in still just immediately prompts you to download the app[1]. Presumably once you've used the app to create and set up an account you can now use it to browse online, but th…

Then it has not launched in your region, probably. For me in EU it shows option to login with instagram or browse without a profile. No app needed.

> Then it has not launched in your region, probably. For me in EU it shows option to login with instagram or browse without a profile.

Threads itself is launched in my region. Could you screenshot the front threads.net page you see (when logged out)?

> No app needed

Do you mean you're able to create an account without the app, or do you just mean that there's no app needed for browsing in your region (with no account, or after the account is set up through the app)?

Re: How meta built the infrastructure for Threads

#146
post #137
post #130

Earlier quoted context omitted.

Pretty much any queue and a compute will do. SQS paired with lambda an event bridge (I forget if that's the service to trigger the lambda or not) would be solid. I lean towards compute that's a bit easier to run in different settings so just any old code checking the queue and executing as expected also works. SQS is cheap and it's pretty damn solid. I believe it was the first AWS service. But in reality, any managed…

Is using Lambda with an external data store (like MongoDB) a solved problem? I remember this being an issue a long time ago, where Lambda pretty much was a non starter for use cases where you're running 1000 independent tasks that each, on their own, is a small unit of work (just 1 or 2 database queries). Long way of asking: is there a way to share a database connection between lambda functions or does each run need…

Declare your connection outside of your handler function - this post is from 2017 but it shows it clearly:

https://www.jeremydaly.com/reuse-database-connections-aws-la...

It will get re-used across lambda invocations as long as the instance of it isn't killed which typically happens after a few minutes

Re: How meta built the infrastructure for Threads

#147
post #138
post #88

Gotta love how far MySQL + k/v store can get ya. I have no experience with zippyDB, but MySQL and ScyllaDB certainly feels like having an M1 Abrams and a B2 Spirit in my back pocket. I’m constantly pushing the “relationships from MySQL, data from Cassandra” narrative. It sounds like Facebook has a similar approach - although this post doesn’t make it clear where message data actually resides. MySQL, ScyllaDB, and Rab…

From having talked to Facebook engineers (I suspect Instagram/Threads is a very different beast for historical reasons), Facebook is only built on "PHP and MySQL" in the sense that the statement is technically correct but not helpful. The way Facebook apparently uses MySQL is not "MySQL + k/v store" but "MySQL is the k/v store". Forget SQL, they treat it as a key-value lookup and it's good enough for that. This also…

This is not correct. Facebook has a large number of distinct MySQL tiers, which serve different purposes and have wildly different workloads. None of them are traditional "key-value lookup" workloads, not even the core user database (entities/associations); this k/v claim is often repeated here, but has never been an accurate representation of the architecture. The TAO graph access pattern absolutely requires range scans over indexes, which is not compatible with a k/v access pattern.

source: I'm a former member of one of Facebook's MySQL teams, and among other things I worked heavily on the managed database-as-a-service tier. This was like an internal-only RDS, used by thousands of engineers for many different purposes, most of which involved SQL.

Re: How meta built the infrastructure for Threads

#148
post #88

Gotta love how far MySQL + k/v store can get ya. I have no experience with zippyDB, but MySQL and ScyllaDB certainly feels like having an M1 Abrams and a B2 Spirit in my back pocket. I’m constantly pushing the “relationships from MySQL, data from Cassandra” narrative. It sounds like Facebook has a similar approach - although this post doesn’t make it clear where message data actually resides. MySQL, ScyllaDB, and Rab…

Facebook actually moved off of Cassandra well over a decade ago. Not sure about other Meta properties though like Instagram, but the original article here doesn't mention it anywhere.

Re: How meta built the infrastructure for Threads

#149
post #39

Offtopic but here we go: Once Threads became available in the EU I, like I assume many others, made an Instagram account from my FB account in order to check it out. 2 days later, and without having posted anything except perhaps a "Hello world", my Insta account was banned for generic reason (breaking the TOS, nothing concrete). I only found out 2 weeks later, as I hadn't even visited the site(s) again. Their "Appea…

Another weird experience I had with this company is when I deactivated my FB account. A few months later a friend texted me and asked if I was going to an event. Apparently he had invited me to it on FB and FB didn't tell him my account is deactivated... So I never saw the invite and the system didn't tell him I didn't see it. I tested this with my wife, you still show up in invitable people and probably invite sugge…

Out of curiosity, are you EU-based?

Re: How meta built the infrastructure for Threads

#150
post #145
post #140

Earlier quoted context omitted.

Then it has not launched in your region, probably. For me in EU it shows option to login with instagram or browse without a profile. No app needed.

> Then it has not launched in your region, probably. For me in EU it shows option to login with instagram or browse without a profile. Threads itself is launched in my region. Could you screenshot the front threads.net page you see (when logged out)? > No app needed Do you mean you're able to create an account without the app, or do you just mean that there's no app needed for browsing in your region (with no account…

https://imgur.com/I10hXZ8

https://imgur.com/ZhzfDap

Post reply on HN