首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

开发基于 gRPC 协议的 Node 服务Node进阶】

点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 前言 在 Shopee 任职期间,我在开发 gRPC 协议的 node服务时有过不错的一些实践,配置中心、差分服务、官网服务等...在版本推进的过程中,ShopeePay 的前端团队承接的一些内容越来越多,从最开始简单的微服务接口的合并转发、到技术项目以 node 服务实现、再到部分业务服务直接由 node 承担。...协议同步 在微服务的架构中,前后端网关(grpc 微服务)和 node服务的通讯、后台 go 微服务node服务的相互调用是避免不了。...因此我们需要访问集群内的node服务的话,需要做以下几件事情: 为集群内的 node 服务申请公网域名,通过公网域名访问。 同时也需要向运维申请对应域名在集群内部的访问白名单权限。...挑战 其实抛开 gRPC 协议不谈,开发微服务和普通的node服务没什么差别。

83420

四、node服务器搭建

什么是端口 一台电脑可以部署多个服务器,根据端口不同找到不同的服务器。 默认的http端口为80端口。...web服务器读取网页并返回 使用http模块开启一个服务器 在服务器内部读取文件,将读取到的字符串内容作为服务器的响应返回 const http = require("http"); const fs...静态服务器的实现 静态服务器的流程 浏览器向服务器发起请求 服务器查询受否存在这个文件 存在 返回 不存在 返回默认404页面 静态服务器的实现 静态服务器实现与读取网页返回几乎一致,通过request.url...在安装包的时候,不需要加--save(s)参数,也会自动在package.json中保存依项 当安装包的时候,会自动创建或更新package-jock.json文件 package-lock.json文件内保存了node_modules...=> { // 注意 使用express模块创建服务器,使用send作为相应 res.send("Hello World!

1.7K10

node服务及前端应用部署

6-7月基本上在写node。现在终于开始部署了。 ? 开发一个服务和全面部署还是有很大差距的。主要体现在三个方面。 故障恢复:崩了怎么办? 多核利用:node单进程如何使用? 多进程如何共享端口?...第三是多在服务器上玩玩,只要胆大心细,玩不坏的。 上传文件到服务器 本地的话可以用cp(copy)命令。但是上传怎么办?...cluster是一个node原生模块,它允许多个进程共享一个3000端口而不冲突。当一个故障发生时,其它进程也会把这个死掉的进程重启。因此看上去是个"永不崩溃"的守护服务。...内建负载均衡(使用node cluster集群模块/子进程) 线程守护。...apps: - script : app.js intance : 2 watch : true env : NODE_ENV : production 然后

2K40

Node 如何调用 Java 微服务

后端系统大多都是微服务的架构,而且还可能同时有多种语言实现的微服务,比如 java、go、python、c++、node 等。 那么问题来了,多种语言实现的微服务之间如何通信呢?...比如 java 微服务有个方法 aaa,node服务想调用它,就可以通过 gRPC 来实现。 今天我们就来用一下 gRPC。...FindBook') findBook(data: { id: number}) { const items = [ { id: 1, name: '前端调试通关秘籍', desc: '网页和 node...比如在 java 的 srping 里,需要安装这两个依赖: 然后也是定义这样的 proto 文件: 之后定义对应的 servie: 和 node 里差不多。 这样就能跨语言调用对方的方法了。...这样就可以实现在 java、node、go、python 等多种语言之间实现微服务的远程方法调用。 如果你写一个 Node 的 BFF 层,调用别的语言的微服务时就会用到 gRPC。

23920

Node.js之HTTP服务

使用 Node 非常轻松的构建一个 Web 服务器 在 Node 中专门提供了一个核心模块:http http 这个模块的职责就是帮你创建编写服务器的 加载 http 核心模块,http是变量名称,可以自定义...() 服务器要干嘛?...提供服务:对 数据的服务 发请求 接收请求 处理请求 给个反馈(发送响应) 注册 request 请求事件 当客户端请求过来,就会自动触发服务器的 request 请求事件,然后执行第二个参数:回调处理函数...() { console.log('服务器启动成功了,可以通过 http://127.0.0.1:3000/ 来进行访问') }) 执行: ?...绑定端口号,启动服务 server.listen(3000, function () { console.log('服务器启动成功,可以访问了。。。') }) ? ? ?

1.1K10

搭建node服务(一):日志处理

本文将要介绍如何在node服务中处理日志。 一、技术选型 选择了3种主流的技术进行对比: 1.1 log4js log4js是一种node日志管理工具,可以将自定义格式的日志输出到各种渠道。...1.2 winston winston也是一种非常流行的node日志管理工具,支持多传输。默认输出格式为json,也可以自定义输出格式。...由于团队内部服务端系统很多是基于java的,这些系统大部分使用log4j生成日志。...// 默认日志 default: { appenders: [ 'file', 'console' ], level: 'debug' }, } }); 假如4月1日部署的服务...四、总结 本章介绍了log4js的基本使用,并给出了常用功能的使用示例,要了解log4js的更多功能,请参考log4js的官网:https://log4js-node.github.io/log4js-node

96320

搭建node服务(1):日志处理

本文将要介绍如何在node服务中处理日志。 一、技术选型 选择了3种主流的技术进行对比: 1.1 log4js log4js是一种node日志管理工具,可以将自定义格式的日志输出到各种渠道。...1.2 winston winston也是一种非常流行的node日志管理工具,支持多传输。默认输出格式为json,也可以自定义输出格式。...由于团队内部服务端系统很多是基于java的,这些系统大部分使用log4j生成日志。...        // 默认日志         default: { appenders: [ 'file', 'console' ], level: 'debug' },     } }); 假如4月1日部署的服务...要了解log4js的更多功能,请参考log4js的官网:https://log4js-node.github.io/log4js-node/。

1.3K20
领券