Node微服务选型设计问题。
发布于 5 年前 作者 deadwind4 6723 次浏览 来自 问答

4个App后端用Egg实现。4个APP有很多通用的功能。想单独抽象出来,拆成微服务。每个功能模块都再用Egg实现Restful接口,还是有其他更好的Node微服务实现方式。一般这种情况如何选型设计。

24 回复

占个楼,晚点答。

占个二楼,等待楼上回答,还有楼下其他框架的同学抢答。

@thonatos 谢谢苏依

	前排插眼,等待学习。

可以封装成 plugin 让4个项目去依赖; https://cnodejs.org/topic/5895870f800323b708f7bbf4

参考我们的 image.png

分为业务层和服务层,由k8s 管理。 caddy 可以换成 kong (基于nginx)

也欢迎一起交流 https://github.com/notadd/notadd/blob/master/README_zh.md

微服务当然要将服务拆出来。 比如说用户服务,既然是自家的app,如果账号体系是共通的,就可以将用户部分拆出来成为用户中心,4个app调用用户服务时都到这一个服务上。这个服务就拆出来了。

如果从零开始的话 推荐接入 dubbo + nacos node 对外提供http 对内互调用dubbo rpc 服务注册发现与配置中心 使用 nacos

https://github.com/alibaba/nacos https://github.com/apache/incubator-dubbo

如果公司基础设施好 已经上docker全家桶了 那么推荐 Docker 的ServiceMesh方案

@tao1991123 谢谢,不过我们这头现在是纯Node

@chenzeZzz 这个当时我想了,但是版本迭代的时候没有拆成微服务方便。

@deadwind4 node 服务发现和服务治理这块相关的东西比较少。 基于 k8s 生态比较现实一些。 我们现在业务层 和 服务层 基于 nest.js ,通信使用 Grpc-node,网关使用 kong ,服务发现 etcd , CI :Jenkins 目前已经在线上跑了这么一套了

@zuohuadong 业务这么复杂, 权限系统该怎么设计, 指导下呢

@zuohuadong 大佬说的对,真的很少,刚开始找了很久,都没有合适的

@zonezoen 我们建议也是先用现有成熟的系统,然后再考虑用node 重写。业务优先。

@okoala 可以看看这个 https://github.com/nestjs/nest/tree/master/sample/03-microservices , nest 在国外现在特别受欢迎~

强烈推荐moleculer.js https://github.com/moleculerjs/moleculer, 我们现在技术选型,后端微服务框架用的这个

@zuohuadong 提供一下服务治理和发现的经验呗, 我现在也在用nestjs

@soluty 用的人太少了,而且 js 后面也不好维护。

@jiangzhuo 这块暂时是通过 k8s 的 etcd 管理的。

@soluty 两年后,想问一下贵司还有继续使用 moleculerjs吗?过程中有没有遇到什么重大问题?

回到顶部