- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 dns使用的协议
既使用TCP又使用UDP首先了解一下TCP与UDP传送字节的长度限制:UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。区域传送时使用TCP,主要有一下两点考虑: 辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否...
2018-08-30 14:41:05 1839
原创 Java高级工程师常见面试题(七)-网络通信
1. http是无状态通信,http的请求方式有哪些,可以自己定义新的请求方式么。HTTP是无状态的,它的底层协议是由状态的TCP,但是HTTP的一次完整协议动作,里面是使用有状态的TCP协议来完成的。而每次协议动作之间没有任何关系。例如:第7次请求HTTP协议包,并不知道,这个包是为了什么?它或许是因为上次没有请求成功而重传,或许是上次的后续请求,或许是其他的,这些HTTP自身都不知道。...
2018-08-20 15:28:28 4845
原创 分布式服务架构学习(十一):实现自己的序列化工具引擎(十)-序列化JBoss Marshalling实现
JBoss Marshalling是一个Java对象序列化包,兼容Java原生的序列化机制,对Java原生序列化机制做了优化,使其在性能上有很大提升。在保持跟java.io.Serializable接口兼容的同时增加了一些可调的参数和附加特性,这些参数和附加特性,可通过工厂类进行配置,对原生Java序列化是一个很好的替代。代码如下:package ares.remoting.framew...
2018-08-08 11:29:17 707
原创 分布式服务架构学习(十):实现自己的序列化工具引擎(九)-序列化Avro实现
Avro是一个数据序列化的项目,最开始是Hadoop的子项目之一,最后加入Apache成为独立的开元项目。Avro提供的功能类似于其他的编组系统,如Thrift、protobuf等。Aro的主要不同之处在于:动态类型、无标记数据、不用手动分配字段ID。另外,Avro支持两种序列化编码方式:二进制编码和JSON编码。代码如下:package ares.remoting.framew...
2018-08-08 11:21:06 224
原创 分布式服务架构学习(九):实现自己的序列化工具引擎(八)-序列化Thrift实现
与protobuf类似,适用Thrift之前,需要编写以.thrift结尾的IDL文件,再适用Thrift提供的编译器生成对应的代码。对java而言,所生成的java bean都集成了类org.apache.thrift.TBase。代码如下:package ares.remoting.framework.serialization.serializer.impl;import ar...
2018-08-08 11:11:00 340
原创 分布式服务架构学习(八):实现自己的序列化工具引擎(七)-序列化protostuff实现
protostuff基于Google protobuf,其中,protostuff-runtime实现了无需预编译的Java Bean进行protobuf序列化/反序列化的能力。对于仅适用Java语言,且无需跨语言的适用场景,protostuff继承了Google protobuf的高性能的同事免去了编写.proto文件的麻烦,是非常值得推荐的序列化/反序列化方案。代码如下:pack...
2018-08-08 10:58:33 268
原创 分布式服务架构学习(七):实现自己的序列化工具引擎(六)-序列化protobuf实现
protobuf是Google的一种数据交换格式,它独立于语言,独立于平台。它是一个纯粹的展示层协议,可以和各种传输层协议一起使用,它的文档也非常完善。protobuf具有广泛的用户基础,空间开销小及高解析性能是其亮点,非常适合于公司内部对性能要求高的RPC调用。由于其解析性能高,序列化后数据量相对少,也适合应用层的持久化场景。它的主要问题在于需要编写.proto IDL文件,使用起来工作...
2018-08-07 19:56:10 221
原创 分布式服务架构学习(六):实现自己的序列化工具引擎(五)-序列化Hessian实现
Hession是一个支持跨语言传输的二进制序列化协议,相对于Java默认的序列化机制,Hessian具有更好的性能与易用性,而且支持多种不同的语言。其中,AbstractSerializerFactory、AbstractHessianOutput、AbstractSerializer、AbstractHessianInput、AbstractDeserializer是Hessian实现序列化和反...
2018-08-07 19:34:33 301
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人