You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've reviewed the source code and it's really spectacular. I found 3 problems in mastodon like other Rails apps.
API
Serializers is slow.
View not using same fields for all versions of a component. Sometimes unnecessary fields are returning from api and we are not using it on the view. We cannot develop a serializer for each variants of a component.
Business Logic and Serializing Data intertwined in the code.
Domain Isolation
Separating services by domain makes it easier to scale and maintenance. That's why micro service architecture is born. The follower system and like system must be separated. Also counting views of a post must be separated than sending post to client.
High scalability and high availability
Some services are under heavy load, some services are not. So while image upload service having 2 instances, search service can need more than 2 instances.
Also for an app that consuming traffic worldwide, we need copies of our services in both Asia, Europe and America. So a service discovery tool is needed.
Also having only one PostgreSQL instance is a problem.
I've reviewed the source code and it's really spectacular. I found 3 problems in mastodon like other Rails apps.
Final: I suggest you take a look at the following technologies.
https://serverless.com/
https://hasura.io/
https://traefik.io/
The text was updated successfully, but these errors were encountered: