思考gRPC :为什么是protobuf
## 背景
谈到RPC,就避免不了序列化的话题。
gRPC默认的序列化方式是protobuf,原因很简单,因为两者都是google发明的,哈哈。
在当初Google开源protobuf时,很多人就期待是否能把RPC的实现也一起开源出来。没想到最终出来的是gRPC,终于补全了这一块。
## 跨语言的序列化方案
事实上的跨语言序列化方案只有三个: protobuf, th
FastJson中@JSONField注解使用
最近做项目中,使用了json格式在服务器之间进行数据传输。但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式。
思路:
1. 定义需要返回的bean,bean中定义需要返回的数据
2. 获取到需要处理的JSON字符串
3. 将JSON字符串转换为bean, 再将转换后的bean返回给客户端。
springboot整合mq发送消息队列
写在前面,mq简称消息队列,本文介绍的是activemq.那mq主要用在什么场景,他的作用又是什么呢?
介绍:mq称为消息中间件,语言表达不如看图.
image.png
image.png
顾名思义,mq主要还是为了提高服务器响应速度,提高客户体验.举个例子大家就应该明白了。
fastjson解析json字符串,key缺少双引号导致下游服务无法解析
背景说明
在使用fastjson 1.2.60版本将对象转化为json字符串时,为处理Map值为null的情况,采用了WRITE_MAP_NULL_FEATURES属性,但该属性解析出来的key中缺少双引号,在key包含特殊字符时,如“-”和“:",下游服务在进行反序列化时出现无法解析的错误,从而出现问题。