Skip to main content

标  题: Re: 阿里系统崩溃,没人讨论下

http://gengwg.blogspot.com/发信人: wdong (cybra), 信区: Programming
标  题: Re: 阿里系统崩溃,没人讨论下
发信站: BBS 未名空间站 (Tue Jun  2 10:15:14 2015, 美东)

做新系统又好玩,又容易,又有visibility。如果是自己的公司的话,
自然会为成败负责。如果不是自己的公司,自然是怎么好玩,怎么钱多怎么来。
management不懂技术,并且老是幻想silver bullet,这就给倒腾技术的创造了机会。
水平低点的,就倒腾个git,mongo啥的; 稍微好点的,Hbase C*来回倒腾,Spark
啥的; 自己会写点程序的,就会想着要reinvent一个啥轮子。Unix系的key-value
store,据我所知第一个是Ken Thompson 1979年写的dbm。到90年代的BerkeleyDB,
虽然还和dbm兼容,但是各种索引,事务处理都已经基本上完善了。再往后,我觉得
单机的key-value store就没有创新和本质的提高了。要有人觉得leveldb有啥牛B
的地方,希望能给我科普一下。Level DB的读写吞吐量确实比BerkeleyDB要高不少,
但我觉得原因并不是Jeff Dean写代码牛B,而是不需要支持transaction,自然
能做得快。再往后,连redis这种std::map外面包一层RPC这种东西
都出来混了,让我觉得现在造轮子基本上已是门槛无下限了。成王败寇,没啥
可耻的。

我觉得goodbug过分强调系统健壮性的重要程度。人家股市停一天都没事,你西海岸
地震了,netflix停上一两天,我觉得没啥说不过去的。人家汽车卖出去这么多辆
还可以recall呢。有你goodbug可以fail over,自然好。要没有goodbug没法
fail over,该赚钱基本上还是照赚。就是哪天netflix突然没了,日子也是照过。
之所以老拿这事出来说,无非也就是说这东西技术上牛B而已。人外有人天外有天,
或者反过来说,在这版上混的,就是自认为水平再低的,也比国内那批中学
都没上完的程序员,或者不懂技术的management强(可以忽悠他们)。
如果各人按自己技术水平normalize,大家都是在做软件,都是拿自己觉得牛B
的东西出来得瑟一下,项目做多了都有或者都会有失手的时候。在BBS上得瑟吵架,
一方面要看透点,就不会太当真了; 另一方面又不要看得太透,这样能享受其中
的乐趣。



【 在 simplify (简单,粗暴,快捷,有效) 的大作中提到: 】
: 这不正好说明相对于Java,c++优势明显?
: 稳定的系统为啥要换掉?如果不是迫不得已,谁会把已经验证成功的系统换掉重写呢?
: 一定是过去系统已经有深深的无力感,才使用一种能力更强的方法。做企业可不能行为
: 艺术,时不时装个B啥的。用好虫的口头禅,“得为项目成败负责”。

Comments

Popular posts from this blog

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...