OceanBase 学习笔记(四):上生产,K8s 部署与备份监控
前三天(一概念、二租户SQL、三高可用)都是在讲原理加本地体验。最后这篇落到我们真实的环境——K8s + OceanBase,讲怎么在 K8s 上把集群和租户管起来、怎么备份、怎么看健康。这也是这个学习笔记系列收尾的一篇。 笔记体收官。K8s 和备份这块我更多是”对着文档梳理”,实操还在路上,所以偏原理和路径,具体 YAML / 命令以你手上的版本为准。 1. K8s 上跑 OB:ob-operator官方有个 OceanBase Database Operator(ob-operator),是 K8s 的 CRD 控制器。你用 YAML 声明 OBCluster、OBTenant 这些自定义资源,operator 就负责拉起 observer、组集群、建租户、做日常运维——不用自己登机器 docker run 或手动 obd。 几个对应关系值得记一下: OB 的 Zone 会映射到 K8s 的拓扑域(节点池 / 可用区)。也就是说,OB 的”跨 Zone 容灾”在 K8s 上就是”跨 AZ 部署”,operator 把 Zone 和节点可用区对齐。 ...
OceanBase 学习笔记(三):高可用与弹性
前两篇把 OB 跑起来、建了租户能写数据,算是”能用”了。但这篇才是分布式数据库最该懂的部分——它凭什么敢说自己高可用、能弹性扩缩容。核心就两样东西:日志流 + Paxos 多数派,以及在这之上的一套自动调度。这也是我们生产 K8s+OB 上最该心里有数的容灾逻辑。 继续学习笔记体。下面有些机制我一开始也绕了好久,标了”我原来以为…后来才懂”,供同样新手的你参考。 1. 一致性核心:日志流 + Paxos 多数派每个分区(Tablet)的 Redo 日志会汇成一条日志流(Log Stream),日志流在多个 Zone 之间有多副本。其中有一个主副本(Leader)负责接受写入,其他的都是从副本。 一次写入能不能算成功,看的是:多数派副本都把这个 Redo 日志持久化落盘了,主副本才确认提交。这就是 OB 敢谈高可用的底气——挂掉少数节点,只要多数派还在,服务就不受影响。 主副本不是”终身制”,它靠租约(Lease)活着:被选成主时拿到一段租约,正常工作时在租约期内不停续租;一旦所在机器出问题、租约续不上,等租约失效后其余从副本就会选出新主并授予新租约。主副本只在租约有效期内...
OceanBase 学习笔记(二):租户、资源与 SQL 实战
上篇把 OB 在 Docker 里跑起来、连上 sys 租户看了一眼,算是”能开机了”。但 sys 是系统租户,不是给你放业务数据的——真正要用起来,得先搞懂 OB 的多租户和资源模型,这也是它和我以前用的单机库差别最大的地方。这篇就接着讲:怎么建一个业务租户、客户端怎么连、以及数据到底是怎么”散”到各节点去的。 仍然是学习笔记,不是官方手册。里面建租户的命令我标了”以你本地环境为准”,因为 MINI_MODE 单机环境的 zone 名、可用资源跟我这边不一定一样,照抄前先 SHOW ZONES; 看一眼。 1. 先搞懂三层模型:租户 / 资源池 / Unit我一开始以为”连上数据库就能建库开干”,结果被现实教了——OB 里资源是分层管的: Unit(资源单元):描述”在某台 OBServer 上分给某个租户多少资源”的容器,含 CPU、内存、日志盘大小。可以类比成一个轻量虚拟机。 Resource Pool(资源池):由一个或多个同规格的 Unit 组成,绑定到指定的 Zone 上,然后整体分配给某个租户。 Tenant(租户):最终给业务用的独立数...
OceanBase 学习笔记(一):从在 Docker 里跑起来开始
我们生产环境用的是 K8s + OceanBase 这套,说起来有点惭愧,分布式数据库我之前基本没正经碰过——脑子里还停留在”单机 MySQL / Oracle 那个实例”的模型。组里要上 OB,我总不能一直当个只会 SELECT 的旁观者,所以最近开始啃。正好手头有台 Windows 11 的机器,Docker Desktop 也现成,我就照着官方快速开始,先在本地把社区版跑起来,边跑边记。 这是学习笔记第一篇,不是权威教程。里面有些是我”以为是这样、后来才发现不是”的弯路,写下来给自己备忘,也顺便给同样是新手的你参考。有说错的地方欢迎拍砖。 1. 先搞清楚 OB 到底是个啥最开始我把它当成”换皮的 MySQL 集群”,后来才意识到完全不是一回事。 OceanBase 是原生分布式数据库,不是”单机数据库加个中间件”那种拼出来的。它的几个基本特征是: 采用 Shared-Nothing 架构:每台服务器都是对等的,没有特殊的硬件要求,数据靠多副本冗余保证高可用。 每台服务器上跑一个叫做 observer 的单进程,既是存储也是计算,数据文件和 Redo 日志都...
Seata Saga 学习笔记:状态机编排的分布式长事务
我们银行的 core 系统,到现在还跑在那台老 mainframe 上。最近组里在推现代化改造,要把它慢慢搬出来,换成新的分布式架构。这事儿一上手我就懵了——我对分布式事务本来就不熟,什么 AT、TCC、Saga、XA 以前只听过个名字。 没办法,现学。Seata 是这阵子重点在看的分布式事务框架,其中 Saga 模式又跟我们的迁移场景格外对得上:老核心改不动,只能走它暴露出来的接口,还得保证数据最终能对上。所以这篇算是我的学习笔记,边学边记,里面要是有理解得不对的地方,欢迎拍砖。 一、先把四种模式认个脸Seata 给了四种模式:AT / TCC / Saga / XA。我一开始是真分不清,后来发现区分点其实很现实——就看”参与者你能不能改、要不要锁资源”: AT:几乎零侵入,框架自动帮你记 undo_log 回滚。但前提是参与者得是支持本地事务的关系型库,而且你能在它身上动刀。我们那台老 mainframe?想都别想。 TCC:业务侵入强,得自己写 try/confirm/cancel 三件套。性能好,但同样要求你能改参与方...
ESP 物联网开发入门3:WOL唤醒
ESP 物联网开发入门3:WOL唤醒在上一篇里,我们给电脑装了个“物理手指”来按开关。虽然稳,但总觉得不够科技感。如果你的主板支持,其实完全可以用一种更“黑客”的方式——**Wake on LAN (WOL)**。 简单来说,这就是给网卡发一个“暗号”,让它自己去叫醒整台电脑。 一、 什么是“魔术包”?电脑关机后,只要电源没拔,网卡其实还在偷偷“值班”。它在等一个特定的数据包,也就是魔术包(Magic Packet)。 魔术包的结构很奇葩:6个 0xFF 后面跟着 16遍你的网卡 MAC 地址。网卡一旦在局域网里抓到这个组合,就会像打了鸡血一样瞬间触发开机。 二、 动手前的“三大关”别急着烧录代码,WOL 最大的坑通常在配置上: BIOS 允许:开机狂按 F10(取决于电脑,我的是F10) 进入 BIOS,把 Wake on LAN 或者 Power On by PCI-E 这种选项改成 Enabled。 网卡允许:在 Windows 设备管理器里找到你的网卡,属性里的“电源管理”必须勾选“允许此设备唤醒计算机”。 必须插网线:绝大多数主板的内置 WiFi 关机后就断电了。所以...
ESP 物联网开发入门2:手指机器人
既然上一篇咱们已经让 ESP8266 的自带灯亮起来了,那说明开发环境已经通了。今天咱们玩点硬核的:做一个“物理外挂”,远程帮咱按电脑开机键。 ESP 物联网开发入门2:手指机器人这次的主角依然是性价比之王 ESP8266(NodeMCU),配合一个 2 块 9 包邮的舵机(Servo)。 1. 硬件“全家桶”除了之前的 NodeMCU,你还需要准备: SG90 舵机: 这种蓝色的小舵机就行,力气够大,正好能按动电脑键。 杜邦线: 3 根(公对母)。 双面胶/蓝丁胶: 用来把舵机粘在电脑机箱上。 2. 接线图:别接错,会没力气舵机有三根线,颜色通常是固定的: 棕色(地线): 接 ESP8266 的 G”>GND。 红色(电源): 接 ESP8266 的 VIN 引脚(注意:VIN 输出的是 USB 的 5V 电压,接 3.3V 舵机可能转不动。byd我的vin针脚虚焊没电,不过实测3.3V带的动)。 黄色(信号): 接 ESP8266 的 D1(对应代码里的 GPIO 5)。 连接如图: 3. 准备“遥控器”:点灯科技(Blinker)写代码...
ESP 物联网开发入门1:从零点亮你的第一颗灯
ESP 物联网开发入门:从零点亮你的第一颗灯很多小伙伴想搞“远程开机”、“智能家居”,对着网上的教程看半天,结果被各种名词劝退。其实物联网没那么玄乎。今天咱不整那些虚头巴脑的,直接用大白话带你把单片机和 ESP32 摸透,顺便帮大家避几个我踩过的坑。 1. 到底什么是单片机?你可以把它理解为一个“被阉割过的电脑”。 电脑有 CPU、内存、硬盘,单片机也有,只不过为了省电、便宜、体积小,性能缩减到了极致。 电脑: 运行 Windows,能打游戏、剪视频,但很贵、费电。 单片机: 没有桌面,只运行你写进去的一段代码。它能控制电饭煲什么时候跳闸,能让遥控器发射红外线。 一句话总结: 它就是个只会干体力活、极其听话的“微型大脑”。 2. 为什么大家都推荐 ESP? 单片机有很多种,比如老掉牙的 51,或者满大街的 STM32。但对于玩物联网(IoT)的人来说,ESP 系列才是真香。 ESP8266: 曾经的老大哥,便宜到只要几块钱,自带 WiFi。如果你预算极低且不需要太多花里胡哨的功能,可以用它。 ESP32: 现在的主流。多了蓝牙、双核 CPU(跑得快)、更多的引脚。建议新...
腾讯云上的SSL证书与HTTPS
之前把Dify部署到服务器上的时候,通过域名访问总是提示与此站点的链接不安全,即使因为没有ssl证书,访问是通过HTTP访问的,这次就记录一下在这方面的学习吧。 什么是HTTP和HTTPSHTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。 HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。【参考】 HTTPS(Hypertext Transfer Protocol Secure)则是在HTTP后的传输层基础上加了一层安全套接层(secure socket layer),把明文信息进行TLS/SSL协议加密。加密方式也可以分为对称加密和非对称加密。实际上,这两种加密方式都用到了,有关这部分以后有时间就在写吧(包括计算机网络...
海龟交易策略
最近看到一个很牛逼的策略,海龟交易策略,其实这个策略也是老古董了,但是它是一套极为完整的交易系统,经过时间的考验后依旧经久不衰,太棒了。 海龟交易策略总有人说这是个垃圾,但它提供了一套交易思路,最亮眼的就是仓位管理机制。原版的策略里,直观可以理解为:如果从日线的角度来看,通过计算ATR,每一次建仓,每天最极端的变动会使得总资金的变动幅度不超过所设定的risk value。 策略核心理念趋势跟踪:利用价格突破信号捕捉市场趋势。 仓位管理:通过计算波动性,确保每次建仓时单笔风险不超过预设比例(例如1%)。 严格规则:制定明确的加仓、止损和止盈规则,保证策略的执行纪律。 Average True Range, ATR, 平均真实波幅下面是原版海龟的ATR计算方法 真实波幅(TR)计算公式:$$TR = \max(H - L,, |H - PDC|,, |PDC - L|)$$ H:当日最高价 L:当日最低价 PDC:前一日收盘价 ATR 计算公式:$$ATR = \frac{19 \times PATR + TR}{20}$$ PATR:前一日的ATR值 注意...
保护性看跌期权
最近一直再看金融投资相关的东西,刚好也学习了期权的一些知识,顺道了解了一下怎么用期权对冲股票市场带来的风险。 什么是期权定义直接抄了 期权(Option)是一种金融衍生品,它赋予持有人在约定的时间或时间范围内,以预定的价格(称为执行价格或行权价)买入或卖出标的资产的权利,但并不负有必须执行的义务。期权的主要特点包括: 期权类型: 看涨期权(Call Option):持有人有权以约定价格买入标的资产。 看跌期权(Put Option):持有人有权以约定价格卖出标的资产。 期权的参与者: 买方:支付期权费(Premium),获取执行权利。 卖方:收取期权费,承担履行买方权利的义务。 标的资产:期权的标的资产可以是股票、指数、商品、货币等。 到期日:期权合约规定的有效期限。到期后,期权将失效。 执行方式: 欧式期权:仅能在到期日行权。 美式期权:可以在到期日及之前任何时间行权。 用途: 风险管理:投资者利用期权对冲市场风险。 投机获利:通过预测标的资产价格的波动方向获取收益。 增强收益:通过出售期权赚取期权费。 保护性看跌期权(Protective Put)投资者通...










