我很难理解如何使用微服务模型。微服务的概念是我有多个本地服务器,每个服务器服务于不同的端口。连接到这些本地服务器可以很容易地在本地完成(例如,使用Express托管网站)。但是如果我使用的是前端应用程序,比如React,我该如何调用不同的api呢?
我能想到的唯一解决方案似乎是为每个API创建一子域,但这似乎牵强且不切实际,因为我需要在名称服务器(例如,Cloudflare)中创建大量条目。
如果我正在使用像Apache或Nginx这样的应用程序,是否有一种方法可以使用单个域公开访问api ?或者使用子域,如api1.subdomain.domain.com
,api2.subdomain.domain.com
…但如果不把这些子域名都添加到域名服务器呢?
我能想到的另一种选择是创建一个公共API,它的工作是连接到本地服务,但这似乎违背了微服务的目的。
我在网上找不到任何东西,所有的教程总是使用localhost,这在生产代码中不起作用。
提前感谢!
你应该研究一下API网关/Edge-Services。
就我个人而言,我喜欢在Kubernetes中托管微服务容器,并将所有流量转发到*.mydomain。TLD到kubernetes集群并配置负载平衡(在本例中:哪个子域应该路由到哪个服务)。