Невозможно подключиться ко всем заказчикам из микросервиса - PullRequest
0 голосов
/ 28 апреля 2020

У меня проблемы с подключением API к нескольким заказчикам для запросов и транзакций. У меня есть три клиента для нашей сети. Все три заказчика находятся на одной машине, поэтому мы используем переадресацию портов для orderer1 (8050: 7050) и orderer2 (9050: 7050)

Это значения по умолчанию в configtx.yml:

- Host: orderer0.example.com
   Port: 7050
   ...
 - Host: orderer1.example.com
   Port: 7050
   ...
 - Host: orderer2.example.com
   Port: 7050
   ...

Это детали заказа в connection-profile.jon:

"orderers": {
        "orderer0.example.com": {
            "url": "grpcs://localhost:7050",
            ...
            "grpcOptions": {
                "hostnameOverride": "orderer0.example.com"
            }
        },
        "orderer1.example.com": {
            "url": "grpcs://localhost:8050",
            ...
            "grpcOptions": {
                "hostnameOverride": "orderer1.example.com"
            }
        },
        "orderer2.example.com": {
            "url": "grpcs://localhost:9050",
            ...
            "grpcOptions": {
                "hostnameOverride": "orderer2.example.com"
            }
        },
    },

Я использую NodeJS fabri c шлюз для создания и выполнения транзакций на каналах. Если для параметра конфигурации шлюза «asLocalhost» задано значение true, все запросы и транзакции выполняются через orderer0. Это становится проблемой, если orderer0 выходит из строя, так как шлюз не подключается автоматически к остальным заказчикам. Когда для параметра конфигурации шлюза «asLocalhost» задано значение «ложь», шлюз имеет информацию для всех трех заказчиков, в отличие от случая, когда для свойства asLocalhost установлено значение «истина», но все заказчики канала указывают на порт 7050 вместо своих соответствующих портов. Похоже, что заказчики извлекаются из консорциума. Поскольку нам необходимо подключиться к orderer1 и orderer2 через порты 8050 и 9050 соответственно, API не может подключиться к ним через порт 7050.

...