rpc
rpc
毛毛是一只狗
经历的意义在于引导你,而非定义你!
展开
-
【老爷爷都能看懂的微服务架构系列001】分布式事务介绍-全面详细
分布式事务项目介绍数据库表在微服务架构中要面对的难点1:扣减库存时候的超卖问题2: 以及归还库存时候的数据错误问题3: 订单超时问题4: 下单时候的事务分布式锁——解决的问题1: 超卖问题,就是扣减库存避免数据错误2:库存归还时的问题,原因同上分布式事务分布式事务这里要解决的问题下单问题下单和库存一直性问题用户下单不支付问题什么是事务?什么是分布式事务?什么是事务特性?导致数据不一致的原因关于分布式事务的两个重要理论保证分布式事务解决方案项目介绍B2C, 微服务架构的项目数据库表在微服务原创 2021-10-01 15:07:49 · 705 阅读 · 31 评论 -
【RPC❄️005】封装go rpc过程的思想
go rpc先看目录以下代码按文件顺序展示封装思想总结:先看目录以下代码按文件顺序展示package mainimport ( "fmt" "jsongorpc/client_proxy")func main(){ // 建立连接 client := client_proxy.NewInitConnection("tcp", "localhost:1234") //这里还是用的go语言rpc建立连接 var reply *string = new(st原创 2021-09-11 20:16:16 · 271 阅读 · 0 评论 -
【RPC❄️004】python调用go rpc server
rpc基于上一节,对server进行修改它的序列化协议。用go client调用,同样用json协议用python调用go rpc server想用其他语言调用go rpc server,就必须修改其他语言也支持的序列化协议,如json序列化协议基于上一节,对server进行修改它的序列化协议。package mainimport ( "net" "net/rpc" "net/rpc/jsonrpc")type HelloServer struct{}func (hello *He原创 2021-09-11 19:57:11 · 475 阅读 · 0 评论 -
【RPC❄️003】go以http方式调用rpc
rpcgo rpc server端python client端go rpc server端package mainimport ( "net/rpc" "net/rpc/jsonrpc" "net/http" "io")type HelloServer struct{}func (hello *HelloServer) Hello(request string, reply *string)error{ *reply = "hi " + request return nil}原创 2021-09-11 19:50:29 · 315 阅读 · 0 评论 -
【RPC❄️002】go语言的rpc开发体验
go语言体验rpc调用过程先实现server端客户端总结:为了更好的理解之后的grpc框架,我们先体验下go语言rpc开发,即远程调用。先实现server端package mainimport ( "net" "net/rpc")type HelloServer struct {}func (hello *HelloServer) Hello(request string, reply *string) error { // 注意这个方法并没有返回值,而是通过传进来的指针实现原创 2021-09-11 19:48:02 · 124 阅读 · 0 评论 -
【RPC❄️001】什么是rpc?了解下rpc有助于更好的使用gRPC
RPC(Remote Procedure Call)是点对点的远程调用,传输协议tcp,http,主要是基于xml,json序列化协议(这里的序列化协议是对数据编解码的方式),项目中我们真正用到的是grpc,grpc是一个框架,基于http2.0的长链接,性能有所改进,重要的是grpc用的是Google开源的protobuf序列化协议,它比json,xml性能更快,在压缩数据方面也更小。生态方面,超时机制,限流(高可用),解耦,负载均衡 微服务(分布式体现),以及序列化都更加好,特别是序列化方面和跨语言方原创 2021-09-11 19:45:39 · 212 阅读 · 3 评论