Sid*_*sef 17 node.js microservices
我正在进行一个侧面项目,并且我将我的Skelton项目重新设计为微服务,到目前为止我没有找到任何遵循这种模式的开源项目.经过大量的阅读和搜索,我总结了这个设计,但我仍然有一些问题和想法.
以下是我的问题和想法:
sez*_*rug 10
你的设计似乎没问题.我们还使用API网关方法构建我们的微服务项目.包括网关服务(GW)在内的所有服务都是容器化(我们使用docker)Java应用程序(spring boot或dropwizard).也可以使用nodejs构建类似的体系结构.与您的问题相关的一些主题:
您的设计还可以。
如果您的API网关需要实现(可能就是这种情况)CAS /某种Auth(通过其中一项服务,即某种用户服务),并且还应该跟踪所有请求并修改标头以容纳请求者元数据(以供内部ACL /作用域使用)-您的API网关应在Node中完成,但应在Haproxy下进行,这将关心负载平衡/ HTTPS
发现处于正确的位置-如果您寻找一个适合您设计的外观,那就是Consul。
您可以对服务和API网关使用领事模板或使用自己的微型发现框架,以便它们在启动时共享端点数据。
ACL /授权应针对每个服务实施,并且来自API Gateway的首次请求应服从所有授权中间件。
使用API网关为每个请求提供请求ID来跟踪请求很聪明,因此可以在“内部”系统中跟踪其生命周期。
我会为消息传递/工作人员/队列/快速内存中的东西(例如缓存/缓存失效)添加Redis(如果没有一个,您将无法处理所有MS体系结构)-如果您有更多的分布式事务和大量消息传递,则可以使用RabbitMQ
将所有这些旋转到容器(Docker)上,以便于维护和组装。
至于BI为什么需要为此提供服务?您可能需要外部ELK Elastisearch,Logstash,Kibana),并同时具有仪表板,日志聚合和巨大的大数据仓库。
| 归档时间: |
|
| 查看次数: |
5826 次 |
| 最近记录: |