💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
微服务使用rpc协议 每个服务被封装成进程,都是独立的 进程和进程之间通信,可以使用不同的协议 包括但不限于(php go java python c/c++) 比如php对接以太坊平台就是典型使用 ### 1. RPC简介 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用 *** 像调用本地函数一样调用远程函数 *** 通过rpc协议,传递函数名,函数参数,达到在本地调用远端函数的返回值到本地的目标 ### 2. go socket 远程----网络!!! service端: net.Listen() ----- listener监听者 创建监听器 listener.Accept() ---- conn套接字 启动监听 建立连接 conn.read() conn.writer() conn.Close() defer listener.Close() // 延迟关闭 client端: net.Dial()---- conn con.Write() conn.Read() defer conn.Close() ### 3.rpc使用步骤 服务端: 1 注册rpc服务对象,给对象绑定方法 (1 定义类 2 绑定类方法) rpc.RegisterName("服务名",回调对象) 2 创建监听器 listener,err := net.Listen() 3 建立连接 conn,err := listener.Accept() 4 将连接绑定rpc服务 rpc.ServeConn(conn) 客户端: 1 用rpc连接服务器 conn,err := rpc.Dial() 2 调用远程函数 conn.Call("服务名.方法名",传入参数,传出参数) ### TCP/IP 四层模型 1 应用层 2 传输层 3 网际层 4 网络访问层 ### OSI七层模型 1 应用层 网络服务与最终用户的一个接口。 协议有:**HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 2 表示层 数据的表示、安全、压缩。 格式有,**JPEG、ASCll、EBCDIC、加密格式等 3 会话层 建立、管理、终止会话。 对应主机进程,指本地主机与远程主机正在进行的会话 4 传输层 定义传输数据的协议端口号,以及流控和差错校验。 协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层 5 网络层 进行逻辑地址寻址,实现不同网络之间的路径选择。 协议有:ICMP IGMP IP(IPV4 IPV6) 6 数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验\等功能。(由底层网络定义协议) 将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 7 物理层 建立、维护、断开物理连接。(由底层网络定义协议)