4个App后端用Egg实现。4个APP有很多通用的功能。想单独抽象出来,拆成微服务。每个功能模块都再用Egg实现Restful接口,还是有其他更好的Node微服务实现方式。一般这种情况如何选型设计。
占个楼,晚点答。
占个二楼,等待楼上回答,还有楼下其他框架的同学抢答。
@thonatos 谢谢苏依
前排插眼,等待学习。
可以封装成 plugin 让4个项目去依赖; https://cnodejs.org/topic/5895870f800323b708f7bbf4
参考我们的
分为业务层和服务层,由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 业务这么复杂, 权限系统该怎么设计, 指导下呢
你可以看看 egg 做微服务的例子:https://github.com/eggjs/egg-boilerplate-microservice
@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 管理的。