`

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

 
阅读更多

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

        随着移动互联网产业的兴起和发酵,后端技术也悄然发生着巨大的改变,以往的企业级应用不同的是面对需求变化逐渐变快,访问压力指数增长,安全效率及维护性要求达到新的高度,如何能过应对这些问题并迅速而低风险地发布迭代已经是当务之急。变繁为简、提升系统的敏捷度是不错的应对之策,由此“微服务“的概念就迅速蹿红。

 

        从字面上看”微服务“分为”服务“和”微“,服务化的概念由来已久,而”微“即将服务归类并最小化,相信”尾大不掉“这个词都听过,那么道理是差不多的。

 

        作者在序中阐述了自己的一个项目微服务化的前因和后果,其中他们所面对的问题相信很多读者也都面对过或者正在面对抑或马上也要面对:1)代码重复度高,2)需求变更困难,3)部署效率低,4)学习成本高,5)缺乏统一的RPC框架。

 

        随即引入服务后RPC使用会引入新的需求:

  1. 依赖管理
  2. 透明路由
  3. 服务治理
  4. 其他

    本书即在阐述以上问题的解决理论及实践。从目录章节看作者足足写了21章,可谓非常详尽,那么是不是浅尝辄止呢?我没有读过所以未曾可知(PS:作者的那边netty的书还是写的不错的,所以本书质量应该也是不差的),希望有幸能获得来拜读下。

 

第8章 服务调用--试读

8.1几个误区

        NIO就是异步服务。同步调用和异步调用跟IO并没关系,就是说IO同步或是异步都能做调用的同步和异步。

        调用都是同步的。并不确切,Future-Listener在不阻塞业务的同时实现了同步等待的效果。

        异步服务调用性能更高

 

8.2调用方式

        1. 同步调用
        2. 异步调用
            1). Future get方式,多个服务调用的总时间=T1+T2+....Tn

            2). Future Listener方式,多个服务调用总时间=Max(T1, T2,...Tn)

        3. 并行调用

            1). Parallel Gateway(并行网关)推荐使用

            2). Java8 Fork/Join (不推荐)会导致线程膨胀不可控

        4. 泛化调用

            泛化引用:指客户端没用接口及数据模型,参数都是基本类型及Map。

            泛化实现:服务端没用接口及数据模型

 

8.3 最佳实践

  •     降低e2e延时:梳理调用流程,通过并行调用提升调用效率
  •     可靠行:调用链的关键服务不可靠,一旦出现故障会导致大量线程资源被挂住,可以考虑异步服务防止故障扩散
  •     传统RPC调用:对延时要求不高的,考虑同步调用。

         本章介绍了几种常用的调用方式及使用场景,并解释了其中的一些误解。

       

        在以往的经验中,实现并行调用异步调用都是业务开发人员自行编码完成,虽然也能实现,但限于技术水平的高低实现好坏差异比较大,而且代码也严重重复,业务代码中掺杂这类的代码从维护角度来讲不太优雅,所以如果调用框架能过封装掉这些,那么从使用和维护上讲都是很棒的。   

 

分享到:
评论

相关推荐

    wcf从原理到实践(试读)

    ### WCF从原理到实践(试读) #### WCF概述 Windows Communication Foundation(WCF)是微软开发的一个统一的编程模型,它简化了通过多种网络协议和服务类型进行通信的应用程序的构建过程。WCF旨在为.NET ...

    高校退学试读预警机制的探索与实践(全文).docx

    实施退学试读预警机制后,天津师范大学计算机与信息工程学院的数据表明,该机制在帮助学生提升学业表现方面取得了显著效果,减少了达到退学或试读标准的学生人数。这一机制的成功在于它提供了对学生学业困境的早期...

    系统架构设计师论文《论分布式存储系统架构设计》精选试读

    分布式存储系统(Distributed Storage System)通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大...

    Spring cloud与docker高并发微服务架构设计实施(试读)

    通过Spring Cloud可以轻松构建一些常见的分布式系统模式,比如配置中心、服务注册与发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等。Spring Cloud的目标是让...

    TMS320F28335DSP原理及开发编程试读

    TMS320F28335DSP原理及开发编程试读,初学者值得一看

    阿里巴巴技术演进与超越试读文章

    - **分布式计算框架**:为应对海量数据处理需求,阿里巴巴自主研发了高效的分布式计算框架,提高了数据处理效率。 - **容器化技术**:通过容器化技术的应用,实现了资源的高效利用和服务的快速部署。 - **微服务架构...

    JSF第一步--JSF+Spring+ Hibernate+AJAX编程实践 试读

    结合Spring框架,我们可以实现更灵活的依赖注入和服务管理,而Hibernate则是流行的ORM(对象关系映射)工具,用于简化数据库操作。最后,AJAX(Asynchronous JavaScript and XML)技术用于提升Web应用的用户体验,...

    《Elasticsearch服务器开发》试读1

    【Elasticsearch服务器开发】试读1 Elasticsearch是一个高度可扩展的开源全文搜索引擎,以其分布式、实时、 RESTful 风格的特性而受到广泛关注。本书是针对2013年出版的《Elasticsearch Server》的升级版,更新了与...

    Node.js项目实践:构建可扩展的Web应用试读样章

    本试读样章的标题“Node.js项目实践:构建可扩展的Web应用”点明了Node.js在构建现代Web应用时的强大能力,特别是其扩展性。扩展性是指系统在需要时能灵活地增加计算能力、存储容量等资源,而不会造成性能上的显著...

    软件性能测试与LoadRunner实战试读

    通过阅读《软件性能测试与LoadRunner实战试读》,读者不仅可以掌握LoadRunner的基本操作,还能了解到性能测试的策略和最佳实践。此外,它还可能包含了LoadRunner与其他性能测试工具的对比,以及如何将LoadRunner集成...

    留级跟班试读申请书参考精选.doc

    1. **留级与试读**: - **留级**:当学生在一个学年内未能达到学习要求,如累积一定数量的不及格课程,根据学籍管理规定,可能会被要求降级到下一年级学习,以便有更多时间补习和通过课程。 - **试读**:对于面临...

    [试读]服务器并发处理能力+-+进程切换

    ### 服务器并发处理能力与进程切换 #### 一、服务器并发处理能力概述 服务器的并发处理能力是指服务器在同一时间内能够处理多个用户请求的能力。在现代互联网应用中,高并发访问是常态,特别是在大型网站和应用...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...

    React:引领未来的用户界面开发框架试读样章

    本篇试读样章将从React的基本概念、核心特性、组件化开发方式以及其生态系统的强大之处等方面进行深入探讨。 React的核心思想是声明式编程,这意味着开发者只需描述界面应有的状态,而React则负责将这些状态的变化...

    自动驾驶决策规划技术理论与实践(试读版)1

    《自动驾驶决策规划技术理论与实践》是一本深入探讨自动驾驶核心技术的专业书籍,由李柏、张友民、彭晓燕、欧阳亚坤、孔旗等专家共同撰写。这本书全面阐述了自动驾驶车辆在决策规划领域的理论与实际应用,对于理解...

    系统架构设计师论文《论应用服务器基础软件》精选试读.pdf

    在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足...

Global site tag (gtag.js) - Google Analytics