NodeJsDistributed Systems with gRPC

gRPC is a high-performance framework for connecting services in distributed systems. It uses protocol buffers for efficient data serialization and works well for microservices communication.

npm install @grpc/grpc-js @grpc/proto-loader

const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const packageDefinition = protoLoader.loadSync('service.proto');
const myProto = grpc.loadPackageDefinition(packageDefinition);

const server = new grpc.Server();

server.addService(myProto.MyService.service, {
  sayHello: (call, callback) => {
    callback(null, { message: 'Hello, gRPC!' });
  }
});

server.bindAsync('0.0.0.0:50051', grpc.ServerCredentials.createInsecure(), () => {
  server.start();
});