Node 的设计错误
Node 的设计错误 Ryan Dahl JS Conf 柏林林 2018.06 背景: 1. 基于最初的开发,我创建了了并管理理 Node。 2. 我的主要关注⽬目标是事件驱动的 HTTP server。 3. 这⼀一主要⽬目标对当时服务器器端的 JavaScript 起着关键作⽤用。即使在当时这⼀一点不不 那么明显,但是服务器器端 JS 的成功需要事件循环的助⼒力力。 的成功需要事件循环的助⼒力力。 背景: 2012 年年我离开 Node 项⽬目的时候,当时我觉得 Node(或多或少)实现了了我的预定 ⽬目标:创建⼀一个⽤用户友好的⾮非阻塞框架,具体内容如下 1 核⼼心⽀支持许多协议:HTTP,SSL... 2. 在 Windows(使⽤用 IOCP)Linux(EPOLL)和MAC(KQuey)上跨平台⼯工作。 3. ⼀一个⽐比较稳定的相对较⼩小的核⼼心API。 4. 通过 NPM 增加外部模块的⽣生态系统。 但我错了了...因为还有许多问题仍待解决..... 使得 Node 保持增⻓长的⼏几项关键⼯工作 1. NPM(Isaac 开发)将核⼼心 Node 库解耦并允许⽣生态系统的分布。 2. N-API 是设计精美的绑定API。 3. Ben Noordhuis 和 Bert Belder 构建了了 libuv。 4.0 码力 | 28 页 | 767.84 KB | 1 年前3Node 在有赞的实践
Node 在有赞的实践 KK 1 • 一、Node 基础框架的迭代与演进 • 二、Node 接入有赞服务化体系的历程 • 三、未来需要做的一些事情 2 3 Koa 中间件 有⼈人(有赞的⼀一个内部管理理系统) 第⼀一个 Node 项⽬目 4 Koa 中间件 有⼈人(有赞的⼀一个内部管理理系统) 第⼆二个 Node 项⽬目 脚⼿手架模板 有赞官⽹网 5 诞⽣生 有赞官⽹网 Astroboy 阿童⽊木 有赞招聘 有赞云官⽹网 Koa + 中间件 脚⼿手架模板 阿童⽊木 0.0.1 6 Koa 中间件 有⼈人 很多项⽬目都开始⽤用 Node 了了 有赞官⽹网 Astroboy 阿童⽊木 有赞招聘 有赞云官⽹网 云控制台 分销 中间件 中间件 7 Koa 交易易 店铺 Astroboy 阿童⽊木 ⽤用户 营销 有赞官⽹网 目前有哪些重要业务用了 Node • 1、订单详情(灰度白名单) • 2、下单(灰度白名单) • 3、微页面(灰度白名单) • 4、有赞云、有赞官网、分销等等 8 二、Node 接入有赞服务化体系的历程 9 10 模板渲染 业务编排 接⼝口转发 业务逻辑 服务接⼝口 服务化 Node.js 11 如何调⽤用? Node.js 12 ⽅方案 2:Node 直接⽀支持0 码力 | 29 页 | 945.50 KB | 1 年前3Node.js Manual & Documentation
Node.js Manual & Documentation 项目网址:http://cnodejs.org Pdf 发布:Lenzhang Table Of Contents Synopsis 概要 Global Objects 全局对象 o global o process o require() o require.resolve() 核心模块 o File Modules 文件模块 o Loading from `node_modules` Folders 从 `node_modules` 目录中 加载 Optimizations to the `node_modules` Lookup Process 优化 `node_modules` 的查找过程 o Folders as Modules 目录作为模块 Modules 附录 1 - 第三方模块 Synopsis 概要 An example of a web server written with Node which responds with 'Hello World': 下边是一个用 Node 编写的对所有请求简单返回'Hello World‘的 web 服务器例 子: var http = require('http');0 码力 | 153 页 | 1.21 MB | 1 年前3用 Node.js 滚「雪球」
用 Node.js 滚「雪球」 孟祥宇 mengxy@xueqiu.com http://xueqiu.com/mengxy http://xueqiu.com 聪明的投资者都在这里 「雪球」是什么 管理你的投资信息 与行业专家在线交流 信息复盘 选择Node.js之前的思考 前端工程师的知识结构 HTML/CSS/JS HTTP 前端工程师做什么 ● 面向用户的工程师 初试牛刀 express http://expressjs.com node.js http module } {{ mustache }} 搞定上线 经常挂掉 - -||| uncaughtException https://github.com/shtylman/node-cookie/pull/8 node 进程还在,但是不返回任何请求 还有问题... 错误处理 稳定了,扩大规模0 码力 | 33 页 | 791.85 KB | 1 年前3全栈⼯程师之路 Node.js
全栈⼯工程师之路 Node.js by 桑世⻰龙(i5ting) i5ting:⼀一个开源爱好者 StuQ明星讲师 空弦科技CTO Node.js布道者 Cnodejs管理员 ⺫⽬目录 • Part 1:为什么选择 Node.js? • Part 2:Node.js快速开发实践 • Part 3:全栈展望 • Part 4: 如何全栈? Part 1:为什么选择 Node.js? 空弦科技做的是基于云仓储的 SaaS 服务,给中⼩小卖家提供服 务,核⼼心系统是进销存、订单池、WMS。 “JavaScript 是世界上使⽤用最⼲⼴广泛 的语⾔言,没有之⼀一,包括后端开发 ⼯工程师也更爱使⽤用 JavaScript。” ——stackoverflow 以前 我们总是喜欢拿异步说事⼉儿 除了性能,其他都是病? 现在我们拿 Node • 稳定 Node.js 好处 • 同样不优化,性能⽐比⼤大部分语⾔言好。即使优化,也⽐比 其他语⾔言简单,⽐比如Java、go • 有⾜足够多的选择和架构的平衡 • 如实在不够,Java 补 简单?难? • 可以采⽤用⾯面向过程 • 可以⾯面向对象 • 可以函数式 快?慢? • 执⾏行效率,同样不优化,性能⽐比⼤大部分语⾔言好。 • 开发效率,Node.js 本⾝身⽐比较简单,开发效率还是⽐比0 码力 | 50 页 | 1.35 MB | 1 年前3Node.js在YunOS中的最佳实践
Node.js在YunOS中的最佳实践 叶敬福 1 摘要 • YunOS: 万物互联 • YunOS选择Node.js • Node.js在YunOS中的最佳实践 – 对IO优先的Looper机制的改造和优化 – SAB + Worker机制的实践 – 性能优化的实践 2 3 万物互联 4 Cloud App应用场景化 5 CloudApp Manifest.json YunOS选择Node.js 6 基础技术架构 Cloud App Framework Rendering Engine Run(me & Node.js(VM) YunCore Libs & Services YunHAL Linux (kernel + drivers) Cloud App 7 Node.js对YunOS的助力 跨端 模块化、NaZve互调、事件模型 Node.js的不足 作为JavaScript虚拟机还不成熟 (缺少完整的libcore) ? 9 与V8强绑定,解耦或升级很困难 (naZve调用强依赖V8接口) ? CPU密集的计算场景中存在性能问题 (单线程,事件驱动,GC效率低) ? Node.js在YunOS中的最佳实践 100 码力 | 20 页 | 1.37 MB | 1 年前3Egg & Node.js 从⼩⼯坊⾛向企业级开发
Egg & Node.js 从⼩小⼯工坊⾛走向企业级开发 天猪 / 阿⾥里里游戏前端负责⼈人,Egg 核⼼心开发者 ⾃自我简介 ▸ 天猪 ▸ 阿⾥里里游戏前端负责⼈人,@⼴广州 @Alibaba UC ▸ Node.JS / EggJS / Scrat / Vue ▸ Follow me at : @atian25 @liuyong25 @liuyong25 基于上层框架开发的应⽤用 社区⽣生态 团队架构师 ⼀一线开发者 Node.js Plugin 插件⽣生态 适合特定团队业务场景的上层框架 Framework 蚂蚁 Chair UC Nut aliyun-egg … Specification ⼀一套规范和约定 Tool ⼯工具链 Base on Node.js [1/8] 你是否遇到过? 前端⼩小组 后端⼩小组 简⽽而⾔言之,BFF 谁使⽤用谁开发 ▸ 服务⾃自治带来灵活与⾼高效 ▸ BFF 根据团队的技术栈选型:Java/Node/PHP/Python/Ruby... ▸ 我们的选择: ⼀一件重要的事情:服务⾃自治 在我们的业务场景中,相对较优,⽣生态最活跃,最能被前端接受的 Node.js Base on Koa [2/8] Base on Koa ▸ Koa based framework0 码力 | 70 页 | 7.57 MB | 1 年前3聊聊 Node.js 构建部署时我们要关心的数据
聊聊 Node.js 构建部署时 我们要关心的数据 死月 死月 XadillaX(朱凯迪) 蚂蚁金服 Node.js 研发工程师 /《Node.js:来一打 C++ 扩展》作者 • 2013-2015 浙江大学 / 花瓣网 • 2015 大搜车 • 2017 蚂蚁金服 目录 CONTENTS ✦ 源起 ✦ 构建数据 ✦ 插件开发者视角 400+ Node.js 应用 来自灵魂的拷问 我是谁? 我要做什么? 谁用了我? 初衷 egg-niubility 构建部署流程 构建任务 统一脚本 触发部署 应用节点 统一脚本 应用本身 启动元信息收集 接收⽅方 触发构建 部署结果 启动数据 构建数据 2 构建数据 我要关心构建时的哪些数据? 工具 / 版本治理 ‣ Node.js / alinode alinode 运行时版本 ‣ 语言:JavaScript / TypeScript ‣ 前端构建工具 / 版本 ‣ 前后端框架 / 版本 Node.js 版本饼图 Node.js alinode v4.* v6.* v8.* v10.* * 以上图表为演示数据,并非公司真实数据 框架 / 构建工具饼图 Chair 1.3.* Chair 1.4.* Chair 1.5.* Rodhog0 码力 | 47 页 | 5.80 MB | 1 年前3Greenplum on Kubernetes 容器化MPP数据库
Host Segment Host Segment Instance Segment Instance Segment Instance Segment Instance Segment Host Segment Instance Segment Instance Segment Instance Segment Instance Segment Host Segment Instance Instance Segment Instance Segment Instance Segment Instance Segment Host Segment Instance Segment Instance Segment Instance Segment Instance query Load Master节点和Standby Master节点 Greenplum 架构 Interconnect高速网络 Interconnect高速网络 Segment主机部署多个Segment实例 (Primary Segment和Mirror Segment) Greenplum 部署方案 ● Master节点和Standby Master分机部署 ● Primary Segment节点和Mirror Segment节点分机部署 ● Mirroring部署方案 Segment Instance Segment host 10 码力 | 33 页 | 1.93 MB | 1 年前3Greenplum 编译安装和调试
PostgreSQL 8.3.23 (Greenplum Database 5.4.1+dev.56.gcdfadd9 build dev) ... postgres=# SELECT * FROM gp_segment_configuration ; dbid | content | role | preferred_role | mode | status | port | hostname | address TABLE t1 AS SELECT * FROM generate_series(1, 1000); test# SELECT gp_segment_id, count(1) FROM t1 GROUP BY gp_segment_id gp_segment_id | count ---------------+--------- 0 | 501 的日志,一种是数据库的日志。它们分别保存在不 同的目录下: ● gpinitsystem 的日志文件。默认路径为 ~/gpAdmin/gpinitsystem_*** ● 数据库的日志文件:进入 master (segment 的日志类似)的日志目录 (例如 /data/master/gpseg-1/pg_log/) 查看日志。 这里面有2种类型的日志: ○ startup.log ○ gpdb-.csv0 码力 | 15 页 | 2.07 MB | 1 年前3
共 663 条
- 1
- 2
- 3
- 4
- 5
- 6
- 67