微服务和Service Mesh 在多个行业落地实践com 设计要点十:日志中心 www.163yun.com 设计要点十一:全链路监控 www.163yun.com 设计要点十二:全链路压测 www.163yun.com 微服务平台总览 容器平台 (多集群基础设施) Pod & Deployment 网络 Calico, OVS 存储 Ceph 滚动更新 弹性伸缩 日志中心 基础设施监控 率 生产镜像仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 www.163yun.com 多样需求 持续集成 中台化 PaaS托管 容器化 分布式事务 服务治理 全链路压测 性能监控 注册发现 服务管理 www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 账户 审计 注册,发现,调用都提供鉴权 认证鉴权 接口文档统一维护 文档与运行时一致 减少调用沟通成本 知识库 根据平台、租户、项目三个层次区分权限作用域 操作记录,审计日志,事件查询 账户审计 微服务框架负责服务之间的调用——企业级特性 www.163yun.com 某证券公司 持续集成 中台化 容器化 注册发现 www.163yun0 码力 | 39 页 | 3.06 MB | 1 年前3
海尔实时计算平台技术选型与实践代码埋点: • 优点:采集能力强 • 缺点:时间、人力成本大 实时数据采集-数据如何获取? 可视化埋点: • 优点:成本低,速度快 • 缺点:行为记录信息少,支持的分析方式少 • Flume 日志收集可选技术 • Fluentd • Logstash • Scribe Flume Agent Source Incomin g Data Sink Outgoin g Data Channel中拥堵的event数 • Sink : 已经处理的event数 Flume监控 日志数据获取实践 入库 解析 收集 采集 插码 实时数据采集新要求 业务系统无法配合修改,怎么办? CDC的几种方法: • 触发器 • 时间戳 • 全表比对 • 日志对比 Change Data Capture(CDC) Oracle CDC建议方案-OGG OGG监控 Postgresql CDC 建议方案 BottledWater: • 支持postgresql 9.4及以后版本 • 几乎不影响数据库本身性能 • 事务一致性的输出 • 容错 上图摘自confluent官网 Flume适合: • 日志收集 • 日志传输 • 拦截数据 消息队列适合: • 消息持久化 • 解耦 推荐:Flume+ 消息队列 为何要引入消息队列 消息队列可选方案 •0 码力 | 41 页 | 3.21 MB | 1 年前3
领域驱动设计&中台/架构分层模型适配03 分层模型适配实例例 DDD分层参考架构 DDD分层参考架构 给⽤用户提供界⾯面,关注⽤用户交互和体验 前端应⽤用 API服务 业务领域 基础设施 为前端应⽤用提供API服务,关注事务和分布式等技术性问题 领域模型和领域逻辑,关注业务概念。 访问外界系统(调⽤用外界系统)的技术相关实现。 后台服务 前端应⽤用 分层依据: ⼲干系⼈人和技术点 DDD分层参考架构 - 前端应⽤用 为前端和第三⽅方应⽤用提供API服务,关注服务编排,事务和 分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 API服务 ⼯工作内容: • 接收外部请求并响应: 如HTTP请求, 消息处理理 • 事务管理理 • 认证 • 缓存 • ⽇日志 • 异常处理理 • 配置0 码力 | 39 页 | 2.54 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+标签 用户 管理平台 产品 理财单 渠道 版本 5G 措施:剥组件,拆单体,合冗余 移动后台打散 轻业务上浮 重业务下沉 API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 Fund 宜睿 P2P BASE Other … … 剥离到网关 部分功能前置 统一接口标准 措施:剥组件[深度定制网关] API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 移动服务C 接入层 服务A 服务B 1 2 移动服务 接入层 v2 v3 v1 重要原则 幂等、接口可重入 接口规范化(命名、类型、长度等) 分布式事务,补偿、撤销机制 接口缓存,热数据尽可能前置 DB跟随服务 代码、逻辑、结构等都要适时重构 最终架构[简版] 移动后台打散,界限趋于不明显 极大消除冗余,三级两层划分0 码力 | 42 页 | 19.96 MB | 1 年前3
数字货币交易系统架构 Python实现 黄毅交易系统架构设计-redis stream • Kafka-like • 一个订阅者的情况,消息有序 • Consumer group负载均衡(不保证消息顺序) • 可以批量处理消息 • 在同一个事务中存储处理结果和更新消费offset $ redis-cli > xread block 60 count 100000 streams b{btc_usdt}o offset … 交易系统架构设计-异步任务 read_events(redis, ‘u{btc_usdt}o’, offset): result = process(events) offset = events[-1][0] with pg: # 事务 save_results(pg, results) pg.execute(‘update task_offset set offset=%s’,0 码力 | 24 页 | 799.65 KB | 1 年前3
高可用分布式流数据存储设计-李玥prevLogIndex 最新⽇日志之前的⽇日志的索引值 prevLogTerm 最新⽇日志之前的⽇日志的领导⼈人任期号 entries[] 将要存储的⽇日志条⽬目(表示 heartbeat 时为空) Leader Election 我发现BOSS挂了了,选 我当BOSS吧??? 咱们是同⼀一任期的吗? 我是不不是已经选了了别⼈人? 你的⽇日志⾄至少和我⼀一样新吗? ❓ ❓ 牺牲可⽤用性换取⼀一致性 性能⼀一般 集群规模不不能太⼤大 Raft总结 读请求分流 顺序⼀一致 已提交位置之前的⽇日志具有不不变性。 对于提交的⽇日志,相同位置上Follower的⽇日志和Leader上是⼀一样的。 强⼀一致 如果两个节点上的⽇日志完全相同,并且这些⽇日志都已经被状态机执 ⾏行行,那么这两个节点的状态是相同的。 集群节点数越多性能越好吗? NO 引⼊入Observers0 码力 | 36 页 | 6.02 MB | 1 年前3
唯品会调度系统的前世今生开源地址: Github.com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 AuthCenter 服务网关 Janus 安全管理平台 Salus 有女初张成 执行完成 作业状态变迁 内部系统集成 ZK 执行结点 Job A Job B 作业调度器 控制台UI 消息系统 控制、调度结果下发 作业控制 结点监听 作业调度 执行日志 监控日志 日志查询 消息订阅 告警信息 执行结果 统一认证 架构体系 部署模型(跨机房) IDC-A IDC-B 接入域-A 执行结点 作业实现 ZK saturn-zk-* saturn 瓜熟蒂落 基于开源版本打造自己的系统 ZK 执行结点 Job A Job B 作业调度器 控制台UI 监控系统 Logstash统 一日志 消息系统 控制、调度结果下发 作业控制 结点监听 作业调度 执行日志 监控日志 日志查询 消息订阅 报警系统 告警信息 执行结果 CAS认证 统一认证 授权中心 内部集成 容器平台 运维流程管理 报表统计 Demo0 码力 | 58 页 | 5.40 MB | 1 年前3
领域驱动设计&中台/如何让DDD落地事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者,订单⽇日志订 阅者 5…. 6…. 7.订单⽇日志订阅者收到订单已创建事件后,会根据事件创建添加订单⽇日志命令,然后 调⽤用添加订单⽇日志服务来进⾏行行添加 8.添加订单⽇日志服务收到命令后,会把添加订单⽇日志命令转换成订单⽇日志,然后调⽤用 订单⽇日志仓库保存订单⽇日志 Acceptance Criteria 1 - Given:导航【购物⻋车】 Given:导航【购物⻋车】 - When:确定购物⻋车中要提交的商品和数量量,然后点击提交; - Then:订单成功创建,从商品库存中锁定订单的数量量,订单⽇日志需要记录这笔订单 创建,最后提示⽓气泡“商品已保存成功” - And when:如果订单的数量量超过商品库存中可以锁定的数量量 - Then:订单⽆无法成功提交,提示⽓气泡“库存数量量不不够,仅剩X件” 需要拆分时 坚持使⽤用事件进⾏行行服务间交互0 码力 | 32 页 | 3.25 MB | 1 年前3
《58到家技术架构快速规划与落地》 - 沈剑误区:监控是运维的事情 58集团技术专场 2. 监控平台- 最佳实践 � 单维度正常,能说明系统正常吗? � 什么是立体化监控? � 怎么个多维度法? (1)机器、操作系统 (2)进程、端口 (3)日志 (4)接口 58集团技术专场 机器、操作系统监控 58集团技术专场 2. 监控平台-进程/端口/JVM • 两类思路:分发/汇总 • 分发类实现Tips (1)易扩展的配置 (2)远端接口探测,命令执行 汇总类实现Tips (1)agent快速部署 (2)agent从中央获取配置 (3)快速的本地检测 58集团技术专场 2. 监控平台-日志 ERROR日志监控Tips (1)路径规范 (2)日志分级 (3)日志切分 (4)易扩展的配置 日志关键字监控Tips (1)异常关键字 (2)正常关键字 (3)易扩展的配置 58集团技术专场 2. 监控平台-接口 Keepalive统一监控 Keepalive统一监控 (1)框架统一实现 (2)中心统一调度 处理时间统一监控 (1)框架统一实现 (2)本地初步汇总 (3)日志收集/udp上报 http接口统一监控 (1)http状态码?内容? (2)易扩展的配置 58集团技术专场 2. 监控平台-接口 • 哪种监控最精准? • 站在调用方的角度来评判服务是否OK 58集团技术专场 3. 调用链跟踪-解决什么问题 实际问题0 码力 | 42 页 | 1.52 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔应⽤用JVM进程 故障动态注⼊入 Attach 故障注⼊入 指标聚合查询 熔断降级计算(Flink) ⽇日志中⼼心 KAFKA 数据采集、计算、存储 指标(HBase) 指标明细(ES) 降级⽇日志(ES) ETL 指标计算(Flink) 脚本引擎 查 询 服 务 ⽇日志数据 指标(Redis) 业务异常数据快照(ES) 熔断降级通知 降级服务管理理 故障代码注⼊入 业务数据采集 ⽇日志 ⽂文件 应⽤用数据采集 应⽤用数据 ⽅方法数据 执⾏行行结果 执⾏行行耗时 异常数据 … JVM内存 JVM线程 GC数据 业务数据 SDK数据 ⾃自定义数据 系统数据采集 容器器数据 CPU数据 内存数据 磁盘数据 … ⽹网络数据 采集 Agen t ⽇日志中⼼心 KAFKA 数据处理理 通过本地⽇日志⽂文件,实时采集降级服务质量量数据 ⽇日志 ⽂文件 系统数据采集 容器器数据 CPU数据 内存数据 磁盘数据 … ⽹网络数据 采集 Agen t ⽇日志中⼼心 KAFKA 数据处理理 应⽤用数据采集 应⽤用数据 ⽅方法数据 执⾏行行结果 执⾏行行耗时 异常数据 … JVM内存 JVM线程 GC数据 业务数据 SDK数据 ⾃自定义数据 数据通道(⻓长链接单通道) 数据采集 Proxy • 单⼯工直连数据通道 • ⻓长链接,数据流⽅方式实时发送0 码力 | 26 页 | 18.67 MB | 1 年前3
共 19 条
- 1
- 2













