Generally RFC can be of 3 types
tRFC or Transactional RFC: "The system logs the remote call request in the database tables ARFCSSTATE and ARFCSDATA with all of its parameter values. You can display the log file using transaction SM58. When the calling program reaches a COMMIT WORK, the remote call is forwarded to the requested system for execution. Transactional RFC requests are transferred, with parameter data in byte-stream form, using TCP/IP or X400".
qRFC or queued RFC : "To guarantee an LUW sequence dictated by the application, the tRFC is serialized using queues. It is therefore called queued RFC (qRFC). Due to the serialization, in R/3 a send queue for tRFC was created. These results in the general term qRFC with send queue"
RFC or Asynchronous RFC: "Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog".