【问题标题】:How Google Cloud Run supports to connect different micro services and different databasesGoogle Cloud Run 如何支持连接不同的微服务和不同的数据库
【发布时间】:2020-06-11 16:03:30
【问题描述】:
假设我想使用 google cloud run 部署多个微服务,这些微服务将相互连接。我的问题如下
- 每个微服务是否通过创建谷歌云运行服务单独部署
- 然后每个微服务如何相互调用(通过使用公共 IP)
- 如何将不同的微服务连接到不同的数据库,如Mongo DB、CassandraDb。有没有办法我们可以在计算引擎中创建 NoSQL Db 并通过谷歌云运行访问。
【问题讨论】:
标签:
google-cloud-platform
google-compute-engine
google-cloud-run
【解决方案1】:
每个微服务是否通过创建谷歌云运行服务单独部署
是的,每个微服务都是独立的,并且如果您需要,它们都有自己的 http/s 端点。
如果您需要批量部署更多,您可以随时使用 CI/CD 工具。
然后每个微服务如何相互调用(通过使用公共 IP)
当您首次使用 HTTP 触发器部署服务时,您会获得一个唯一的 url(类似于云函数所发生的情况)。然后,您可以像往常一样通过 HTTP 调用您的服务。
当然,如果您有很多服务,盲目地调用它们并不是最好的选择,我建议您使用服务网格 (istio) 和/或 api-gateway (cloud endpoints) 以便获得更好的控制和灵活性在你的 api 上。
不同的微服务如何连接不同的数据库如
Mongo DB,CassandraDb。有没有办法我们可以在计算中创建 NoSQL Db
引擎并通过谷歌云运行访问。
我不明白为什么不这样做,但请考虑一下云运行(托管)的已知限制列表:here
基本上它不支持 VPC 连接器,因此您不能通过私有 ip 进行操作。还要考虑许多托管数据库 gcp 提供,也许数据存储对您的用例来说足够好?