请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 553|回复: 0

如何搭建一个拖垮公司的技术架构?

[复制链接]
发表于 2021-5-14 12:26:50 | 显示全部楼层 |阅读模式
本帖最后由 蓉ZXM 于 2021-5-14 12:32 编辑
- U) I( {# G3 j8 B, ?. `" K* M2 t- h( F
      架构师不仅拿钱多,还受到程序员的崇拜、妹子的仰慕。他们走路带风、出场自带BGM,吹啊吹,我的骄傲放纵。唯一的缺点,就是费头发。架构师虽好,却不是人人都能当的,除了聪明绝顶,还要有扎实的技术功底,经过多年的努力,我做到了一点,我已经绝顶了。一名架构师,必须身经百战,经历过无数重大宕机事故。因为神枪手都是子弹喂出来的,身上的每一块肥肉都是你亲口吃出来的,无他,唯手熟尔。我作为技术Leader中最懂架构的骑手,不仅送得一手好外卖,还搞宕过不少大型系统。下面结合自己的经历谈一谈:如何搭建一个拖垮公司的技术架构?8 N5 N5 N- z  K  @; w- Z" o6 J% X
9 Y( K2 v3 w  T2 _, D7 J

( ~, Q: a8 f5 O5 a8 y8 v: c; D
   一、系统主链路尽可能单点

+ P9 ~  `) X* K# w  L' ^; D& o

$ R3 }( q  Y" C
单点系统,就像苏伊士运河一样,一旦航道出故障,整个运输系统都瘫痪,非常酸爽。2 B# D. ?/ R( A3 r$ q
单点就像单身,开始的时候滋味不好受,但是不用担心,因为后面你就习惯了。
" {. ~% V! D6 _0 d, S! B4 Z$ S9 O
4 \1 p8 z0 [- _% g1 y2 r9 C
" b. J+ L/ Z# [' q
$ [$ w. k8 @& ]1 \

5 M6 c' M: h% ]; W9 ~+ m6 S4 |6 F
二、程序中多用循环

/ j6 Z+ M; y: f6 ]0 z
5 g& l/ X* Q$ r* V# p9 v
' o$ _5 R5 u0 M( x
/ U% ]7 F* _% p$ H0 {# N0 J! V
无限死循环,是老K最爱用的编程技巧之一,当你看到CPU利用率百分百的时候,你就知道应该甩锅给运维了。3 }; Y3 s, i8 b( A. j
这年头,没点特长技能还真不行。比如我,玩得一手好乐器----退堂鼓,打得特好。
+ K9 D( P8 A# c+ c( K

0 h. }. s6 h, ]+ H; Z5 P/ R0 f$ b9 O

9 C8 N: e6 H$ \6 M* \
三、系统间增加依赖
5 v# W$ x  H5 A2 f" f
; i/ Y; i4 M7 B/ G5 i2 M

" y8 Z/ h1 |& H/ V8 V
在系统里增加内部依赖、外部依赖、第三方依赖。总之,能依赖的,不自己动手写。
& o! R2 \* C' o老K有今天的成就,主要是因为我的动手能力强,我这辈子只有两件事不会:这也不会,那也不会。
# I. `6 @3 X+ a; K+ ^8 d) `% d2 t7 [) E( v$ p1 b/ {7 b& m$ V

( V. |! q; }- D5 z3 J! T9 Z. H
& G9 z/ ]; [+ w9 G: k& o: @

9 I8 ^1 S5 }% W5 u: T5 Z. B
3 q; R; G/ q1 Q: l4 ]

- i7 @1 H( ]9 X2 c3 `
' ], r  Q. Z. k4 l9 i
四、不做服务补偿
3 W2 P7 M3 f* j& w& D1 {( \+ e6 J

) x) f8 D$ K" F# ^

$ f: W8 x; j0 J7 B/ J+ M: I2 G+ q
很多东西,错过就是错过,没法补偿,这就是人生。% F7 j% ]4 }" ]$ ]
作为架构师,要有哲学高度。所以说小伙子,你只看到了第二层,而你把我只想成了第一层,实际上我是第五层,你知道我讲的是什么意思吗?( O. o/ x4 L4 l# U5 c! _. B

* o: ~9 O( v& \) i) z1 q8 L7 o

2 N, Z0 @0 s- M

4 U2 N7 R" k. H0 O) @% J; ~
五、不做幂等设计
! G; w' r, `4 v$ N% U5 V/ y) j" w

! [1 m, @5 n' @' X2 P, e2 F

2 `3 {) [, o2 H; m# o8 D
1 B3 g* l( y# Y5 K  t5 J! ~

' }' ]" \5 n3 V, F' s) E& i
凭啥后端接口要做幂等性设计?前端提交的时候不做判断吗?全都丢给后端开发做?6 t" X& C3 U' ^- g" o) b
大家都是打工人,人要脸,树要皮,电线杆子要水泥。! W& J/ E* q" i% T. i3 F  k" ?

% M/ O! u2 o5 ?  c+ d  n7 N

3 o' L4 u$ F$ s! w  X$ _8 ~9 G
六、不设置超时
  C: s2 F3 W- W3 H% P
* j$ Y+ F: r$ @4 Y1 u

' R. A/ E1 W3 G
2 M& l' `- O' @- p9 ]/ b9 J
连接超时、读超时,有多大设置多大,不管内部调用还是外部调用,都设置成60分钟。; C7 D& x; d+ u1 Z) T
只要努力搞,没有时间搞不砸的事情。做不成时间的朋友,就做时间的炮友。+ H4 w4 `; t1 l6 O9 g
) w: f6 r$ q: h* p0 O. `

; i% P  r# u. k/ }( o7 \' m6 h8 |7 ^
0 I, ^3 K* T- \8 n; y. \# A  w) R: {) X9 Q

: N  h  {, w6 r1 x8 {
七、不控制流量
' ]7 i# B8 j$ ]$ x( Z( _! U2 g

2 o; B. I: e" A; [) u+ V. x
! O7 C* I+ [0 I$ m% s
让流量来得猛烈一些吧,千万别限流,什么漏桶算法、令牌桶算法,那都不如啤酒桶算法----喝完就睡,爱谁谁。
- N+ M9 ~& c0 `还控制啥流量啊?你连体重都控制不了,趁早放弃吧。你看看八戒,走了十万八千里也没见瘦下来,而且,他还吃素。
' B: T3 A: @6 o* d1 I' B
8 D0 |6 ^1 y5 {

* J% l# Y! v- q/ J' B
8 Q4 y6 C) T, Q: J3 G, |: w$ N1 ]
' m7 @' ^/ _1 P! d) x8 C
八、不做监控预警

2 s* N% y" }. W; \3 e
" C8 N. m" F' h9 G' m. B; B
9 a  ~: J# c" d0 [
大家都是职场成年人,做好分内事,别多管闲事。
( ~7 t& Y& I% m2 z5 O- K% x: c工作几年以后,我明白一个道理:熟练的运用“关我屁事”和“关你屁事”,可以省下人生80%的时间。
% w* D9 L7 F, O, S- D; n8 c" h9 U& G6 m* J! s" D; K& G/ l; [

6 x, c# d! Y9 h5 ?" a* S5 Y9 u2 v) Y( X# g8 S
& ], t1 S) D( x2 r
5 T9 E# G4 h$ T7 z+ K+ i, W7 c
九、没有重试策略

  G% X( o9 z* u. ~0 M" q

1 \) S8 |9 Q8 w+ Z8 F7 W3 P8 `0 G" V3 P0 w$ N6 n

# [9 p' X2 n2 u! Y7 G
服务调用失败,你还想重试?我可不是随便的口。
$ s0 ]+ k) P; `1 s5 z" Z人生不能重来,更不能乱来。不信?你让医生,给你开点后悔药,再来杯忘情水,医生立马送你去精神病院。
+ l8 l( J$ k, f; ~5 u9 ?0 q
- Y3 f' t+ P2 {! m8 V* K
" v4 K# R0 a- i( d7 j3 Z  \- D2 R" x
十、不做系统隔离
0 V: f! c6 P4 ]2 C' j9 H0 C( p1 p
% H1 P+ r4 E8 h4 T, Y/ A# j" X

/ ^5 S& Y" x. B
千万别做系统隔离,要挂一起挂。
9 ~7 z6 T  Z9 ^) O& W/ C什么是真正的兄弟?就是当兄弟需要女人的时候,挺身而出做他的女人。面对困男,要排除万男,迎男而上。! T$ P% y! L8 e6 s
* e$ J3 o* f( J6 _" X- g

, j; ]. P6 S6 W* \
十一、代码同步调用

% ]- k( A* `  |! a
- F4 E; X  \/ b0 s. n7 P4 T* H

6 [& u* G0 s/ h+ i1 R5 @
4 U, L3 t! T% z
  p, l! G" |, o: ^& w3 b0 j: R
做系统就要步调一致、讲究和谐,尽量同步调用,多写bug。4 j( M8 ]8 Z# W' D& V" I- o
通常我写bug的时候,喜欢中午写,知道为什么吗?因为早晚会有报应。5 N1 C- m- m* `# G8 \- n

2 Q5 m) h0 O: ]' D- S
# n& R: z5 {9 x" P5 J5 {
十二、不做热数据缓存
9 F: R) j/ }% g; p
  
/ _0 r! b; {0 {9 \) j0 n
RPC的意义是什么?就是被调用啊。疯狂地调用,是对一个服务最起码的尊重。
5 x$ B8 S& x) K& F# ]; ?你知道为什么大项目上线都要选个好日子吗?这么说吧,你认为上线以后还会有好日子吗?
$ e2 x8 `4 F' r. ^  f+ w2 F
$ ?: k* D( @  X% a. W: ]" m, E: |. L

! O  g6 E  O' \" [: X& i( f/ U$ j
十三、不做系统分级

3 Z8 q1 |# ?6 m' I7 W: J$ g  W: K% j5 C7 L$ V2 f6 X

3 E! Q3 E. X; f! N, z) a2 C# I: B
对系统要一视同仁,不要区分核心系统、非核心系统,你有考虑过系统的感受吗?
: V4 t" ]3 L4 `' V3 C7 t4 M4 ?如果你被分门别类,你会开心吗?回想起来,小时候我们都很快乐,就是因为那个时候的我们,丑和穷得都还不是那么明显。% ?$ Z! @; B. h/ @- [% r" N0 F) S
; P8 w& e- Z1 E5 ^

2 z/ J2 _+ b) J$ I2 Q0 B! _. {# m6 U: L5 g% b

# v" E# p* {3 k$ D; r
6 T8 F, y) b3 P7 c- g7 [" b
十四、没有服务降级

* _; h2 N+ S) h* E
7 X9 h' U7 V/ a' U' E  Y" s1 \5 L

( F2 Y0 ]$ F! l( o1 S
服务降级就low了,就算宕机也要一起扛。
/ ~; |8 z8 }4 F5 [, g! i* y人生没有白走的路,如果有,那就是微信运动出bug了。
- ~0 `) Q8 X8 ^& N+ d
2 J2 S1 l- \+ h. g' z

4 U4 @; v6 n+ q' N
* [- ?* U' H) t2 C* C* P
" X, z. ]' A- w" ]$ `

" h+ y6 D# t2 k# s) J9 G- R+ Z& ^  l
五、无灰度和回滚方案
4 \- D$ L( v( \# g

  Q& V" t2 L7 k( ~7 f& h* E* I  s
  u5 O- t) V6 @, ]0 \+ h: g9 V
5 k/ {8 e3 \0 E2 G4 Z* J& Y* K/ Y

+ K5 {! G% ?  z: h0 S上线全凭运气,没有回滚方案!就是那么自信。
7 D1 }  ^& T/ X+ w7 [6 p我这个人,长这么大没学到别的本事,就掌握了一项特殊技能,白天不用安眠药也能安眠,晚上不用兴奋剂也能兴奋。论熬夜发布,我从来没服过谁。
! Z# b) O2 w6 U3 ^+ ^% \; p; q
3 r2 ~2 T8 E) w/ c

0 k4 P9 |' O. Q* S! v) l0 ?

4 Z0 f" W% i$ o9 o: N/ u& H8 g: C' _+ c( k3 @0 C* b
3 O6 r9 q( @) ?9 j7 E
. c) D( r- X- M9 X, E
  十六、程序多做远程调用
6 U$ d  Q( ?7 Y( D* f& c3 }
  
; A6 |7 J& H. {( F6 S9 k
3 o- f( G+ r0 b6 O* Z
0 @5 j3 ]( H; h; A7 t
6 w0 V  ^, @0 a1 W& P; w
! z0 P5 l9 I5 P5 [/ b4 f5 v% r
能远程调用的,绝不本地调用,都5G时代了,网络延迟那点事不算什么。, v8 E( S" E- O5 O) E: i4 }
再说了,做人要有点耐心,女朋友约会迟到一小时,你敢发火吗?不敢就对了,千万别惹女人,她们是流血一周都不会死的动物。0 l4 X4 Q1 T4 E

1 J. Q- k: p: d( R' x. R+ s
7 k" H  k3 W- j, P5 u

/ t- c( W# \) d! A  w* e

8 C) _7 k1 _8 q- V
十七、不做熔断机制
+ k6 D  O5 |+ R9 p, T1 e. ~
$ q6 {! p1 }5 U7 X: x* f9 X
0 X3 d' l, w/ r* y& k5 G6 P; X6 ?3 w

( e9 c. s' {' K' q! s
" {! B. e! W! Q7 l+ Q

- v/ o3 K$ K: X: I% S炒股炒昏头了吧,做啥熔断机制?* `0 h4 W2 X$ m! ~* d. Q
你问过韭零后吗?基金都绿成啥样了,他喊熔断了吗?作为韭菜,学费还是要交的,趁年轻的时候多交点,这样到老了再交你就习惯了。
& c# ]# V: I2 S- }6 x# v9 h

, {, T7 d+ k& {- ^& L/ U
2 h$ j1 G; y" X+ o1 u& V1 V* h4 f! Q+ V* l  o& o; m& p/ e/ b9 z. y
5 e1 g( r0 J+ A+ Y& ?  v0 ^
十八、不做代码扫描
) R$ T! I) @/ ?9 D3 B2 Z
+ i, i* y% ]; s: a

4 y) \/ u7 l( r
要有工匠精神,自己代码自己review,机器哪里懂得欣赏你的代码艺术?
7 a# K1 M0 ?' Z$ S  h* o我那骚气的注释、奇妙的函数、神乎其技的Copy/Paste。每次看代码,都被自己的才华吓到。  |' \# E- {2 D8 M  i4 D# l( j

3 b: T+ S. g5 ?; t% u0 U
& {  T1 A- ]6 e( ^; T8 V9 s
7 B& N% p3 r2 c/ M7 X
# _5 E6 g+ t3 E1 S9 g
: J( J5 A2 o% m1 ~1 d
十九、不做线上压测
, V6 C% g4 s/ B% C8 g/ E; o
* M. a1 _( i2 ~6 H4 ^

/ U/ {' f. t0 Z/ \/ [5 f7 |
上线就完事了,后面的事情交给菩萨吧。( h% S# q% x, x) _8 X
一分耕耘,一分收获。天下没有免费的午餐,所以我一般都睡到下午才起床。
2 z- G$ [5 g, V' {/ j' J2 c- X! f; ]8 ~; m9 v' i( A3 |

( F) p% y1 k/ v
3 W/ o, L- n+ I. z% D4 D

  V/ e/ c" z, _! p# W# a

0 M) h' p3 M5 K
结 语
/ e  J& d/ d" q6 B6 x' S+ [
' w% b! }( g* q% l) G  D
- ]) S3 z; f3 \$ |4 {
0 ?" v1 {) Z  X8 N+ k
架构设计的骚操作还有很多,以上任意一项玩到极致,都足以把公司搞垮。6 T3 T9 U- y8 ~7 h7 c2 [0 ^- e$ ]8 \' R
架构师是最接近圣人的职业,优秀的架构师每天都三省吾身:早饭吃什么,午饭吃什么,晚饭吃什么。最后,愿上帝保佑每一位吃饱饭的架构师。(IDCF)
) C" V1 F& j8 U
: j) b# c+ l) E9 T  D; E) }7 ?




上一篇:DataOps、MLOps 和 AIOps,你要的是哪个Ops?
下一篇:高效接口测试的策略、原则、结构与实践技巧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

参加 ITIL 4 基础和专家认证、长河ITIL实战沙盘、DevOps基础级认证、ITSS服务经理认证报名

QQ|ITIL ( 粤ICP备11099876号 )|appname

GMT+8, 2022-9-26 20:59 , Processed in 0.109803 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表