世界财富与权力大转移背后的规律
FROM:https://mp.weixin.qq.com/s/o1lxndz0UtI_Websf-WDPw 财富和权力的大幅波动是由多达17种主要因素引起的,最重要的是货币和信贷周期,贫富差距周期和全球地缘政治周期。这些强大的力量通常以经典的周期汇聚在一起,这些经典的周期以相互补充的方式趋向于形成一个非常大的起伏周期,并在整个历史中反复出现。这个庞大的周期范式(archetypical cycle)控制着帝国的兴衰。 在多种因素引导着历史更迭和全球周期起伏,暗中发生着国家间财富和权力转移。这种转移往往会被人忽略,因为虽然财富和权力的转移在历史长河中属于白驹过隙,但对个体有限的寿命而言是长达十余年潜移默化的改变。我们如今正在经历相对财富和权力的范式迁移(archetypical big shift in relative wealth and...
Ray Dalio - 变化的世界格局与宏观周期
FROM:https://mp.weixin.qq.com/s/zdF7d-MvpmNAj4tnxD2Cdg 为什么要关注全球历史的大趋势:每个人一生都只能够经历宏观周期中一小部分,因此时而会对长达50-70年大周期视而不见。而通常人生中最大机遇和失误,往往来自于错过了“人生中没有发生过,但在历史当中反复重演”的市场信号。 历史上重要事件由三大力量所驱动:长期货币和债务周期、国内财富与权力周期、国际财富与权力周期。三种力量往往相互融合、相互促进,共同决定了国家和全球的经济政治走势。 本系列重点关注世界舞台上长袖善舞的大国:主要包括3个储备货币国家:荷兰,英国和美国,以及其他6个重要大国:德国,法国,俄罗斯,印度,日本和中国。这些具体个例将提炼出历史反复发生的典型范例。 回看历史,有3个对经济整体趋势至关重要的事件: 经济增长困局:全球经济体的高负债率(high level of...
MySQL 的 MGR
MySQL 高可用架构的历史MySQL 自带的主从复制机制,本身并不能实现自动高可用。 早期使用开源组件来搭 MySQL 集群的方案,使用 MMHA。当代 MySQL 官方自己主推的方案是 MySQL cluster。这些老的方案,优先保证MySQL服务的持续可用,在异常切换情况下,可能出现主机上部分数据未能及时同步到从库,造成主从切换后数据丢失。但是包括金融支付在内的一些业务,对于数据库服务既要求持续可用、也要求数据强一致(可以在性能上做出一些让步)。 因此,当代的 MySQL 官方提供了组复制(MySQL Group Replication)的方案,构建了新一代的 MySQL 高可用强一致服务。 Master-Slave(MS)架构高可用概述MS架构高可用基础高可用MySQL是依赖复制(Replication)技术实现的,复制解决的基本问题就是,让一台数据库服务器的数据同步到其它服务器上。MySQL数据库的复制有如下三个步骤。 在主库上把数据更改记录到二进制日志(Binary...
秒杀通用解决方案
秒杀的实质秒杀的实质,是围绕库存管理展开的并发读写如果架构设计里面包含商品系统,包含库存,秒杀就要解决库存热点行高并发读写问题。 秒杀的底线是:不能超卖。qty库存 ≥ qty卖出 && qty库存 - qty卖出 ≈ 0。秒杀能够容忍的一些思路:渐进趋于一致,允许漏卖。 秒杀架构的特性 高性能:秒杀架构要承载的访问流量比平时高出许多倍,涉及大量的并发读和并发写,因此支持高并发访问非常关键。 一致性:秒杀活动中有限数量的商品在同一时刻被很多倍的请求同时扣减库存,在大并发更新的过程中要保证数据准确,不能发生超卖的问题(超卖,本来应该卖完下架的商品,在前台展示依然有库存,依然不停的被卖出),即库存是多少,理应卖出多少(qty库存 ≥ qty卖出 && qty库存 - qty卖出 ≈...
计算的本质
语义小步语义小步语义类似对代数式迭代求值。 大步语义大步语义的意思是,对于大的表达式,先求它的小表达式,然后把结果结合起来得到最终的答案。这通常意味着递归 操作语义(operational semantic)想象一个理想、抽象的计算机,操作语义为程序在某些机器上的执行定义一些规则。 指称语义(denotional semantic)用一种低级、更形式化的语言来解释当前的语言。 状态机的分类确定性有限自动机finite state machine -> finite automaton deterministic finite automaton 是确定性有限自动机的意思 我们的领域模型的状态机最好是这种状态机。 非确定性有限自动机NFA能被一台特定机器接受的字符串集合称为一种语言:我们说这台机器识别了这种语言。 任何 NFA 等价于 DFA 确定性下推自动机PushDown Automaton pda。 这种状态机可以处理无限多的中间状态。 确定型图灵机Deterministic Turing Machine...
关于编程语言的typing(一些基本概念)
from:http://www.blogjava.net/sean/archive/2009/09/28/296825.html 最近围观一本JavaScript的书籍引发的争论,一不小心碰到一篇讲编程语言类型系统划分的帖子,回想起当年还在公司内部的Tech Session上主讲过这个话题,不过只涉及到静态/动态、强类型/弱类型,远没有这位仁兄总结的那么全面。 原文链接http://www.reddit.com/r/programming/comments/63tnv/bruce_eckel_33104_im_over_it_java/c02qx55 不多废话,直入正题: [维度一] Static vs Dynamic Typing静态类型和动态类型,区分的关键点为编译期或运行期确定类型:静态类型在编译期确定,动态类型在运行期确定。静态类型代表 Java、Scala、Haskell动态类型代表 Ruby、Python、Erlang [维度二] Strong vs Weak...
纪要
...
HATP 问题
问题定义AP 的出现在互联网浪潮出现之前,企业的数据量普遍不大。通常一个单机的数据库就可以保存核心的业务数据。那时候的存储并不需要复杂的架构,所有的线上请求(OLTP, Online Transactional Processing) 和后台分析 (OLAP, Online Analytical Processing) 都跑在同一个数据库实例上。后来业务越来越复杂,数据量越来越大,产生了一个显著问题:单机数据库支持线上的 TP 请求已经非常吃力,没办法再跑比较重的 AP 分析型任务,在这样的大背景下,于是AP开始从TP系统分离,某种程度上,AP是TP的一个分支。 这等于是在存储层做 CQRS 架构设计-另一种方案是在应用层也设计读写分离的架构。 AP的玩法在这样的背景下,以 Hadoop 为代表的大数据技术开始蓬勃发展,它用许多相对廉价的 x86 机器构建了一个数据分析平台,用并行的能力破解大数据集的计算问题。 TP和AP的联系虽然 TP 和 AP 开始往独立的方向演进,但是他们的核心都是需要处理数据,所以需要将数据打通。业内普遍玩法将 TP 数据通过 ETL...
《恰如其分的软件架构》
前言这两周集中时间间歇性读完了《恰如其分的软件架构》这本书。这本书讲的是架构方法,架构方法是一种思维模型(mind set),这种思维模型叫作“风险驱动模型”。 这本书经我们团队的架构师推荐,列在我们团队的集体书目里很久了。但真正去读它、读完它的人又很少。究其原因,还是这本书的内容以谈概念为主,虽然书中举的例子非常生动,仍然始终无法摆脱“为了谈概念而举玩具例子”的问题-这几乎是所有架构书的通病。似乎正统的架构书籍都不可避免地举一些传统行业或者经典软件(比如很多书籍都会反复出现在“xxx...
Journal 与 EBS
EBS 的定义EBS — Elastic Block Storage,简言之就是高可用、高性能、弹性可扩展的分布式块存储服务。对于业务来说,它就是一块磁盘,只不过将业务数据存储于远端网络节点,但是使用方法和体验与访问本地磁盘一样。 EBS 可以作为容器的存储盘,可以解决: 有状态容器的状态存储问题 海量存储问题:邮件系统、监控平台、数据库、用户录音、集成测试平台、MySQL 备份(需要测试 OLTP/OLAP 的交互操作和在线交易性能) EBS...