# web技术栈小结2020

上次的小结是3年前的 web技术栈小结 ,到如今接触的又有了变化,故小结一下。

值得一提的是,这里是个人实际接触和使用的,而非完整的web技术栈。

# 一.总览

# 0.网络和服务器

在云厂商的大力发展下,如今已没有几个小厂还执着于自建服务器或托管,都是上云了。

除了服务器使用云之外,数据库,日志,LB等也是直接用云厂商的。

需要服务器时,在网页点一下即可。不需要像以前那样:采购服务器,安装系统,配置环境,发物流到机房,调试机房网络,上架。

那原来做这部分工作的人去了哪里?不知道。

# 1.系统

Centos

Ubuntu

# 2.监控

Zabbix

Prometheus

Nagios

# 3.日志处理

ELK

Sentry

云厂商产品

# 4. 数据库

MySQL

Mongodb

Redis

Clickhouse (列式)

# 5. web端

CDN + OSS 或 (Nginx或Apache服务器)

# 6.代码和项目管理

gitlab

jenkins

禅道

tower

# 7.语言

shell,python,php,node-js, golang

# 8.框架

laravel

swoole

ThinkPHP / yii

koa / egg / nest

# 9.调度

gocron

# 10.虚拟化

kvm

docker

k8s

rancher

# 11.负载均衡

云厂商产品

LVS

# 12.API文档

Swagger

yapi

# 二. web架构图

web-stack-2020

注释:

  1. K8S的出现解放了后端部署,所有的应用都打包到docker中,非常的方便。
  2. 前端打包后,直接丢OSS中,OSS会自动刷新CDN,也非常的方便。
  3. 基础监控用云厂商的,但还是需要有一套自建的监控,一些自定义的业务会用到。
  4. 日志系统可和K8S集成,使用方便。
  5. 数据库主要还是MySQL,缓存还是Redis,对于中小企业来说没自建的必要。