当前位置: 首页 > 知识库问答 >
问题:

Cro:如何为中的每个服务定义端口。首席风险官。yml?

唐弘益
2023-03-14

在使用cro stub http test test创建存根服务之后,我在中定义了test\u PORT环境变量。首席风险官。yml:

---
id: test
cro: 1
name: "test"
endpoints: 
  - 
    id: http
    name: HTTP
    protocol: http
    host-env: TEST_HOST
    port-env: TEST_PORT
links:  []
entrypoint: service.p6
env:
  - name: TEST_PORT
    value: "3001"
...

尽管如此,Cro仍然使用默认的20000端口。Alex Schroeder导出环境变量以在不同的端口启动Cro。命令"exportTEST_PORT="3001"

在Cro中定义服务端口的正确形式是什么?

共有1个答案

穆浩皛
2023-03-14

cro run工具会自动将端口分配给它启动的所有服务。这是为了确保他们获得一个不用于其他用途的空闲端口。因此,它将用它选择的端口注入环境变量。使用cro run时,您无法选择端口。

要在所选端口上运行服务,请在不使用cro-run的情况下运行,也就是说,只需导出环境变量并调用服务,如raku-Ilib服务。p6(或使用perl6-Ilib服务。p6,如果您有旧的安装)。这样,服务将看到包含您选择的端口的环境变量。默认的Dockerfile也设置为执行此操作。

请注意,cro开发工具仅用于开发时间辅助,不适用于生产部署(这是选择端口的主要情况)。

 类似资料:
  • 这在一个虚拟服务中是可能的吗?

  • 例如,我们从我们的合作伙伴那里得到这样一条json消息: 合作伙伴希望客户端接收这样的消息(没有换行符,但有) 但我们的生态系统中有一系列的微服务,json需要经过4到5个微服务,在客户端能够获得它之前进行处理。因此,我们的合作伙伴应该给我们,而不是,以便客户在结果中得到。但我想知道,在源消息中添加8个反斜杠来转义每个微服务的“”是否是解决此问题的唯一方法。我认为这不是一个很好的解决方案,因为如果

  • 问题内容: 我将UNLINK与和一起使用。我知道这种方式非常危险,因为每个人都可以删除任何文件。但是我需要使用,因为删除文件时无法重新加载页面。 那么,我该如何做才能只允许拥有该文件的用户删除该文件? 如果您认为我在这里做错了什么,或者您有其他想法,并且认为这将是有用的,也请让我知道其他事情:) 我的PHP代码: 我的AJAX代码: 问题答案: 您需要以某种方式对用户进行身份验证。 您的用户需要使

  • Swoole\Coroutine\Server 与 异步风格 的服务端不同之处在于,Swoole\Coroutine\Server 是完全协程化实现的服务器,参考 完整例子。 优点: 不需要设置事件回调函数。建立连接、接收数据、发送数据、关闭连接都是顺序的,没有 异步风格 的并发问题,例如: $serv = new Swoole\Server("127.0.0.1", 9501); //监听连接

  • 方便的创建一个异步服务器程序,支持TCP、UDP、unixSocket 3 种socket类型,支持IPv4和IPv6,支持SSL/TLS单向双向证书的隧道加密。使用者无需关注底层实现细节,仅需要设置网络事件的回调函数即可,例子参考快速启动。 !> 只是Server端的风格是异步的(即所有事件都需要设置回调函数),也是支持协程的,开启了enable_coroutine之后就支持协程了(默认开启),