System Design: 读书心得2

原文在这:

Title: From a Side Project to a Startup - the perspective of a backend developer

网址: https://medium.com/coobyhq/from-a-side-project-to-a-startup-f029fb22e83d

会去看这篇文章主要是因为这间新创是在美国的朋友辞职回台湾创立的,在这次准备面试中,发现自己在System Design很不熟就想说可以去看一下并且学一下。

这间新创叫做 Cooby,Cooby 是主要在做一个 CRM的产品,基本上呢就是去帮助人去处理跟维持跟客户的关系。有兴趣去了解可以上他们的官网去看一下这个产品在做什麽。

看完这篇就发现有很多细节都需要再了解,因为现在市面上有很多不一样的 Tool 可以来帮忙架设整个Backend的系统。毕竟对於每个不同的产品都有利有弊,所以需要去了解Trade-Off来做决定。这篇文章主要就是带我走一遍他们一些在选择上所使用的产品。

首先,先要了解他们是一个新创,所以他们很注重於能很快的将产品 Design -> Deliver,然後将重点研发留在他们的 Core Business Unit。所以很多选择都是Based on Familiarity。

https://ithelp.ithome.com.tw/upload/images/20210913/20141003BOQYFMHlNQ.png

这是他们手机跟网页的APP用的 Backend 的 High Level 的 Diagram,大概来讲是一个 Platform-as-a-Service,利用Heroku来作为主要的Platform。这个图还有他们所使用的 Data Storages (PostgreSQL,Redis, AWS S3) 跟不同的 tool (Datadog,ELK Stack) 来用来当Logging 跟 Tracking。剩下这篇还有提到使用的一些 Third-Party Integrations,像是利用 Stripe来作为 Payment 的Solution,MailChimp来寄 Email给客户等等。

https://ithelp.ithome.com.tw/upload/images/20210913/20141003bhOgWIuaHM.png

利用 Flask App来当 Entrance of Application跟Handle HTTP Requests,传送到所谓的Interactors,基本就是他们主要的 Business Core Logic。再去跟不同的 Services 去处理不同的Request。

看完这篇文章,学习到了很多也看到很多以前不知道的 Tool Set。在之後可能会去看一下这些 Tool的用处~


<<:  Day13-Async && Await

>>:  Day 3: Nativescript UI - Part 1 - 布局容器 (Layout Container)

Build OpenWRT於Raspberry Pi4

前言 先说这是新手纪录流程,最近想研究一下树莓派当作开发板的使用情境。 於是开始了这个纪录文章,想说...

[VSCodeVim] Touch Typing 建立良好的键盘操作习惯

盲打(Touch Typing)建立良好的键盘操作习惯 [系列文目录] 如果我们要使用编辑器进行有效...

ProxmoxVE PVE VM 安装 ChromeOS

ProxmoxVE PVE VM 安装 ChromeOS ChromeOS 版本 Download ...

Day 05 - TypeScript 语法

字串 string / 数字 number let userName: string; // 将变数...

Android Studio初学笔记-Day29-ButtomNavigationView

BottomNavigationView BottomNavigationView为底部导览按钮,及...