The M-Files Community will be updated on Tuesday, April 2, 2024 at 10:00 AM EST / 2:00 PM GMT and the update is expected to last for several hours. The site will be unavailable during this time.

What are the advantages/disadvantages? (gRPC vs TCP/IP vs HTTPS)

I have been wondering for a while, what are the advantages/disadvantages between the various ways of connecting to a vault?

Do any of the connection methods come with any feature differences (security, functionality, etc) or perhaps even major speed/latency improvements.

I have not had the option to test gRPC yet as I am yet to understand how to set it up to pass through our pfSense firewall with haProxy :D

So let us find out, which way should clients really be connecting to the server!

Parents
  • Short answer: If possible, use gRPC as it is a future-proof connection protocol.

    Longer answer: gRPC should be used when possible, but setting up a gRPC environment when there's a proxy server in front of the M-Files application server requires expertise in that particular proxy solution. We don't currently have extensive documentation on setting up such an environment and some details are of course dependent on the used proxy solution. gRPC works over HTTP/2 so IIS cannot currently be used as a proxy as it lacks this support as far as I know. That's why RPC over HTTPS is still used also in some new on-premises environments. Vaults on the new M-Files Cloud will always use gRPC for the communication.

    At least in theory gRPC can provide performance benefits over the other protocols but I haven't yet seen any data from real-world setups. My gut feeling is that there isn't a noticeable difference currently.

Reply
  • Short answer: If possible, use gRPC as it is a future-proof connection protocol.

    Longer answer: gRPC should be used when possible, but setting up a gRPC environment when there's a proxy server in front of the M-Files application server requires expertise in that particular proxy solution. We don't currently have extensive documentation on setting up such an environment and some details are of course dependent on the used proxy solution. gRPC works over HTTP/2 so IIS cannot currently be used as a proxy as it lacks this support as far as I know. That's why RPC over HTTPS is still used also in some new on-premises environments. Vaults on the new M-Files Cloud will always use gRPC for the communication.

    At least in theory gRPC can provide performance benefits over the other protocols but I haven't yet seen any data from real-world setups. My gut feeling is that there isn't a noticeable difference currently.

Children