定时调度

定时调度的应用场景非常广泛,例如: 新建的订单,如果用户在 15 分钟内未支付,则自动取消。 公司的会议预定系统,在会议预定成功后,会在会议开始前半小时通知所有预定该会议的用户。 安全工单超过 24 小时未处理,则自动拉企业微信群提醒相关责任人。 用户下单外卖以后,距离超时时间还有 10 分钟时提醒外卖小哥即将超时。 实现方式 DelayQueue Java的延迟队列 缺点:单点状态持久,无分布式...

2 minute read

Service Mash 与 Dapr

以下内容,转自InfoQ: 回顾:Service Mesh 原理和方向 Service Mesh 的定义 首先,让我们先快速回顾一下“Service Mesh”的定义,这是 Dapr 故事的开始。 以下内容摘录自我在 2017 年 10...

6 minute read

60s性能排查

You log in to a Linux server with a performance issue: what do you check...

12 minute read

探究Load Average

翻译http://www.brendangregg.com/ ​ 平均负载是一项行业关键指标,我的公司根据这些指标和其他指标花费了数百万个自动扩展云实例,但在Linux上却存在一些神秘之处。Linux平均负载不仅跟踪可运行的任务,而且还跟踪处于不间断睡眠状态的任务。为什么?我从未见过任何解释。在这篇文章中,我将解决这个奥秘,并总结平均负载作为每个尝试解释平均负载的参考。 ​ Linux平均负载是“系统平均负载”,它显示系统上正在运行的线程(任务)需求为正在运行的平均数量加上等待的线程数量。这可以衡量需求,该需求可能大于系统当前正在处理的需求。大多数工具在1分钟,5分钟和15分钟内显示三个平均值: 正常运行时间 16时48分24秒达4:11,1个用户,加载平均:25.25,23.40,23.46 顶部-16:48:42向上4:12,1个用户,平均负载:25.25、23.14、23.37 $ cat / proc / loadavg 25.72...

4 minute read

分布式事务

分布式事务架构设计原理 分布式事务,因什么背景而产生?必须要分布式事务才能解决吗? (基础问题) 如果没有本地事务,是否存在分布式事务? (基础问题) 分布式背景环境 分布式环境下的微服务模型 聚合模式 链式模式 数据共享模式 代理模式 分支模式 异步消息模式 微服务架构下为什么需要分布式事务,单体下是否需要分布式事务呢? 单体多数据源...

37 minute read

架构思想(不断总结,持续更新)

架构思想 架构真经 Scalability Rules AKF Scale Cube AKF 扩展立方体把单体应用扩展到可扩展架构的方式的过程划分为3个正交维度 x 轴:水平复制 通过复制节点,实现多个节点同时提供服务,从而大大提高系统的总体容量、解决单点问题等。 典型的例子是数据库的主从复制和读写分离。负载均衡 以 mysql...

2 minute read

Linux性能分析

Linux性能 推荐《性能之巅》这本书 CPU CPU利用率:CPU的使用情况。 用户时间(User time) :表示CPU执行用户进程的时间,包括nices时间。通常期望用户空间CPU越高越好。 系统时间(System time) :表示CPU在内核运行时间,包括IRQ和softirq时间。系统CPU占用率高,表明系统某部分存在瓶颈。通常值越低越好。 等待时间(Waiting time) :CPU在等待I/O操作完成所花费的时间。系统不应该花费大量时间来等待I/O操作,否则就说明I/O存在瓶颈。 空闲时间(Idle time)...

3 minute read

ISTIO

ISTIO 它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的 API 接口。Istio 多样化的特性使您能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。 架构与原理 流量管理组件 基于IPTABLES IN 15006 OUT 15001 管理端口 15090 提供接口,从controlplane拉取最新配置...

2 minute read