Node 的设计错误
Node 的设计错误 Ryan Dahl JS Conf 柏林林 2018.06 背景: 1. 基于最初的开发,我创建了了并管理理 Node。 2. 我的主要关注⽬目标是事件驱动的 HTTP server。 3. 这⼀一主要⽬目标对当时服务器器端的 JavaScript 起着关键作⽤用。即使在当时这⼀一点不不 那么明显,但是服务器器端 JS 的成功需要事件循环的助⼒力力。 ⽤用它进⾏行行快速的⼀一次性计算。 ⽽而 JavaScript 就是最好的动态语⾔言。 但是相反,现在我将会抱怨 Node 的所有缺点。 当你是某个项⽬目的负责⼈人时,你总是很难发现其中的错误。 有时 Node 对我来说就像是板上钉钉的事。 它本来可以更更好。 遗憾:不不遵守“诺⾔言” • 我在 2009 年年 6 ⽉月向 Node 添加了了 Promise,但在 2010 年年 ⽤用户可以选择通过标志访问:--allow-net --allow-write 这允许⽤用户运⾏行行不不可信的实⽤用程序(例例如就像⼀一个 linter) • 不不允许任意本地函数绑定到V8中 所有的系统调⽤用都是通过消息传递完成的(原BoFF序列列化) 有两个本地函数: send 和 rev。 这既简化了了设计,⼜又使系统更更易易于审核。 Deno ⽬目标:简化模块系统 • 没有试图与现有 Node0 码力 | 28 页 | 767.84 KB | 1 年前3Go在工程实践的错误处理
Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅 分布式错误难以串联 分布式错误难以串联 错误信息难以识别 如何完善错误信息 第二部分 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 gRPC错误日志:param error 哪个Client 调用? 哪一行代码 调用? 我的 参数问题? 对方的问题? ... 遇到一个问题,我们就追加一个日志字段,排查错误效率非常低 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 对端信息 header 里的 metadata 响应的数据,包括 header 里的 metadata 错误码和错误信息 请求到响应的耗时时间 调用处执行的行号 总结起来,调试阶段需要对接的信息 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 • 在调试阶段,日志用红色高亮错误 • 肉眼才能最快的定位到error日志 • 利用IDE规则,直接点开代码执行行号,跳到指定的代码位置0 码力 | 30 页 | 3.11 MB | 1 年前3王强-Apache RocketMQ事务消息
Apache RocketMQ 事务消息 王强 (辽天) 阿⾥里里巴巴 中间件技术专家 • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 Apache RocketMQ http://rocketmq.apache.org • ⾼高性能,分布式 ⾼高性能,分布式 • ⾼高并发 • 消息堆积 • Apache顶级项⽬目 发展历史 2013� Open Source Massive accumulation Orderly messaging 2014� Industry Ready 194.2 billion messages transferring in Singles��Day and widely used RemotingCommand • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 存储⽂文件 - - - - - 1G - - - - - 6M - - - - - 400M 配置和状态相关 消息存储和检索相关 存储设计 producer0 码力 | 34 页 | 6.17 MB | 1 年前3基于gRPC go实现消息发布订阅
使用gRPC go实现 基于Topic的高效消息订阅发布模型 姓名 张凯 中国电子云 目 录 gRPC go 介绍 01 gRPC四种通信模式及落地场景 02 根据proto生成go桩代码 03 订阅者动态注册 04 发布者消息推送 05 现场案例演示 06 gRPC go介绍 gRPC是什么? 01. 副标题 开篇思考几个问题 01. 副标题 gRPC介绍 Web开发 基于通信模式如何落地? 01. 副标题 流式传输 基于通信模式如何落地? 01. 副标题 以及,本次分享的 “ ” 基于Topic消息发布订阅 基于Topic的消息发布模型简介 01. 副标题 基于Topic的消息发布模型简介 01. 副标题 BRIAN KERNGHAN service PubSubService { rpc Publish(PublishRequest) 根据Proto生成桩代码 01. 副标题 protoc --go-grpc_out=. --go_out=. pubsub.proto protoc: 这是 Protocol Buffers 编译器的执行命令。 --go-grpc_out=.: 这个选项指定了输出 gRPC 相关的 Go 语言代码的目标目录,. 表示当前目录。protoc-gen-go- grpc 插件将会处理 .proto0 码力 | 31 页 | 2.42 MB | 1 年前3电商消息系统架构演进&mdash
0 码力 | 22 页 | 12.22 MB | 1 年前3KCL: Rust 在编译器领域的实践与探索
第三届中国Rust开发者大会 KCL: Rust 在编译器领域的实践与探索 张正 蚂蚁集团 Agenda 01 KusionStack 与 KCL 02 用 Rust 重写 KCL 03 Rust 重写后的收益 04 更多的探索 01 KusionStack 与 KCL KusionStack是什么? KusionStack架构 KCL KusionStack 是什么? Language Server KCL Compiler KCL Package Manager 02 用 Rust 重写 KCL Python 代码翻译 栈式虚拟机 Rust 编译器 KCL 编译器架构升级 Source Code AST LLVM IR Native/WASM Source Code AST Bit code VM Source Code Python Python code Pros Cons 简单易上手 生态丰富 研发效率高 性能问题 无法满足自动化系统需求 稳定性问题 None 空对象,属性不存在等运行时错误 我们遇到了哪些问题? 1. Go, Python, Rust 性能对比 为什么选择 Rust? > https://github.com/Peefy/StackMachine CPython0 码力 | 25 页 | 3.50 MB | 1 年前3基于amqp实现的golang消息队列MaxQ
7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 1/22 基于amqp实现的golang消息队列 MaxQ 2017-07-01 张培培 饿了么-基础框架组 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 2. IPC消息队列 3. AMQP协议 4. MaxQ架构模型 5. MaxQ相关特性 6. 使用场景和案例 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 3/22 1. 队列 跟消息队列相比,有哪些共性? 7/1/2017 基于amqp实现的golang消息队列MaxQ 生产者消费者 通信方式 存储方式 堆积能力 消息可靠性 生产消费关系 Pull/Push 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 5/22 2. IPC消息队列 跟消息队列相比,有哪些共性? 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.1680 码力 | 22 页 | 1.45 MB | 1 年前3Apache Pulsar,云原生时代的消息平台 - 翟佳
Apache Pulsar 云原⽣时代的消息平台 翟佳 streamnative.io ⾃我介绍 • 开源项⽬爱好者: • Apache Pulsar PMC成员 • Apache BookKeeper PMC成员 • EMC -> StreamNative • 华中科⼤ -> 中科院计算所 • Pulsar 的根本不同 • Apache Pulsar 简介 • Pulsar0 码力 | 39 页 | 12.71 MB | 6 月前0.03万亿级数据洪峰下的消息引擎Apache RocketMQ
万亿级数据洪峰下的消息引擎 Apache RocketMQ 誓嘉 自我介绍 l花名:誓嘉 l真名:王小瑞 lvintagewang@apache.org l@阿里巴巴-中间件 lApache RocketMQ 创始人, PPMC Member,Committer lOpen-Messaging创始人 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 . c o m ©2016 Alibaba Middleware Group 阿里消息中间件演变历史 2016 2007 2010 2011 2012 2015 Notify 五彩石项目 交易核心消息流转 Napoli ActiveMQ内核 B2B大规模使用 MetaQ v1.0 顺序消息 海量堆积能力 Aliware MQ v1.0 Notify v3.0 MetaQ RocketMQ MetaQ RocketMQ Notify Aliware MQ 有序消息,Pull模式, 海量消息堆积能力 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望0 码力 | 35 页 | 993.29 KB | 1 年前3万亿级数据洪峰下的消息引擎 Apache RocketMQ
万亿级数据洪峰下的消息引擎 Apache RocketMQ 誓嘉 自我介绍 l花名:誓嘉 l真名:王小瑞 lvintagewang@apache.org l@阿里巴巴-中间件 lApache RocketMQ 创始人, PPMC Member,Committer lOpen-Messaging创始人 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 . c o m ©2016 Alibaba Middleware Group 阿里消息中间件演变历史 2016 2007 2010 2011 2012 2015 Notify 五彩石项目 交易核心消息流转 Napoli ActiveMQ内核 B2B大规模使用 MetaQ v1.0 顺序消息 海量堆积能力 Aliware MQ v1.0 Notify v3.0 MetaQ RocketMQ MetaQ RocketMQ Notify Aliware MQ 有序消息,Pull模式, 海量消息堆积能力 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望0 码力 | 35 页 | 5.82 MB | 1 年前3
共 814 条
- 1
- 2
- 3
- 4
- 5
- 6
- 82