Node 的设计错误Node 的设计错误 Ryan Dahl JS Conf 柏林林 2018.06 背景: 1. 基于最初的开发,我创建了了并管理理 Node。 2. 我的主要关注⽬目标是事件驱动的 HTTP server。 3. 这⼀一主要⽬目标对当时服务器器端的 JavaScript 起着关键作⽤用。即使在当时这⼀一点不不 那么明显,但是服务器器端 JS 的成功需要事件循环的助⼒力力。 ⽤用它进⾏行行快速的⼀一次性计算。 ⽽而 JavaScript 就是最好的动态语⾔言。 但是相反,现在我将会抱怨 Node 的所有缺点。 当你是某个项⽬目的负责⼈人时,你总是很难发现其中的错误。 有时 Node 对我来说就像是板上钉钉的事。 它本来可以更更好。 遗憾:不不遵守“诺⾔言” • 我在 2009 年年 6 ⽉月向 Node 添加了了 Promise,但在 2010 年年 可能是⼀一个不不错的选择。 • 如果允许其他⼈人针对 Go 或 Rust 构建他们⾃自⼰己的 Deno,C ++可能仍然是 ⼀一个不不错的选择? Deno ⽬目标:杂项 • 发⽣生未捕获 Promise 错误时⽴立刻⾃自动终⽌止运⾏行行(疯狂的是在 Node 中并⾮非如此) • ⽀支持 top-level 的 await (尚未在原型中) • 兼容浏览器器(功能重叠时) 它诞⽣生只有⼀一个⽉月的时间。0 码力 | 28 页 | 767.84 KB | 1 年前3
Go在工程实践的错误处理Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅 分布式错误难以串联 分布式错误难以串联 错误信息难以识别 如何完善错误信息 第二部分 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 gRPC错误日志:param error 哪个Client 调用? 哪一行代码 调用? 我的 参数问题? 对方的问题? ... 遇到一个问题,我们就追加一个日志字段,排查错误效率非常低 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 对端信息 对端信息 请求方法 请求参数 响应数据 状态信息 耗时时间 执行行号 能够确定对端的唯一来源,例如对端的应用名称、对端的 配置、对端的IP。 对端请求的方法。 请求的参数信息,包括 header 里的 metadata 响应的数据,包括 header 里的 metadata 错误码和错误信息 请求到响应的耗时时间 调用处执行的行号 总结起来,调试阶段需要对接的信息 为什么调试慢?--0 码力 | 30 页 | 3.11 MB | 1 年前3
Java EE 企业应用系统开发 - HTTP 响应处理编程大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 Java EE 企业应用系统开发 HTTP 响应处理编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 November 17, 2018 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 学习目标 1. 掌握 HTTP 响应的内容,包括响应状态行、响应头、响应 体。 2. HTTP 响应对象的类型及其生命周期,掌握响应 对象的功能。 3. 学习并实践掌握部分响应对象方法的用法。 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 接下来⋯ HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 HTTP 响应的内容 在 Web 服务器接收请求处理后,向客户端发送 HTTP 响应 (Response)。 O 响应的内容 ▶ 响应状态(Status Code) ▶ 响应头(Response Header) ▶ 响应体(Response Body) 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法0 码力 | 26 页 | 575.28 KB | 1 年前3
一次线上java 应用响应时间过长问题的排查链滴 一次线上 java 应用响应时间过长问题的排查 作者:xinzhongtianxia 原文链接:https://ld246.com/article/1569574881351 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)最近接手一个老 java 应用,没多久接到响应时间太长的报警,整个排查过程还是挺有意思的, 录一下。
整个过程中,设计到 cpu,内存,垃圾回收,引用,spring, 单例 等等知识,整个下来,心情愉悦。< p>接到报警
吃完晚饭回来,接到报警短信,服务响应时间太长,达到 2s 以上。
第一反应,怎么可能,这个应用很简单,就提供了几个查询接口,QPS 第一反应,怎么可能,这个应用很简单,就提供了几个查询接口,QPS 单机也就 10 左右,居然响应 间 2s 以上,这不科学。看监控
看监控平台,有问题的机器,cpu 占用很高,这。。。更不科学了。理论上,这应用 cpu 能到 1 就不错了,现在居然 80%,吓得我赶紧跑到机器上,top 了一把,确实是 java 应用占用 cpu 很高。 /p>
找出占用
0 码力 | 3 页 | 247.74 KB | 1 年前3
从十到千,响应团队规模的敏捷与DevOps实践-冯斌从十到千,响应团队规模的敏捷与DevOps实践-冯斌0 码力 | 27 页 | 8.15 MB | 1 年前3
大型Web项目可用性提升 零脚本错误的实战 郭林烁 2017.100 码力 | 62 页 | 7.09 MB | 1 年前3
Zabbix 7.0 中文手册. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1862 12 数据库错误处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 使用宏可以使通知变得有意义和友好 • 自动化操作包括执行远程命令 实时图形 • 采集到的监控项值可以使用内置的绘图功能立即图形化 网络监控功能 • Zabbix 可以跟踪网站上的模拟鼠标点击的路径并检查功能和响应时间 丰富的可视化选项 • 创建自定义图形的能力,可以将多个监控项组合成一个聚合图形 • 网络拓扑图 • 在仪表盘中显示幻灯片 • 报表 • 被监控资源的高级(业务)视图 历史数据存储 → 审计日志 中,该审计日志具有额外的筛选选项(推送操作和 历史记录资源),并 且 history.push API 方法也出现在用户角色配置 时的 API 方法的允许/拒绝列表中。 性能 更快的响应主机维护时段的更新 之前,维护操作仅每分钟重新计算一次,这可能导致启动或停止维护时段时延迟长达 60 秒。 现在,维护操作仍是每分钟重新计算一次,或者只要配置缓存重新加载就会立即重新计算。 每0 码力 | 1951 页 | 33.43 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. 151 12.1.2 Java 异常分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 12.1.3 常见错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 12.1.4 常见异常 . . . . . . . . 18 HTTP 响应处理编程 231 18.1 HTTP 响应的内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 18.1.1 HTTP 响应的内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 18.2 HTTP 响应对象 . . . . . . . 234 18.2.1 响应对象类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 18.2.2 响应对象生命周期 . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 18.3 响应对象功能和方法 . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
Laravel 5.2 中文文档Artisan 命令 down 即可: php artisan down 要关闭维护模式,对应的 Artisan 命令是 up: php artisan up 维护模式响应模板 默认的维护模式响应模板是 resources/views/errors/503.blade.php 维护模式 & 队列 当你的站点处于维护模式中时,所有的队列任务都不会执行;当应用退出维护模式这些任 秀的开发 环境,有了它,我们不再需要在本地环境安装 PHP、HHVM、Web 服务器以及其它工具 软件,我们也完全不用再担心误操作搞乱操作系统 —— 因为 Vagrant 盒子是一次性的, 如果出现错误,可以在数分钟内销毁并重新创建该 Vagrant 盒子! Homestead 可以运行在 Windows、Mac 以及 Linux 系统上,其中已经安装好了 Nginx、 PHP7.0、MySQL 所有路由 都使用了中间件组 web,而这个中间件组为路由提供了 Session 状态和 CSRF 保护功 能。通常,我们会将所有路由定义在这个路由组中。 有效的路由方法 我们可以注册路由来响应任何 HTTP 请求: Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback);0 码力 | 377 页 | 4.56 MB | 1 年前3
Laravel 5.1 中文文档// }]); 更多关于中间件的内容,请查看中间件一节。 测试革新 Laravel 中内置的测试功能获得了引入注目的提升,多个新方法提供了平滑的,富有变现力 的接口和应用进行交互并测试响应: public function testNewUserRegistration(){ $this->visit('/register') ->type('Taylor' Artisan 命令 down 即可: php artisan down 关闭维护模式,对应的 Artisan 命令是 up: php artisan up 3.1 维护模式响应模板 默认的维护模式响应模板位于 resources/views/errors/503.blade.php 3.2 维护模式 & 队列 当你的站点处于维护模式中时,所有的队列任务都不会执行;当应用退出维护模式这些任务 盒子,该盒子提供了一流的开发环境,有了它,我们不再需要在本地环境 安装 PHP、HHVM、web 服务器以及其它服务器软件,我们也完全不用再担心误操作搞乱 操作系统——因为 Vagrant 盒子是一次性的,如果出现错误,可以在数分钟内销毁并重新创 建该 Vagrant 盒子! Homestead 可以运行在 Windows、Mac 以及 Linux 系统上,其中已经安装好了 Nginx、 PHP5.6、MySQ0 码力 | 307 页 | 3.46 MB | 1 年前3
共 890 条
- 1
- 2
- 3
- 4
- 5
- 6
- 89













