上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 46 下一页

2018年6月25日

Protocol Buffers序列化原理

摘要: 1. 使用Varint编码数据,越小的数据,用少的字节编码。如小于128的用一个字节编码,大于128的用多个字节编码。同时,每个字节最高为1或者0表示是否为数字的一部分。 2. 由于负数的补码表示很大,使用了ZigZag编码,转换成正数,使用Varint编码 3. 使用T-V,没有使用T-L-V, 阅读全文

posted @ 2018-06-25 15:44 luckygxf 阅读(886) 评论(0) 推荐(0) 编辑

2018年6月23日

Thrift笔记(三)--Thrift框架通信源码分析

摘要: Thrift 客户端调用RPC的Demo 这里可以很清楚看到分层设计,以及层层封装。transport, proctol这里网上有人说是用了装饰模式 跟进transport.open()代码 这里是个抽象类TTransport的抽象方法,看下实现类TSocekt实现方法 这里可以看出,用socket 阅读全文

posted @ 2018-06-23 11:37 luckygxf 阅读(530) 评论(0) 推荐(0) 编辑

Thrift笔记(二)--Thrift框架分层设计

摘要: thrift架构设计使用了分层设计,类似TCP/IP分层,上次使用下层提供的服务。分层设计在计算机中是一个常用的设计,上层和下层定义好接口或者说协议,下层实现可以随意更换,只要实现好定义的接口和协议就好了 这是thrift的分层设计 TProtocol:为序列化协议, 二进制,json等 Trans 阅读全文

posted @ 2018-06-23 10:53 luckygxf 阅读(392) 评论(0) 推荐(0) 编辑

Thrift笔记(一)--Hello Demo

摘要: Thrift是一个RPC框架 1. 用IDL定义好实体和服务框架,如实体字段名,类型等。服务名,服务参数,返回值等 2. 通过编译器或者说代码生成器生成RPC框架代码 IDL语法,代码生成器的安装使用可以在官网查 这里参考了一个网上的Demo,忘了出处了 Test.thrift 使用代码生成器,生成 阅读全文

posted @ 2018-06-23 09:05 luckygxf 阅读(207) 评论(0) 推荐(0) 编辑

2018年6月22日

序列化json和protobuf大小比较

摘要: 使用protobuf序列化为二进制和json序列化字符串大小比较 代码demo proto文件 pb:58字节 json:110字节,删掉空格还有100字节 阅读全文

posted @ 2018-06-22 17:47 luckygxf 阅读(5767) 评论(0) 推荐(0) 编辑

select, poll, epoll笔记

摘要: 看网络通信框架,netty, thrift,java nio等,最后都会通过select, poll, epoll或者socket等进行通信。查了些网页,总结一下。做个笔记 1. Socket单线程阻塞通信,一次只能处理一个请求 缺点:性能低 优点:简单 2. 来一个请求,起一个线程 缺点:cpu可 阅读全文

posted @ 2018-06-22 07:37 luckygxf 阅读(158) 评论(0) 推荐(0) 编辑

Java Socket, DatagramSocket, ServerSocketChannel io代码跟踪

摘要: Java Socket, DatagramSocket, ServerSocketChannel这三个分别对应了,TCP, udp, NIO通信API封装。JDK封装了,想跟下代码,看下具体最后是怎么实现的。 都是通过native方法实现的。 下面是具体代码的跟进 1. Socket 上面的代码片段 阅读全文

posted @ 2018-06-22 00:01 luckygxf 阅读(272) 评论(0) 推荐(0) 编辑

2018年6月17日

Protocol Buffers教程

摘要: 今天想比较下pb和fastjson两个序列化后的大小。再看了一下pb序列化 pb官网:https://developers.google.com/protocol-buffers/ pb是啥 一个序列化框架,比xml序列化后的空间更小,更快,更简单。定义好实体文件,可以生成指定语言代码,如java, 阅读全文

posted @ 2018-06-17 18:42 luckygxf 阅读(211) 评论(0) 推荐(0) 编辑

2018年6月5日

Paxos、ZAB、RAFT协议

摘要: 这三个都是分布式一致性协议,ZAB基于Paxos修改后用于ZOOKEEPER协议,RAFT协议出现在ZAB协议之后,与ZAB差不多,也有很大区别。 1. Paxos 分布式节点分为3种角色, Proposer, Acceptor, Learner Proposer:提出议案[Mn, Vn] Accp 阅读全文

posted @ 2018-06-05 08:06 luckygxf 阅读(2566) 评论(0) 推荐(0) 编辑

2018年5月21日

kafka自定义序列化器

摘要: 《kafka权威指南》 阅读全文

posted @ 2018-05-21 08:22 luckygxf 阅读(714) 评论(0) 推荐(0) 编辑

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 46 下一页

导航