学习笔记:带你十天轻松搞定 Go 微服务系列(二)服务拆分

学习课程 博客:带你十天轻松搞定 Go 微服务系列(二)

商城系统

按业务服务拆分
  • 用户服务(user)
  • 订单服务(order)
  • 产品服务(product)
  • 支付服务(pay)
  • 售后服务(afterSale)
  • …….
按调用方式拆分
区别 API服务 RPC服务
传输协议 基于HTTP协议 可以基于HTTP协议,也可以基于TCP协议
传输效率 如果是基于http1.1的协议,请求中会包含很多无用的内容,如果是基于HTTP2.0,那么简单的封装下可以作为一个RPC来使用,这时标准的RPC框架更多的是服务治理。 使用自定义的TCP协议,可以让请求报文体积更小,或者使用HTTP2协议,也可以很好的减小报文体积,提高传输效率
性能消耗 大部分是基于json实现的,字节大小和序列化耗时都比thrift要更消耗性能 可以基于thrift实现高效的二进制传输
负载均衡 需要配置Nginx、HAProxy配置 基本自带了负载均衡策略
服务治理:(下游服务新增,重启,下线时如何不影响上游调用者) 需要事先通知,如修改NGINX配置。 能做到自动通知,不影响上游

总结:RPC 是一个更高效的调用方式 可以像调用本地函数一样调用接口
主要用于公司内部服务调用,传输效率高(TCP,报文小),
性能消耗低(高效的二进制传输、字节小、序列化耗时少),服务治理方便。参考

创建项目目录

cd xxx/gonivinck/code/ 在code 中新建项目

学习笔记:带你十天轻松搞定 Go 微服务系列(二)

本作品采用《CC 协议》,转载必须注明作者和本文链接
滴水穿石,石破天惊----晓疯子
zhaocrazy
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!