3

在我直接进入这个问题之前,我想谈谈我是如何遇到这个问题的。

基本上,我现在正在使用 IBM 区块链技术,不仅要使用 Bluemix 中的区块链服务,还要修改 Hyperledger 对等源代码。您可以从https://github.com/hyperledger/fabric找到 Hyperledger 项目。这是一个由 GO 编写的 Linux 平台应用程序。

修改后,我们在本地 vagrant VM 服务器上进行了测试。所有的变化都很好。

现在我尝试通过 CF App 通道将更新的代码部署到 IBM Bluemix。由于缺少基本环境,该操作在编译阶段失败。

我的问题来了:

  1. 对于 bluemix,当我启动 Block Chain 服务时,背后究竟发生了什么?bluemix 是否为我启动了一些 VM 来运行对等节点?
  2. 有人尝试过通过 cf app 频道推送对等点吗?如何解决对等节点的构建包?
  3. 当对等节点运行时,它正在侦听 8080 以外的 3 个端口。在我的本地 VM 服务器中,它是 fin。但是如何在 bluemix 中启用这些端口?

感谢您的想法和贡献。

4

2 回答 2

0

我们考虑将 Hyperledger 节点作为 Cloud Foundry 中的应用程序运行。可以使用 Go、RocksDB、Docker 的可执行文件和其他必要的依赖项创建 buildpack。然而,在配置方面存在一些挑战:

  1. 除了“peer”应用程序,Docker 恶魔也应该在 CF 容器内启动(我没有测试 Docker 是否在 CF 容器内工作)
  2. 就默认情况下 CF 应用程序仅公开 1 个网络端口而言 - 我们无法在启动验证对等方的同一容器中启动 REST 端点。-c解决方法 - 我们可以在应用程序部署时使用选项在 CF 中将“会员服务”、“验证对等”和“REST 客户端”作为不同的应用程序运行。
  3. CF 路由器支持有限数量的协议,这也可能是这个级别的问题。

在应用程序级别,注册证书存在问题(只能颁发一次),以防 CF 重新启动您的应用程序 - 验证对等方将无法使用相同的凭据申请另一个注册证书。解决方法 - 可以将证书保存在外部持久存储中并在开始时加载它们。无论如何,VP 在 CF 中只有 1 个实例(不会使用可扩展性)

因此,如果不对 Fabric 核心进行定制,我们几乎无法使用诸如可扩展性和自动故障转移等 CF 优势。

于 2016-06-10T17:47:20.210 回答
0

我同意上述说明,只有当我们有对等应用程序时,Docker 才能在 CF 容器中工作。剩下的IBMBluemix应该有适当的 VM 配置,因为 CF 的端口有限。

于 2017-11-02T20:31:15.543 回答