/gRPC-PSPD

Primary LanguageHaskellMIT LicenseMIT

gRPC & ProtoBuf como solução de mensageria - LAB02

Python

Instale as dependencias:
$ pip install -r requirements.txt

Inicie o servidor passando a quantidade de workers e a porta:
$ python python/minmax_server.py 4 50051

Rode o cliente passando o ip e a porta do servidores:
$ python python/minmax_client.py 127.0.0.1:50051

Exemplo do cliente com multiplos servidores:
$ python python/minmax_client.py 127.0.0.1:50051 IP2:PORT2 IP3:PORT3


Haskell

Como o haskell nao possui suporte oficial ao gRPC, a biblioteca utilizada, gRPC-Haskell, utilizada o gRPC do C++ e apresenta diversos problemas de compatibilidade, então preparar o ambiente pode demorar vários minutos. É necessário possuir o GHC, cabal, git e o nix-build instalado na maquina

Clone o repositorio do gRPC-Haskell:
$ git clone https://github.com/awakesecurity/gRPC-haskell

Va para a raiz do repositorio gRPC-HASKELL:
$ cd gRPC-haskell

Builde o ambiente:
$ nix-build release.nix -A grpc-haskell

Entre no shell do nix:
$ nix-shell

No shell do nix, com o servidor Python rodando em 127.0.0.1:50051, vá para a pasta do laborátorio de gRPC e execute o cliente haskell:
$ cabal run