我有一个Python网站和一个GRPC服务,将用GO编写。
我想介绍微服务的网站。
-The GRPC聊天服务器将用GOLANG编写。GRPC客户端将用python编写,因为我的网站是python。将来,我想要一个快速的GRPC存根来与这个go服务器进行通信。
这是正确的架构吗?
我的网站当前GRPC客户端
聊天提交按钮-> pygrpc客户端-> go grpc服务器-> DB -> gogrpc服务器->pygrpc客户端->UpdateChat
来自任何语言的请求未来的移动客户端 UpdateChatRequest->任何GRPC客户端-> GRPC服务器-> DB -> GRPC server ->任何GRPC客户端->UpdateChat
发布于 2021-02-24 06:02:25
如果您打算构建多个可以称为"gRPC客户端“的gRPC服务器来执行CRUD聊天操作,这看起来是一个不错的模型。我要说的是,现在许多gRPC实现都用于微服务间通信,而不是用于您的标准(客户端->网关->微服务集群)客户机服务器通信。在我看来,这在很大程度上是由于gRPC-web无法在HTTP/2上完全操作。现在,我诚实地认为在厚客户端(比如在本地移动或桌面上)实现gRPC没有问题,因为gRPC可以在这些场景中得到完全支持,只是还不能在浏览器中实现。
如果你没有在你的前端使用gRPC-web,它可能值得一看。gRPC无论如何都需要一个代理,所以不管您是否使用gRPC,您都可以在HTTP/1.1上操作,直到浏览器支持更直接地耦合到HTTP/2为止。
这有点不清楚,但你不一定在尖叫微型服务。实际上,最好不要把“微观服务”的概念看作是一夜之间的过渡。你的拱门现在是一块巨石。使用像gRPC这样的技术并不能自动地使您的体系结构成为一个微服务体系结构,但是它更好地为您准备好了逐步过渡,以便将您的体系结构开发成更多的分布式、基于服务的模型。当然,“微服务”这个词通常是一个有许多不同含义的热门词,知道你在想什么背景是很重要的。
https://stackoverflow.com/questions/66345134
复制相似问题