《分布式服务框架原理与实践》试读

分布式服务框架

分布式框架不仅仅包含核心的运行时类库,还包含服务划分原则,服务化最佳实践,服务治理等等,是一套完整的解决方案,用来协助应用做服务化改造,以及指导用户如何构建适合自己业务场景的服务化体系,将服务化的价值发挥到极致。

微服务

“微服务架构”一词在过去几年里广泛的传播,它用于描述一种独立部署的软件应用设计方式。这种架构方式并没有非常准确的定义,但是在业务能力、自动部署、端对端的整合、对语言及数据的分散控制上,却有着显著特征。

简而言之,微服务架构风格,就像是把小的服务开发成单一应用的形式,每个应用运行在单一的进程中,并使用如HTTP这样子的轻量级的API。这些服务满足某需求,并使用自动化部署工具进行独立发布。这些服务可以使用不同的开发语言以及不同数据存储技术,并保持最低限制的集中式管理。

《分布式服务框架原理与实践》概览

通过前言可知,本书是作者七年来的工作经验总结。作者从最简单的Java Web的MVC垂直架构开始,然后经历了RPC框架,分布式服务框架,到正在进行的Docker+微服务方向,一步一个脚印,为初学者及其他开发人员快速获取相关经验,少走弯路。

同时,从目录可以看到,作者从应用架构的演进讲起,然后引入分布式服务框架,接着介绍通信框架,服务路由等等,一步一步,最后到微服务架构,像庖丁解牛一下,把分布式服务框架的每一个技术细节都讲清楚,所以可以看出本书的知识系统非常系统,读后一定会让人对分布式服务架构有一个全面的认识。

《分布式服务框架原理与实践》试读 第8章 服务调用

8.1 几个误区

1,NIO就是异步服务,其实NIO只是解决了通信层面的异步问题,跟服务调用的异步没有必然关系,也就是说,即便采用传统的BIO通信,依然可以实现异步服务调用,只不过通信效率和可靠性比较差而已。

2,服务调用天生就是同步的,逻辑上看,这个观点没有问题。但实际上,同步阻塞等待应答并非唯一的技术选择,我们也可以利用Java的Future-Listener机制来实现异步服务调用。

3,异步服务调用性能更高,应该说实验环境不一定性能高,但是在生产环境中,异步调用性能更高,可靠性也更好。

8.2 服务调用方式

1,同步服务调用,默认方式

2,异步服务调用,基于JDK的Future机制

3,并行服务调用,降低业务E2E延迟,提升整个系统的吞吐量

4,泛化调用,泛化引用和泛化实现

8.3 最佳实践

从以下几个角度考虑:1,降低业务E2E时延,2,可靠性角度,3,业务场景,4,传统的RPC调用。

通过本章可以看出,作者思路清晰,理论结合实际,图文并茂,深入浅出,确实是一本值得推荐的好书。

猜你喜欢

转载自coderdream.iteye.com/blog/2287902