[Go 编程语言] 问一下大家要想成为架构师需要掌握什么技能?

这几天 app 老是转圈( tornado 开发)领导天天问我咱们架构行不行,要不要换语言重构。
我认为的后端架构不就是懂这些吗:
k8s+docker+nginx+supervisor+gunicorn+ansible 部署项目
python 、go 开发项目
redis 、rabbitmq 队列
mysql 、pg 、elk 、cassandra 数据库
etcd 配置中心

还有什么是我需要掌握的?
(其实我觉的我欠缺的是系统的业务架构:比如 分库分表、分布式事务、内存、cpu 的调优上。)
…..

其实我们的并发不太大,但是就是数据量大了,以前写的慢查询比较多。

nginx 错误日志:recv() failed (104: Connection reset by peer) nginx 配置如下:
upstream doctor_up { server 127.0.0.1:8400; server 127.0.0.1:8401; server 127.0.0.1:8402; server 127.0.0.1:8403; server 127.0.0.1:8404; } 

找了两天发现,nginx 打印错误都是在同一个端口上。而且顺着错误往上找在之前都会出现好几个请求访问时间 30s 左右。怀疑是不是写入数据的时候锁表,导致查询卡住,然后后台服务端口堵塞。nginx RST 连接 close 。
============= [ pad ] 转圈问题处理方案===========

  1. [后端] nginx 连接数调高、buffer 缓存调大、keepalive 加了长连接
  2. [后端] 增加后台服务进程数
  3. [后端] 慢接口进行读写分离优化(分析错误日志,找到转圈时刻慢接口)
  4. [后端] 增加自动访问接口提醒功能(每分钟)
  5. [后端] 增加了调第三方服务超时时间
  6. [前端] 优化了超时时间 30 秒改 10 秒
  7. [前端] 优化了页面快速切换的重复请求

发表回复

您的电子邮箱地址不会被公开。