Java SE
序列化 讲一个对象序列化方式(字节)存放在硬盘中
反序列化 读取硬盘数据,从本地读取该文件,转换为对象。
Java序列化的特点
Java序列化从JDK1.1版本就已经提供,它不需要添加额外的类库,只需实现java.io.Serializable并生成序列ID即可,因此它从诞生之初就得到了广泛的应用。
注意:Java自带的序列化方式不支持跨语言,因为这种序列化的协议是Java语言实现。
1.是否支持跨语言,支持的语言种类
2.编解码的性能
3.类库是否小巧,API 使用是否方便
4.使用者需要手工开发的工作量和难度
使用json、xml、二进制
Google 的 Protobuf
Facebook 的 Thrift
Jboos 的 Marshaling
基于netty 手写服务注册中心
服务注册中心原理:
生产者: 提供接口被别人调用
消费者: 调用别人写好的接口
1,生产者(会员服务),当项目启动的时候 将自己的服务信息注册到到注册中心
存放格式:
key=服务名称 value : 服务地址: 192.168.110:8200
注册中心: 存放接口调用地址
2,注册中心存放接口调用地址:
Map集合存放结婚地址:
<String,List<对象>>nacos 服务上线,下线 通过状态维护
对象{
Address;
状态;
}
3,消费者根据服务名称获取调用接口地址列表【】类型
4,消费者获取注册中心集群地址列表,本地在实现负载均衡
5,使用负载均衡 获取一个地址,本地实现rpc远程调用。
网友评论