java架构师是做什么的(微服务架构的读者容错模式是什么)

java架构师是做什么的?架构师又是个变色龙——一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。

读者容错模式(TolerantReader)是指如何在微服务中服务提供者和使用者之间的接口更改。从字面上讲,消费者需要设计与提供者提供的功能的兼容性,特别是服务提供者返回的内容,或者在服务提供者更改接口或数据格式时如何消费服务。

java架构师是做什么的
java架构师是做什么的

设计任何产品时,都无法预见将来可能会增加的所有需求。服务的开发人员通常会通过迭代及时添加新功能,或者让服务提供的API自然地发展。但是,由服务提供商提供的接口数据格式的更改,添加和删除将导致服务使用者无法正常工作。

因此,在处理服务提供者返回的消息的过程中,服务使用者需要过滤服务返回的消息,仅提取他们需要的内容,并采取丢弃冗余或未知内容的策略,而不仅仅是丢弃它们。处理错误。

在实施过程中,不建议使用严格的验证策略,而建议使用宽松的验证策略。即使服务使用者收到的消息发生更改,该程序也只需尽其所能提取所需的数据。忽略无法识别的数据。仅当服务使用者完全无法识别接收到的消息或无法继续通过识别的信息进行处理时,才可以引发异常。

服务的消费者的容错模式忽略了新的消息项、可选的消息项、未知的数据值及服务消费者不需要的数据项。

笔者当前在某个支付公司工作,公司里几乎每个业务都需要使用枚举类型,在微服务平台下,笔者在研发流程规范中定义了一条枚举值使用规范:

在服务接口的定义中,参数可以使用枚举值,在返回值的DTO中禁止使用枚举值。

这条规范就是读者容错模式在实践中的一个实例,之所以在参数中允许使用枚举值,是因为如果服务的提供者升级了接口,增加了枚举值,若服务的消费者并没有感知,则服务的消费者得知新的枚举值就可以传递新的枚举值了;但是如果接口的返回DTO中使用了枚举值,并且因为某种原因增加了枚举值,则服务消费者在反序列化枚举时就会报错,因此在返回值中我们应该使用字符串等互相认可的类型,来做到双方的互相兼容,并实现读者容错模式。

本文《java架构师是做什么的(微服务架构的读者容错模式是什么)》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。

随机文章

SEO小小课堂网
友情链接交换
搜素引擎算法
GEO培训
SEO教程
站长导航
搜素引擎算法
关键词排名优化

百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/15079.html