【问题标题】:Can I run a microservice which keeps a port open in the cloud?我可以运行一个在云中保持端口开放的微服务吗?
【发布时间】:2016-05-20 03:36:24
【问题描述】:

我是微服务新手。我将它们设想为在两台或多台机器上运行的一组进程(我想对于给定的进程,两个实例必须在不同的机器上运行以确保可靠性)。在该设置中,根据我拥有的客户端类型,可能会有一个进程作为 TCP 服务器在特定的高端口上服务并使用非 HTTP 协议。

但是,出于我的低带宽测试目的,我还没有找到提供这种环境的免费云服务(运行进程的机器——比如 Linux 上的 Java——同时保持高端口开放)。

也许我所期望的设施只提供给付费客户,或者也许在云中实施微服务架构不仅仅是在机器上运行进程和共享数据库?有人可以澄清一下吗? (如果可能的话,指导我使用这样的一项免费服务)

【问题讨论】:

    标签: linux server cloud microservices


    【解决方案1】:

    是的,当您说微服务更多地是关于可以部署在一台或多台云机器中的独立服务(进程)时,您是对的。每个服务都可以使用非 http 协议与其他服务进行通信,例如消息代理、Thrift、远程过程调用 (RPC) 等。

    从架构的角度来看,服务大多应该解耦到足以处理分布式计算的复杂性。见Microservices Architecture link上的图片 有一个 API Gateway 的概念,可用于身份验证以及服务注册和发现目的。

    回到您的问题,您可以在单个云上测试微服务(通过在不同的端口上运行每个服务)并使用 API Gateway 发现服务路径以供参考,这里是值得查看的链接。

    有关概念,请参阅链接:Microservices.iostackoverflow question

    用于实现:zookeeperAuth0(这是我正在使用的)

    如果你是 java 爱好者很高兴看到infoQ article 一些可能有助于构建和测试微服务的免费资源包括:Google App Enginehook.io

    【讨论】:

      猜你喜欢
      • 2019-10-09
      • 2020-10-25
      • 2017-08-22
      • 2023-04-02
      • 2014-01-15
      • 2020-11-25
      • 1970-01-01
      • 2012-07-30
      • 2023-03-29
      相关资源
      最近更新 更多