架构之美
文章平均质量分 59
架构之美
迈克雷(MichaelRay)
2003年开始从事互联网开发相关工作,技术极客。目前担任全栈工程师,WEB架构师,目前主要专注于Node和MongoDB技术。
展开
-
去中心化应用中的CAP原则
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本) 可用性(A):保证每个请求不管成功或者失败都有响应。 分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。 CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于原创 2021-03-11 21:52:27 · 135 阅读 · 0 评论 -
淘宝网的架构演化分析
2012年11月30日,淘宝(包括天猫)的当年交易额突破1万亿,这是一个可以鄙睨亚马逊和eBay的数字。而就在此前不久的2012年11月11日,淘宝更是创造了全球电子商务的奇迹,当天总交易额:191亿人民币 零点的第一分钟,1000万独立用户涌入www.tmall.con 全天访问用户总数达2亿1千3百万,占中国网民总数的40% 总成交订单数:1亿零5百万 高峰期,每分钟成交订单89678笔 所有这些绚丽的业务数字背后是淘宝多年积淀的电子商务网站架构技术。淘宝网的业务发展历程.原创 2021-03-07 22:45:10 · 2440 阅读 · 2 评论 -
架构师要学会妥协
不要企图在项目中证明自己是正确的,一定要记住,你是来做软件的,不是来当老大的。所以不要企图去证明自己了不起,永远也别干这种浪费时间、伤害感情的事。 有个小故事:猎人进山里打猎,反而被一头黑熊抓住了,黑熊说“如果你给我XⅩ我就放你走”,猎人无奈只好给黑熊XX。回去后苦练打猎本领,再次进山,结果又被黑熊抓住,再次要求给了XX。第三次他又来了,黑熊看到他就乐了“你是来打猎的还是来给我XX的?”。 每次我在做项目迷失方向,五迷三道的时候,就会想起这个故事,提醒自己是来做软件的,来实现客户价值的,原创 2021-03-06 12:54:30 · 127 阅读 · 1 评论 -
不要混淆,扩展性和伸缩性这两种概念
经常听到各种场合中对扩展性和伸缩性的误用,包括许多资深网站架构师也常常混淆两者,用扩展性表示伸缩性。在此,我们澄清下这两个概念。扩展性(Extensibility) 指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。它是系统架构设计层面的开闭原则(对扩展开放,对修改关闭),架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。伸缩性(Scalability)原创 2021-03-05 11:59:40 · 3665 阅读 · 0 评论 -
架构模式在新浪微博的应用
短短几年时间新浪微博的用户数就从零增长到数亿,明星用户的粉丝数达数千万,围绕着新浪微博正在发展一个集社交、媒体、游戏、电商等多位一体的生态系统。 同大多数网站一样,新浪微博也是从一个小网站发展起来的。简单的LAMP( Linux+ Apache+ MySQL+PHP)架构,支撑起最初的新浪微博,应用程序用PHP开发,所有的数据,包括微博、用户、关系都存储在 MySQL数据库中。 这样简单的架构无法支撑新浪微博快速发展的业务需求,随着访问用户的逐渐增加,系统不堪重负。新浪微博的架构在较短时间内原创 2021-03-04 11:52:08 · 301 阅读 · 3 评论 -
静下心来想想,为什么领域模型对于架构师如此重要?
在信息化时代,人们在碰到问题的时候,经常会希望通过构建一套信息系统直接或间接的来解决问题。 比如说一家传统企业,在企业内部最常见的请假审批、费用报销审批这类的日常事务处理上,一开始碰到的问题是流程不够透明、员工不知找谁怎样处理,同时员工拿着纸质到处找各个审批人签字也费时费力。为此,企业通常会通过构建内部办公系统或报销系统,将流程固化透明,同时通过 app 等友好方式让员工和管理人员随时随地提交或审批请求,以此提高办公事务效率。接着还可能通过接口直接对接 HR 系统扣减员工年假天数,对接财务系统直接转载 2020-08-03 16:35:02 · 208 阅读 · 0 评论 -
通过Docker构建PHP消息队列
https://github.com/php-amqplib/php-amqplibDockerfileFROM php:5.6-cliRUN apt-get update && \ apt-get -qy install git unzip zlib1g-dev && \ docker-php-ext-install bcmath sock...原创 2019-03-30 17:59:49 · 233 阅读 · 0 评论 -
按不同架构层次分析大型网站技术架构
传统上关于架构技术原理的组织方式一般以架构要素作为维度,从系统性能、可用性、伸缩性、扩展性、安全性几个角度阐述网站架构技术要点。还有另一种较为直观的组织方式是从不同架构层次所使用的网站架构技术这个维度进行描述的。原创 2019-03-21 12:55:23 · 291 阅读 · 0 评论 -
随机应变:网站的可扩展性架构
国内某大型互联网企业经常因为对同行的产品进行微创新,然后推出自己的产品而遭人诟病,不讨论这种做法是否合适,我们分析这些产品,发现大多数都比原创产品有更好的用户体验。这些产品常常后来居上,更速度地推出新功能,吸引用户注意,进而占据市场。 微信从发布到拥有1亿用户,仅仅用了一年的时间。而据说摇一摇这个功能是两个实习生用一个星期就开发完成上线的。 使用TOP(Taobao Open API)...原创 2019-03-20 15:28:06 · 1077 阅读 · 0 评论 -
架构师要学会妥协
不要企图在项目中证明自己是正确的,一定要记住,你是来做软件的,不是来当老大的。所以不要企图去证明自己了不起,永远也别干这种浪费时间、伤害感情的事。原创 2019-03-20 12:25:41 · 178 阅读 · 0 评论