这本书大概就是京东构架的编年史,有兴趣了解京东的构架可以看看。特点是通过介绍京东某些重要的模块诞生在哪个场景下,最初运用了哪些技术,到后来原有构架遇到了怎样的挑战,技术团队怎么解决的……等等,通过案例,给读者展示了一条京东清晰的技术脉络借鉴。没有一般公司传那种很枯燥的叙述,喜欢RPG游戏的同学可能会更喜欢这本书一些。 我自己感觉,京东最开始也是把许多功能耦合在一块。后面由于流量的原因先做了页面模块划分,也就是和我们公司一样的动态缓存,模块化加载。之所以称之为动态缓存,因为一般情况下会把网页划分开,各个模块用一个简单的Controller,由于单个页面的各个Controller是异步执且均使用 ob_start 包裹,速度会快很多,最终的输出页面试用 ob_get_content 获取缓存到的各个模块的页面代码整合并添加 缓存key标签 输出页面。类似的我自己是感觉和现在前端流行的使用JSX直接生成html避免DOM无序调用这种思想类似。 【疑问1:我对JS这块也不太了解,React这种JS框架试用JSX操作页面难道不会加重浏览器渲染负担吗?这周读完这本水书,下周看JS高级程序设计再解答吧。 疑问2:事实上我对公司中页面各个子模块 load 时候是否异步并不清楚, 也不清楚每次load时访问缓存的规则。 疑问3:一直以来,我只知道只要页面更新,消息队列会得到刷新缓存的指令,这个我还是不清楚具体的实现。】 在解决完成简单的解耦后,内部网络的复杂通讯使得京东开始了自研负载均衡, 从最开始的商业产品到后来使用LVS实现的软负载。外部访问压力的提升,加上第三方CDN厂商的产品不太稳定,京东从最开始的squid作为前端代理服务,过渡到HAProxy + ATS。 在讲述整个变迁过程中,京东的技术团队一直在努力的为京东的各个模块进行可降级处理。也就是当首页动态访问量巨大后端不堪重负时候,替换为静态页面(同理,某个展示模块负载过大也会直接载入不那么及时的静态页面展示)不至于让用户无内容可看。 通过对业务流程的梳理,得到一些与主干流程相比较过于复杂的逻辑模块,并将其拆分为独立的模块比如:京东的秒杀业务、购物车模块、订单合单模块(多个第三方商家或者与京东自营产品的订单在同一个页面显示)以及订单展示页所涉及到的发票管理、拆单功能、拆单算运费并统计总价等等这些看似简单,但实际上当业务量到一定程度会严重影响业务稳定性的功能。 37开始讲的是一些分布式的问题,讲述了为什么要分布式云云,鉴于自身经验不够,无法获取到有价值的信息。略过 ~ 下一篇打算大概是京东的供应链管理以及内部金融管理 过两天写了~
Author Archives
VMware安装Mac OSX 提示 VMware Workstation 不可恢复错误: (vcpu-0)
出现这种情况,只要找到并打开vmx文件,使用记事本打开后,添加 smc.version = “0” 后保存,问题即可解决
北漂的成本是否高昂?
平淡的久了也我会慢慢忘掉初心, 经常会找一些点位来刺激,或或旅行,新的玩具, 或新的工作。
当然时间的推移, 这些成本都会慢慢增加。
比如说, 自从工作后虽然不那么在乎机票, 不在乎星级酒店, 这些加起来也就一天1K左右。
可是出去玩的每一天, 都有机会成本, 比如, 这一天你可以帮公司线上调一个Bug, 或者帮朋友解决一个棘手的问题, 或者帮以前的合作伙伴做个小东西, 或直接或间接成本都在1k左右。如此, 加上前面的机票、酒店,基本一天的开销就在2k了。 嗯,所以说,休息是一个奢侈品。
换工作一般都会换新的地方,对应租房区域也会有较大调整。笔试、面试、酒店、高铁票、机票、新房押金 一来二去,Gap那几天成本日均成本可以到3K。
这也就是为什么工作越久,人更趋向于稳定。
因为相对于你之前的收益来说,不稳定的成本实在是难以承受。
你买了1000块钱的股票,即使赔了500,咬咬牙几天就能赚回来。可是你如果是100,000股票呢?赔了50,000,平常人能睡得着?
依我之见,北漂,无非就是拔高了自己的身价,提高了降级成本,然而又会在高房价、维持高生活水准,找更高薪高压力工作的圈子中循环。
不过还好,比起那些在贫穷、不敢闯这种怪圈中生活的人来说,上面的圈子是正能量的。
起码,现在看来,成功升级后的北漂,如果不如之前那么努力,也不会太差。
Plan B
最近几天在北京租房,遇到了许多以前想过,但是没接触过的事情。 归根到底是来的太匆忙。 这是病,要改。
的地得用法
请允许我吐槽一下网友的基本语文知识,重要的事情请重复三遍,跟我大声朗读: 名词前面用的 动词前面用地 形容词前面用得