Protobuf 小试牛刀】的更多相关文章

本文以PHP为例. 环境: CentOS 6.8 proto 3.8 PHP 7.1.12 PHP protobuf扩展 3.8.0 go1.12.5 linux/amd64 本文示例仓库地址: https://github.com/52fhy/protobuf-sample 是什么 Protobuf是一种平台无关.语言无关.可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储. 官方文档:https://github.com/protocolbuffers/protobuf 作为…
概要 由于gRPC主要是谷歌开发的,由于一些已知的原因,gRPC跑demo还是不那么顺利的.单独写这一篇,主要是gRPC安装过程中的坑太多了,记录下来让大家少走弯路. 主要的坑: 如果使用PHP.Python开发gRPC的客户端,需要编译gRPC命令行工具,生成proto的代码生成插件,否则proto里定义的service无法编译出来.编译需要使用GCC4.8级以上版本,否则报不支持C++11.然后需要龟速下周grpc源码,并下载一大堆第三方依赖.这个过程非常痛苦.使用golang.java的可…
在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]里面提到了Microsoft 身份认证,其实这也是一大块需要注意的地方,特作为后续补充这些知识点.上章是使用了Microsoft Authentication Library (MSAL)类库做认证,其实最后使用的是Azure AD V2.0 的OAuth2.0认证,而且支持所有用户身份认证: 个人用户(@live.com.@outlook.com.@hotmail.com) 企业(工作或学校)用户(@xxx.onmicr…
由于项目组现在用的rpc是基于google protobuf rpc协议实现的,所以花了点时间了解下protobuf rpc.rpc对于做分布式系统的人来说肯定不陌生,对于rpc不了解的童鞋可以自行google,这里只是做个简单的介绍.rpc的主要功能是让分布式系统的实现更为简单,为提供强大的远程调用而不损失本地调用语义的简洁性.为了实现这个目标,rpc框架需要提供一种透明调用机制让使用者不必显示区分本地调用还是远程调用.rpc架构涉及的组件如下: 客户方像调用本地方法一样去调用远程接口方法,R…
一.Protobuf 的优点 Protobuf 有如 XML,不过它更小.更快.也更简单.它以高效的二进制方式存储,比 XML 小 3 到 10 倍,快 20 到 100 倍.你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构.你甚至可以在无需重新部署程序的情况下更新数据结构.只需使用 Protobuf 对数据结构进行一次描述,即可利用各种不同语言或从各种不同数据流中对你的结构化数据轻松读写. 有两项技术保证了采用 Protobuf 的程序能获得相对于 XML 极大的性能提…
之前的文章讲述了socket通信的一些基本知识,已经本人自定义的C#版本的socket.和java netty 库的二次封装,但是没有真正的发表测试用例. 本文只是为了讲解利用protobuf 进行C# 和 java的通信.以及完整的实例代码 java 代码 svn 地址,本人开发工具是NetBeans 8.0.2 使用 maven 项目编译 http://code.taobao.org/svn/flynetwork_csharp/trunk/BlogTest c# 代码 svn 地址 使用的是…
Google的ProtoBuf序列化器性能的牛逼已经有目共睹了,可以把它应用到Socket通讯,队列,Wcf中,身为dotnet程序员一边期待着不久后Grpc对dotnet core的支持更期待着Wcf有一天能在Linux平台上闪瞎所有人.现在简单表述下Wcf中应用ProtoBuf替代默认的序列化器. 准备: 首先,新建一套Wcf的解决方案,包含服务,宿主外加两个客户端用来测试调用: Wcf_ProtoBufSample.ClientViaMetaData会通过添加服务引用的方式调用服务,Wcf…
github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明:https://github.com/google/protobuf/blob/master/src/README.md 1.确定centos7上已经安装了下面的软件,或者直接用yum进行更新 autoconf automake libtool curl (used to download gmoc…
1.准备工作 需要到github上下载相应的文件,地址https://github.com/google/protobuf/releases protobuf有很多不同语言的版本,因为我们需要的是jar文件,所以选择java版本下载.以下以版本3.1.0进行举例说明. 如果是在linux64环境下编译,可以选择以下两个文件,第一个相当于java发行版本的源码文件,第二个是一个编译好的protoc程序文件(如果想自己编译protobuf程序文件,参考上篇文章protobuf的编译安装). prot…
protobuf官方git地址 protobuf官方英文文档   (你懂的需要FQ) protobuf中文翻译文档 protobuf概述          (官方翻译 推荐阅读) protobuf入门          (官方翻译 推荐阅读) protobuf语法指南     http://colobu.com/2015/01/07/Protobuf-language-guide/  (官方翻译 推荐阅读) protobuf编码           (官方翻译 推荐阅读) protobuf3现在…