为什么选择gRPC历史长久以来,我们在前后端交互时使用WebApi+JSON方式,后端服务之间调用同样如此(或者更久远之前的WCF+XML方式)。WebApi+JSON是优选的,很重要的一点是它们两者都是平台无关的三方标准,且足够语义化,便于程序员使用,在异构(前后端、多语言后端)交互场景下是不二选择。然而,在后端服务体系改进特别是后来微服务兴起后,我们发现,前后端交互理所当然认可的WebApi+JSON在后端体系内显得有点不太合适:JSON字符编码方式使得传输数据量较大,而后端一般并不需要直接操作JSON,都会将JSON转为平台专有类型后再处理;既然需要转换,为什么不选择一个数据量更小,转换
为什么选择gRPC历史长久以来,我们在前后端交互时使用WebApi+JSON方式,后端服务之间调用同样如此(或者更久远之前的WCF+XML方式)。WebApi+JSON是优选的,很重要的一点是它们两者都是平台无关的三方标准,且足够语义化,便于程序员使用,在异构(前后端、多语言后端)交互场景下是不二选择。然而,在后端服务体系改进特别是后来微服务兴起后,我们发现,前后端交互理所当然认可的WebApi+JSON在后端体系内显得有点不太合适:JSON字符编码方式使得传输数据量较大,而后端一般并不需要直接操作JSON,都会将JSON转为平台专有类型后再处理;既然需要转换,为什么不选择一个数据量更小,转换
ArrayList源码深度剖析本篇文章主要跟大家分析一下ArrayList的源代码。阅读本文你首先得对ArrayList有一些基本的了解,至少使用过它。如果你对ArrayList的一些基本使用还不太熟悉或者在阅读本文的时候感觉有点困难,你可以先阅读这篇文章ArrayList设计与实现,自己动手写ArrayList。ArrayList继承体系分析RandomAccess,这个接口的含义表示可以随机访问ArrayList当中的数据,拿什么是随机访问呢?随机访问就是表示我们可以在常量时间复杂度内访问数据,也就是时间复杂度是O(1)。因为在ArrayList当中我们使用的最基本的数据类型是数组,而数组
ArrayList源码深度剖析本篇文章主要跟大家分析一下ArrayList的源代码。阅读本文你首先得对ArrayList有一些基本的了解,至少使用过它。如果你对ArrayList的一些基本使用还不太熟悉或者在阅读本文的时候感觉有点困难,你可以先阅读这篇文章ArrayList设计与实现,自己动手写ArrayList。ArrayList继承体系分析RandomAccess,这个接口的含义表示可以随机访问ArrayList当中的数据,拿什么是随机访问呢?随机访问就是表示我们可以在常量时间复杂度内访问数据,也就是时间复杂度是O(1)。因为在ArrayList当中我们使用的最基本的数据类型是数组,而数组
概要用户服务基本是每个互联网产品里必备的一个服务了,因为没有用户基本是什么也干不了。所以他的重要性不言而喻。本文主要介绍下如何开发一个用户微服务,以及他的详细开发流程。目录Go微服务实战-从0到1搭建一个类Instagram应用(持续更新)Go微服务实战-用户服务(gRPC+ProtocolBuffer)Go微服务实战-关系服务服务(gRPC+ProtocolBuffer)Go微服务实战-动态服务(gRPC+ProtocolBuffer)Go微服务实战-聚合服务(http)调用流程图技术栈GoEagle开发框架RedisMySQLGormdockerkubernetes接口开发使用proto方
概要用户服务基本是每个互联网产品里必备的一个服务了,因为没有用户基本是什么也干不了。所以他的重要性不言而喻。本文主要介绍下如何开发一个用户微服务,以及他的详细开发流程。目录Go微服务实战-从0到1搭建一个类Instagram应用(持续更新)Go微服务实战-用户服务(gRPC+ProtocolBuffer)Go微服务实战-关系服务服务(gRPC+ProtocolBuffer)Go微服务实战-动态服务(gRPC+ProtocolBuffer)Go微服务实战-聚合服务(http)调用流程图技术栈GoEagle开发框架RedisMySQLGormdockerkubernetes接口开发使用proto方
需要保证电脑中安装了:protobuf安装教程如果出现报错请看博客:protobuf报错问题解决基本使用demo地址:demo安全传输、流式传输的demo地址:demo2简介:rpc微服务,grpc是一种开源的高性能RPC框架,能够运行在任何环境中,最初由谷歌进行开发,它使用HTTP2作为传输协议。grpc让客户端可以像调用本地方法一样调用其他服务器上的服务应用程序,可以更容易的创建分布式应用程序和服务。能让我们更容易的编写跨语言的分布式代码。本示例使用protocolbuffers(简写:protobuf),使用protobuf可以高效的序列化,简单的IDL(接口描述语言)并且容易进行接口更
需要保证电脑中安装了:protobuf安装教程如果出现报错请看博客:protobuf报错问题解决基本使用demo地址:demo安全传输、流式传输的demo地址:demo2简介:rpc微服务,grpc是一种开源的高性能RPC框架,能够运行在任何环境中,最初由谷歌进行开发,它使用HTTP2作为传输协议。grpc让客户端可以像调用本地方法一样调用其他服务器上的服务应用程序,可以更容易的创建分布式应用程序和服务。能让我们更容易的编写跨语言的分布式代码。本示例使用protocolbuffers(简写:protobuf),使用protobuf可以高效的序列化,简单的IDL(接口描述语言)并且容易进行接口更
如果您跟我一样平时有些博客的习惯,那么图片存储是否有困扰过你呢?今天就给大家推荐一款不错的开源图床系统:LightFastPicture它是一个基于koa+vue3.x+typescript实现的图床工具。它可以帮助用户快速上传图片到云端,并返回图片链接,方便用户在网页、社交媒体等平台上分享图片。它的功能已经非常丰富,满足我们对图片管理的日常需求图片上传:支持图片多图上传、拖拽上传、粘贴上传、一键复制多种格式的图片外链。图片管理:多上传的图片进行管理,支持文件重命名、移入指定相册、删除图片、预览图片等。存储桶管理:支持多桶储存,可同时添加多个对象存储桶管理,上不封顶,例如:七牛云对象存储、阿里
如果您跟我一样平时有些博客的习惯,那么图片存储是否有困扰过你呢?今天就给大家推荐一款不错的开源图床系统:LightFastPicture它是一个基于koa+vue3.x+typescript实现的图床工具。它可以帮助用户快速上传图片到云端,并返回图片链接,方便用户在网页、社交媒体等平台上分享图片。它的功能已经非常丰富,满足我们对图片管理的日常需求图片上传:支持图片多图上传、拖拽上传、粘贴上传、一键复制多种格式的图片外链。图片管理:多上传的图片进行管理,支持文件重命名、移入指定相册、删除图片、预览图片等。存储桶管理:支持多桶储存,可同时添加多个对象存储桶管理,上不封顶,例如:七牛云对象存储、阿里