在受限于公司技术约束的日常产品开发中,很少有机会超越善与恶进入时髦技术的热潮。但是,当您自己承担所有风险并且开发的每一天都自掏腰包时,您真的想走捷径。在这些时刻之一中,我决定步入如此黑暗的服务器林,以前以某种方式感到羞愧。发生的事情给我留下了深刻的印象,我什至想写一篇文章《程序员霸权的终结》,但是在项目运行和开发六个月之后,我意识到,这还不是完全的结局,而且在这个非常无服务器的后端中仍然存在着知识和知识的地方。经验。
建筑
我所做的第一件事是从限制列表中消除了供应商的锁定恐惧感。我们仍然必须努力扩大规模,以使其成为问题。
— , devops , managed- .
, « », MongoDB, Stitch, Realm ( Realm, Stitch Realm, MongoDB, Inc 2019 )
Backend
:
Node Redis Server Side Rendering ( , Atlas ), SEO- .
. , , computed-runtime .
Frontend
: React + Redux + Redux-Saga + TypeScript
, , - - . , , .
, Mongo.Realm. (Google, Apple, Facebook, Email/Password ) :
(, , , , ..).
sync , push-, , ( , , ), , . , , , .
, , GraphQL.
, 100 RPS ( Node.js PM2), 200 , Mongo 500 .
Mongo.Realm , , (M1, M2, M5): , , , - aggregation-pipeline 5-10 . , ( aggregation-pipeline), , .
, 10 , , , .
Server Side Rendering , .
, (1 ½ ). 5 , , , SEO c first class citizen.
, 16- , 4 .
, 1,5 .