使用Kubernetes(或无服务器)将后端(REST API)构建为微服务

时间:2018-08-03 01:08:16

标签: amazon-web-services kubernetes serverless

我想在基于微服务的体系结构中而不是整体设计下一个项目。通常将微服务定义为损害服务的一组端点(即,通用的依赖关系,功能等),还是每个端点都是自己的服务?

我以前使用过Serverless Framework,它定义了每个端点及其依赖项,并将其打包到Lambda / FaaS中。在Kubernetes中,这是否类似于每个端点都生活在其自己的Pod中?

我在思考从头开始设计可以利用自动缩放,微服务和按使用付费的新项目的理想方法时遇到了一些麻烦,但是没有找到很多有关它的信息。 / p>

对此主题有何想法/资源?

1 个答案:

答案 0 :(得分:3)

我建议您从scaling的角度开始。将应扩展的应用程序与不应该扩展的应用程序分开。那就是Pods

在考虑容错和负载平衡的情况下定义应用之间的连接。定义自动发现策略。这就是Services的用途。

考虑如何将您的应用暴露给外界。这就是Ingress的目的。

考虑如何重新启动和更新应用程序。 Deployments就是这样做的。

考虑集群安全性。这是Network policies发挥作用的地方。印花布项目可提供更加灵活的solution

考虑整个群集的可用性。 Kubernetes HA clusters

在特殊情况下,您可能需要使用DaemonSetsJobsCronJobsStatefulSets

如果您决定更深入,请查看官方网站的Kubernetes concepts部分中的其他文章。