当前位置: 首页 > news >正文

浙江舟山城乡建设网站网上注册公司申请入口

浙江舟山城乡建设网站,网上注册公司申请入口,区块链开发语言和工具,一家专门做衣服的网站GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Http) 11、GO学习之 微框架(Gin) 12、GO学习之 数据库(mysql) 13、GO学习之 数据库(Redis) 14、GO学习之 搜索引擎(ElasticSearch) 15、GO学习之 消息队列(Kafka) 16、GO学习之 远程过程调用(RPC) 文章目录 GO系列前言一、什么是RPC二、调用示例2.1 服务端2.2 客户端 三、RPC 实际应用中的优缺点 前言 按照公司目前的任务go 学习是必经之路了虽然行业卷不过技多不压身依旧努力 RPC 在许多应用程序中有着广泛应用尤其是分布式系统和微服务中一些场景的应用场景包括 微服务通信 在微服务框架中实现各个服务之间的通信使用 RPC 进行通信以实现服务间的协作和数据传递。分布式系统 在分布式系统中不同节点之间需要进行远程调用。高性能计算 在高性能计算环境中可以使用 RPC 在不同计算机节点上执行计算任务以加速并行计算。数据同步 在不同数据源之间进行数据同步例如将数据从一个数据库复制到另一个数据库。 一、什么是RPC RPC 是远程过程调用Remote Procedure Call, RPC是一个计算机通信协议。RPC 协议允许一台计算机的程序调用另一台计算机的子程序我程序员无需要额外地为这个交互编程。RPC 允许应用程序调用另一个地址空间通常是远程服务器上的函数和方法就像本地调用一样。RPC 的核心思想就是使远程调用过程对开发者透明就像本地调用一样。 二、调用示例 在Go 标准库中包含了net/rpc包用于实现 RPC 远程调用所以不用在引入第三方包了。 2.1 服务端 下面代码中实现了一个 RPC 的服务端用来提供 RPC 服务通过 rpc.Register(productService)来注册一个服务并且通过 net.Listen(tcp, :8899)监听。 package mainimport (fmtlognetnet/rpc )// 定义一个返回体结构 type Product struct {Id int32Name stringDesc stringPrice float32 }// 定义了一个 RPC 服务用于返回产品信息 type ProductService struct{}// 定义服务的方法, 参数定义需要定义为传递对象的指针 func (ps *ProductService) FetchProduct(Id *int32, reply *Product) error {p : Product{Id: *Id,Name: 钻石王老五,Desc: 一部手机能打电话,Price: 5000.00,}// 将产品信息写入 reply 指针*reply preturn nil }func main() {// 实例化产品服务productService : new(ProductService)// 注册ProductService 为 RPC 服务rpc.Register(productService)// 启动监听 8899listener, err : net.Listen(tcp, :8899)if err ! nil {log.Fatal(RPC service start fial: , err)return}defer listener.Close()fmt.Println(RPC service is listening on part 8899...)for {// 接受客户端连接conn, err : listener.Accept()if err ! nil {fmt.Println(Error accepting connection: , err)continue}// 启动一个新的 goroutine 处理连接go rpc.ServeConn(conn)} }运行结果 PS D:\workspaceGo\src\rpc go run .\rpcServer.go RPC service is listening on part 8899...2.2 客户端 以下是 RPC 客户端代码实现调用服务端代码并且获得返回信息。代码中通过 rpc.Dial(tcp, 127.0.0.1:8899)调用本地端口 8899通过 client.Call(ProductService.FetchProduct, 1, result)实现调用第一个参数为 远程方法名第二个是方法参数第三个参数用于接收返回结果。 package mainimport (fmtlognet/rpc )// 定义一个结构体用户接受数据 type Product struct {Id int32Name stringDesc stringPrice float32 }func main() {// 连接到远程 RPC 服务client, err : rpc.Dial(tcp, 127.0.0.1:8899)if err ! nil {log.Fatal(Connect to server fail: , err)}defer client.Close()var result Product// 调用远程函数 fetchProductresult 用来获取返回值err client.Call(ProductService.FetchProduct, 1, result)if err ! nil {log.Fatal(Call remote function fail: , err)return}fmt.Printf(Result: %v \n, result) }运行结果 PS D:\workspaceGo\src\rpc go run .\rpcClient.go Result: {1 钻石王老五 一部手机能打电话 5000} PS D:\workspaceGo\src\rpc 三、RPC 实际应用中的优缺点 优点不限于 简化分布式系统开发 RPC 隐藏了底层通信细节使分布式系统开发更加容易。强类型 RPC 使用强类型语言定义接口可以提前发现类型错误。跨语言 许多 RPC 框架支持多种编程语言可以使不同语言开发的应用系统之间通信。 缺点不限于 增加复杂性 在分布式系统的开发中RPC 可能会增加系统的复杂性例如调用失败、超时和并发问题等。性能开销 RPC 引入了额外的开销比如序列化、反序列化、网络开销等。 现阶段还是对 Go 语言的学习阶段想必有一些地方考虑的不全面本文示例全部是亲自手敲代码并且执行通过。 如有问题还请指教。 评论去告诉我哦一起学习一起进步
http://www.hkea.cn/news/14415587/

相关文章:

  • 北海建设厅官方网站电子商务网站建设教程
  • 江苏省建设注册中心网站用dreamware制作网页
  • 国外做的比较好的购物网站营销推广方案ppt案例
  • 寻找大连网站建设商城网站建设价格
  • 网站被**泛解析后的解决方法网站建设的参考文献
  • 中国风网站设计莱芜最新招工招聘启事
  • 电商法规定企业网站必须做3年前端开发师
  • 电商网站网络服务天津企业网站建设哪家好
  • 最简单的网站开发国际化自媒体制作视频教程
  • 谢岗镇网站仿做模板网站建设
  • 中国建设监理业协会网站wordpress内容分享微信
  • 哪个网站帮别人做ppt做的网站在ie会乱码
  • 做产品展示网站高大上的企业网站欣赏
  • 网站安全维护包括什么那个做图网站叫什么
  • 门户网站建设要点wordpress修改教程视频
  • 网站建设公司盈利分析用来做网页的软件
  • wordpress菜单调用图片建设网站优化
  • 让别人做网站多久开始注册域名我为群众办实事工作总结
  • 学校网站设计论文月夜影视在线观看免费完整版
  • 响应式网站建设外文文献商业网站建设案例笔记
  • 做6个页面的网站哈尔滨雕塑制作厂家
  • 考研门户网站的建设网站建设说明书模板
  • 企业在线购物网站建设vip视频网站怎么做
  • 找人做网站推广wordpress 首页访问量
  • vps打开网站很慢小红书推广方案
  • 网站建设首页包括什么软件强大的建筑人才网
  • 广州网站关键词排名商标免费生成器
  • 重庆手机网站推广资料python基础教程第三版
  • 织梦教育培训网站源码怎么用PS做网站广告图
  • 青岛网站建设公司在哪国外男女直接做的视频网站