当前位置:首页 > >
《架构探险:轻量级微服务架构(下册)》电子书封面

架构探险:轻量级微服务架构(下册)

  • 发布时间:2019年04月12日 14:16:16
  • 作者:黄勇
  • 大小:81.3 MB
  • 类别:微服务电子书
  • 格式:PDF
  • 版本:完整超清版
  • 评分:9.6

    架构探险:轻量级微服务架构(下册) PDF 完整超清版

      给大家带来的一篇关于微服务相关的电子书资源,介绍了关于微服务、架构方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小81.3 MB,黄勇编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.3分

      Tags:微服务 架构 

      内容介绍

      对当下热门的微服务开源框架总结和介绍,形成了比较清晰的脉络。值得一读的好书。

      这本书写得不错,大致讲解了微服务的一些相关技术,令我大开眼界,若要更深入的去学习相关组件,还需要自己去找相关的官方文档和优秀书籍。

      不错的一本书,偏实践,微服务从入门开始讲的比较细,入门非常适合。

      架构探险:轻量级微服务架构(下册)》将重点关注微服务基础设施方面,其中大部分内容涉及微服务运维相关技术。《架构探险:轻量级微服务架构(下册)》以实践的角度进行编写,读者首先将学习轻量级微服务架构的全景视图,随后的各个章节将围绕微服务的日志、监控、通信、解耦、测试、配置六大方面进行展开。读者可亲自动手,从零开始搭建轻量级微服务架构,充分享受架构探险的乐趣。
      《架构探险:轻量级微服务架构(下册)》适合对微服务实践感兴趣,以及想成为微服务架构师的人员阅读。

      编辑书评

      SOA 从企业级应用到互联网领域火了很多年,曾经是我招聘架构师的必考题目之一,但 SOA 在大型系统的落地从来都是高难度动作,令许多架构师欲仙欲死。如今又兴起了微服务架构,要把 SOA 进行到底,实现彻底的服务化,从此世间再无系统切分,只有微服务小而美好。那么到底如何实现微服务呢?黄老师这本书教我们轻松上手,一步步把理想变成现实,体现出多年实战派的底蕴,是一本不可多得的武功秘籍。
      —— 史海峰,饿了么北京研发中心总经理

      近年来,微服务俨然成为行业内广受关注的热点。不论是微服务的价值,还是微服务的阻碍,都是行业在架构技术选型中关心的前提。除此之外,技术的践行流程,对现有组织架构、软件模式的影响,都是决策者不敢忽视的要素。我很庆幸看到,国内能诞生这本微服务领域的巨著。本书从架构发展史的角度,阐述了微服务兴起的客观性与必然性;从技术的角度,深入分析了践行微服务的种种要点;更从实践的角度,通过案例事无巨细地帮助读者去体会、理解、掌握微服务。实属呕心沥血之作,极力推荐大家阅读。
      —— 孙宏亮,DaoCloud 技术合伙人,《Docker 源码分析》作者

      黄勇的这本书从微服务实操的角度,通过在微服务架构体系的不同关注点,选择多样而务实的技术栈,为大家全方位地阐述了微服务架构体系的各种实践,对微服务感兴趣的同学不容错过。
      —— 王福强,征数科技CTO,《Spring Boot 揭秘》和《Spring 揭秘》作者

      微服务架构,虽然诞生时间不长,却已成为软件架构领域讨论的热点。微服务的概念看似简单,但涉及诸多方法论和实践积累,这就是为什么有人说它非常好 但就是“玩不起”。随着微服务生态系统的日趋完善,微服务架构的讨论也从 API 接口、服务间通信、接口测试、基础设施自动化等,逐渐扩展到了API网关、微服务的注册与发现、Docker 封装与部署、持续交付以及运维体系的优化等多方面。本书结合作者过去多年的实战经验,深入浅出地梳理了微服务构建过程中遇到的诸多挑战,并给出了切实可行的解决方案(如何使用 Spring Boot 构建服务、使用 ZooKeeper 注册服务,如何结合 Docker 封装服务和发布服务等),是一本能帮助读者立刻动手、落地微服务的好书。同时,作者从开发和运维两个角度入手,详细地剖析了微服务实施过程中,如何有效解决“最后一公里”的部署以及运维难题。纵览全书,条理清楚,图文并茂,理论结合实际,是一本非常用心,又注重实操的好书,对企业的微服务架构实施,具有很大的参考意义,相信企业的架构师、软件开发人员、运维人员读完这本书一定会受益匪浅。
      —— 王磊,DevOps教练,《微服务架构与实践》作者

      微服务是近几年的一大热点,其模块化、跨语言和自治隔离等思想,有望大幅降低研发和运维成本。微服务架构,无论对传统企业,还是互联网公司,都会有很大影响。黄勇老师结合了 Spring Boot、Jenkins 和 Docker 等热点技术,对微服务的整个生命周期做了全面介绍,通俗易懂、深入浅出,致力于打造微服务领域实践,不失为一本好书。
      —— 吴其敏,携程框架研发部高级总监,开源分布式实时监控系统CAT作者

      当今,微服务已经不是概念,而是势不可挡的潮流,它在大型互联网电商类企业已有丰富的实践,效果很好。但对于其他有志于向微服务架构转型的技术爱好者,微服务如何落地还存在很多不清楚的地方,本文从细节入手,结合具体实例,娓娓道来,为大家提供一个很好的微服务实践参考,带领大家走进微服务之门。
      —— 王庆友,独立架构顾问,《架构的本质》作者

      软件开发从来没有银弹,微服务也不是。我认为微服务本质上是要解决一个可伸缩性的问题,以应对访问的增加、业务复杂度的增加和开发团队人员的增加。黄勇在这本书中详细解释了实践微服务必须要面对的架构模式,包括服务注册与发现、API网关以及简单部署系统的搭建,并辅以样例代码,对于正面临可伸缩性问题的开发人员有很大的参考价值。
      —— 许晓斌,阿里巴巴高级技术专家,《Maven实战》作者

      近年来,软件开发领域的新思想、新方法、新工具、新实践层出不穷,简直有令人应接不暇、目眩神迷的感觉。要想走出这团迷雾,微服务是纲,容器化、自动化运维、自动化部署、服务监控与治理等,都是目。通过阅读本书,纲举目张,则一切将尽在掌握!
      —— 庄表伟,华为内源平台架构师,《开源思索集》作者

      随着移动互联网的崛起,Web网关越来越重要,本书从Web网关的视角带领大家学习微服务架构。通过本书可以学习到如何使用Spring Boot与Docker等技术构建Web型微服务架构,值得Web开发人员学习。
      —— 张开涛,“开涛的博客”博主,《亿级流量网站架构核心技术》作者

      微服务是近几年在架构方面比较热的一个话题,本书从概念到具体的落地,比较系统地介绍了微服务从构建到部署等环节的知识和具体方案,是想了解和学习微服务相关技能的一本好书。
      —— 曾宪杰,美丽联合集团副总裁,《大型网站系统与Java中间件实践》作者

      面对近几年火热的微服务架构,但很多人都是「只可远观,不可近玩」的态度,大家对吨级的概念与方法论往往都是望而生畏。他们会觉得微服务架构是复杂的、高端的、赶潮流的、没有必要的,中小团队没有必要也没有实力去落地。本书将许多晦涩与难以理解的概念和方法论用通俗易懂的文字来描述,非常接地气,实在是不可多得的一本微服务架构经典入门书籍。阅读完本书,会有一种「微服务架构也没有想象中的恐怖嘛」的感觉。勇哥手把手地带着读者把轻量级微服务架构落地,完全是从0到1,以及教给读者如何应对里面的坑。在阅读的时候,有一种勇哥在带着我一起在微服务的世界中探险的感觉,作为我的引路人,非常有安全感。本书的内容都是奔着落地去的,不会有飘在天上的各种方法论,诚意满满的干货,绝对物超所值。勇哥的《架构探险》系列书籍是Java从业人员在职场中进阶的宝典。所以,你值得拥有。
      —— 偏头痛杨,Java技术经理

      一份轻量级微服务架构实践的讲义。全书总分形式,第一章先构建了轻量级微服务架构图,然后逐个章节图文结合,并带有清单式的讲解,行文简洁易读,深入浅出。从目录可以看出,重点介绍了微服务基础设施方面的知识,是不可多得的落地实战总结,我会推荐给任何在微服务架构道路上的技术人。
      —— 泥瓦匠BYSocket,特赞开发工程师

      微服务(MSA)是目前企业级应用主流架构和落地方向,黄岛主(作者雅称)与其团队站在微服务思想、架构的高度,澄清了微服务理念和原则,通过微服务实践形成行业领先技术栈经验,值得大家品读。黄岛主的《架构探险:轻量级微服务架构》上下册为传统IT企业从事微服务实践提供了一套比较完整的微服务方案和指导原则,是传统架构师向微服务架构师转型床头书,是程序员的必读之物。
      —— 罗中华,资深架构师

      一直有拜读黄勇老师的博客和书籍,非常佩服黄老师能将晦涩难懂的理论用通俗易懂的语言解释清楚,让我们有豁然开朗的感觉。此次黄老师的新书,用实际的案例详解了微服务架构中基础且重要的日志平台、监控中心、配置中心等。读完样章后,希望能立即阅读实体书,干货满满,很多知识点都是现在正在困扰我们的。希望赶快阅读,尽早解决我们的困惑!
      —— 彭清正,宝付支付开发工程师

      勇哥的书极富启发意义,曾经对我认识、理解架构起到很大的作用。根据本书的上册,很容易推测出下册将对微服务的原理、实践、运维的认知进行一场洗礼。
      —— 李阳,Java与Golang开发者

      近三年,微服务架构风靡全球,很多互联网企业都在做微服务改造,黄勇老师的《架构探险:轻量级微服务架构(下册)》这本书记载了特赞生产环境中微服务实施的具体细节,详细地讲解了微服务实施过程中的日志、通信、消息、分布式事务、配置中心、监控等核心内容,是业界难得的一本微服务架构精品书籍,极力推荐大家阅读。相信每一位读者读完本书必定对微服务架构有着更深入的理解,并且能够快速掌握微服务架构开发。
      —— 刘国柱,技术经理

      内容节选

      SpringBoot与rabbitmq的结合的示例

      消息中间件对于我们系统之间的解耦合,消峰等都有极大的帮助。spring boot 也集成了此部分的内容,集成最为容易的是rabbitmq。今天我们就以rabbitmq为例说明。

      老规矩,先看下pom

      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
          </dependency>
      
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
          </dependency>
      
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
          </dependency>
      
          <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
          </dependency>
      
      

      AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制,spring-boot-starter-amqp引入的就是rabbitmq。有个前提,你的机子上要首先先安装rabbitmq的server,然后执行 rabbitmq-server server就启动了。启动后,我们就可以配置我们的客户端程序了。首先看下我们的配置文件

      spring.application.name: spirng-boot-rabbitmq
      
      spring.rabbitmq.host: 127.0.0.1
      spring.rabbitmq.port: 5672
      spring.rabbitmq.username: guest
      spring.rabbitmq.password: guest
      

      配置了服务器的IP,端口,用户名,密码等基础信息,保证我们能连上服务器。

      增加一个Rabbitmq的配置类

      package com.shuqi;
      import org.springframework.amqp.core.Queue;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      
      @Configuration
      public class RabbitConfig {
        @Bean
        public Queue Queue() {
          return new Queue("hello");
        }
      }
      
      

      创建了一个名称叫做hello的队列,然后producer可以往hello的队列里放数据,consumer可以从hello的队列里消费数据。看下producer的处理程序

      package com.shuqi.controller;
      
      import org.springframework.amqp.core.AmqpTemplate;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RequestParam;
      import org.springframework.web.bind.annotation.RestController;
      
      @RestController
      public class HelloController {
      
        @Autowired
        private AmqpTemplate rabbitTemplate;
      
        @RequestMapping("/hello")
        public String hello(@RequestParam String name){
          rabbitTemplate.convertAndSend("hello","hello "+name);
          return "消息发送成功";
        }
      
      }
      
      

      通过controller生产消息,通过AmqpTemplate发送消息。有了生产者我们看下消费者

      package com.shuqi.consumer;
      
      import lombok.extern.slf4j.Slf4j;
      import org.springframework.amqp.rabbit.annotation.RabbitHandler;
      import org.springframework.amqp.rabbit.annotation.RabbitListener;
      import org.springframework.stereotype.Component;
      
      @Component
      @RabbitListener(queues = "hello")
      @Slf4j
      public class HelloConsumer {
      
        @RabbitHandler
        public void process(String hello) {
          log.info("接收到的消息:message:{}",hello);
        }
      }
      
      

      @RabbitListener(queues = "hello") 表示是一个Rabbitmq的监听器,监听的队列名称是hello,说明数据可定会过来,数据过来了,通过 @RabbitHandler 修饰的方法来处理过来的数据。打印一下。下面我们启动项目看看效果。

      在浏览器中输入 http://localhost:8080/hello?name=shuqi 看到下面的结果

      看下控制台输出的日志

      2018-03-25 16:24:32.752 INFO 4987 --- [cTaskExecutor-1] com.shuqi.consumer.HelloConsumer : 接收到的消息:message:hello shuqi

      说明消息已经被consumer接收并处理掉了。大家可以把玩下。

      内容简介

      本书将重点关注微服务基础设施方面,其中大部分内容涉及微服务运维相关技术。全书以实践的角度进行编写,读者首先将学习轻量级微服务架构的全景视图,随后的各个章节将围绕微服务的日志、监控、通信、解耦、测试、配置六大方面进行展开。读者可亲自动手,从零开始搭建轻量级微服务架构,充分享受架构探险的乐趣。

      作者简介

      现任上海特赞科技CTO,曾任*公司系统架构师。具有丰富的互联网产品架构经验与技术管理经验,擅长敏捷开发模式,推崇“轻量级”系统架构。国内开源软件推动者,Smart开源框架创始人,图书《架构探险:从零开始写Java Web框架》作者。技术大会讲师、培训师、咨询师。热爱技术交流,乐于分享自己的成长经验。

      目录

      • 第1章 轻量级的微服务
      • 1.1 微服务将变得轻量级
      • 1.1.1 架构与架构师
      • 1.1.2 架构演进过程
      • 1.1.3 微服务架构发展趋势
      • 1.2 微服务架构前期准备
      • 1.2.1 认识微服务架构冰山模型
      • 1.2.2 冰山下的微服务基础设施
      • 1.2.3 根据业务切分微服务边界
      • 1.3 轻量级微服务架构图
      • 1.3.1 轻量级微服务部署架构
      • 1.3.2 轻量级微服务运行架构
      • 1.3.3 轻量级微服务全局架构
      • 1.4 本章小结
      • 第2章 微服务日志
      • 2.1 使用Spring Boot日志框架
      • 2.1.1 使用Spring Boot Logging插件
      • 2.1.2 集成Log4J日志框架
      • 2.1.3 将日志输出到Docker容器外
      • 2.2 使用Docker容器日志
      • 2.2.1 Docker日志驱动
      • 2.2.2 Linux日志系统:Syslog
      • 2.2.3 Docker日志架构
      • 2.3 搭建应用日志中心
      • 2.3.1 开源日志中心:ELK
      • 2.3.2 日志存储系统:Elasticsearch
      • 2.3.3 日志收集系统:Logstash
      • 2.3.4 日志查询系统:Kibana
      • 2.3.5 搭建ELK日志中心
      • 2.4 本章小结
      • 第3章 微服务监控
      • 3.1 使用Spring Boot监控系统
      • 3.1.1 Spring Boot自带的监控功能
      • 3.1.2 Spring Boot Admin开源监控系统
      • 3.2 搭建系统监控中心
      • 3.2.1 时序数据收集系统:cAdvisor
      • 3.2.2 时序数据存储系统:InfluxDB
      • 3.2.3 时序数据分析系统:Grafana
      • 3.2.4 集成InfluxDB cAdvisor Grafana
      • 3.3 搭建调用追踪中心
      • 3.3.1 开源调用追踪中心:Zipkin
      • 3.3.2 追踪微服务调用链
      • 3.3.3 追踪数据库调用链
      • 3.4 本章小结
      • 第4章 微服务通信
      • 4.1 使用HTTP实现同步调用
      • 4.1.1 使用Spring Boot开发服务端
      • 4.1.2 使用Spring RestTemplate开发客户端
      • 4.1.3 使用OkHttp开发客户端
      • 4.1.4 使用Retrofit开发客户端
      • 4.2 使用RPC实现同步调用
      • 4.2.1 RPC通信原理
      • 4.2.2 初步体验gRPC
      • 4.2.3 Spring Boot集成gRPC
      • 4.3 搭建分布式RPC框架
      • 4.3.1 架构设计
      • 4.3.2 搭建模块代码框架
      • 4.3.3 开发RPC服务端
      • 4.3.4 开发RPC客户端
      • 4.4 本章小结
      • 第5章 微服务解耦
      • 5.1 使用MQ实现异步调用
      • 5.1.1 使用ActiveMQ实现JMS异步调用
      • 5.1.2 使用RabbitMQ实现AMQP异步调用
      • 5.2 使用请求应答模式实现RPC调用
      • 5.2.1 请求应答模式简介
      • 5.2.2 使用RabbitMQ实现RPC调用
      • 5.2.3 封装RabbitMQ的RPC代码框架
      • 5.3 解决分布式事务问题
      • 5.3.1 什么是Event-Sourcing
      • 5.3.2 使用Event-Sourcing与MQ实现分布式事务控制
      • 5.4 本章小结
      • 第6章 微服务测试
      • 6.1 使用Spring Boot单元测试
      • 6.1.1 搭建待测应用程序框架
      • 6.1.2 测试Service层
      • 6.1.3 测试REST API
      • 6.2 搭建REST API自动化测试框架
      • 6.2.1 使用Postman手工测试REST API
      • 6.2.2 使用Newman批量测试REST API
      • 6.2.3 搭建REST API自动化测试框架
      • 6.3 自动生成REST API文档
      • 6.3.1 使用Swagger生成REST API文档
      • 6.3.2 REST API文档的另一选择:apiDoc
      • 6.4 本章小结
      • 第7章 微服务配置
      • 7.1 Ansible入门与实战
      • 7.1.1 Ansible是什么
      • 7.1.2 准备Ansible实战环境
      • 7.1.3 Ansible实战
      • 7.2 搭建服务配置中心
      • 7.2.1 如何管理微服务中的配置
      • 7.2.2 设计Ansible配置中心
      • 7.2.3 动手实现自动化部署框架
      • 7.3 自注册服务配置
      • 7.3.1 目前服务注册存在的问题
      • 7.3.2 使用Registrator实现服务自注册
      • 7.3.3 微服务平滑升级解决方案
      • 7.4 本章小结

      以上就是本次介绍的微服务电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:轻量级微服务架构(上册)

      下一篇:Java遗传算法编程

      展开 +

      收起 -

      下载地址:百度网盘下载
      微服务 相关电子书
      Java微服务实战
      Java微服务实战 PDF 全书超清版 立即下载
      从0到1实战微服务架构
      从0到1实战微服务架构 PDF 超清版

      服务是继SOA后,最流行的服务架构风格之一。按照微服务对系统进行拆分后,每个服务的业务逻辑都更加简单、清晰。服务之间是松耦合的,模块之间的边界也更加清晰。微服务有效降低了软件项目的业务复杂程度,为小团队独立开发、持续交付和部署打下了良好的基础。 为什么需要服务发现,又如何实现它呢?配置中心呢....思考和设计的过程充满了挑战,也是提升自身架构能力的一种手段。这是本书的创作初衷之二。 已有的微服务资料过于重视微服

      立即下载
      Node.js微服务
      Node.js微服务 PDF 高清版

      Node.js微服务 对如何采用Node.js及其生态工具进行微服务开发的*实践做了全面的介绍,内容包括对微服务架构基本概念及设计原则的讲解,以及如何采用Node.js搭配Seneca、PM2和Docker等现代化工具来

      立即下载
      Spring Cloud微服务实战
      Spring Cloud微服务实战 PDF 高清版

      《Spring Cloud微服务实战》 从时下流行的微服务架构概念出发,详细介绍了Spring Cloud针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,《Spring Cloud微服务实战》主要

      立即下载
      Spring Cloud微服务架构开发实战
      Spring Cloud微服务架构开发实战 PDF 完整版

      资深架构师手把手带你实战微服务;提供从设计、开发、部署到运维的一站式解决方案;涵盖Spring Boot微服务开发、Spring Cloud核心组件、Docker部署微服务应用;详解大量易于构建、运行

      立即下载
      生产微服务
      生产微服务 PDF 高质量版

      近年来,微服务因其良好的伸缩性和灵活性备受各大巨头科技公司的青睐,微服务俨然已成为技术社区的一个热门词汇。作者Susan Fowler从她在Uber成功实施微服务的经验出发,结合其他各大公司

      立即下载
      Service Mesh实战:基于Linkerd和Kubernetes的微服务实践
      Service Mesh实战:基于Linkerd和Kubernetes的微服务实践 PDF 完整版

      这是一部面向生产实践环境的Service Mesh实战指南,它讲解了如何基于Linkerd和Kubernetes开发和部署微服务。 作者是思科的高级工程师,是国内Service

      立即下载
      读者心得
      36小时28分钟前回答

      springboot 打包部署 共享依赖包(分布式开发集中式部署微服务)

      1、此文初衷 平常我们在进行微服务开发完毕后,单个微服务理应部署单个虚机上(docker也可),然后服务集中发布到服务注册中心上,但是有些小的项目,这样做未免太过繁杂增加了部署难度,这里主要讲述的是如何在单机上通过共享jar包的方式来部署多个微服务,解决以上部署难度同时在带宽不够或者网速慢的情况下如何快速的发布部署。 2、部署目录结构 部署目录解答-》 各个微服务与依赖包(lib文件夹下)在同一级目录下,此为图1内容。图二内容展示的是单个微服务内的文件结构,部署配置文件以及所打的jar包,这里可以看到单个微服务的jar包只有32KB,非常小。 3、如何利用maven打包 大家只需……

      43小时46分钟前回答

      Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置实例详解

      一、项目需求 在开发过程中,由于技术的不断迭代,为了提高开发效率,需要对原有项目的架构做出相应的调整。 二、存在的问题 为了不影响项目进度,架构调整初期只是把项目做了简单的maven管理,引入springboot并未做spring cloud微服务处理。但随着项目的进一步开发,急需拆分现有业务,做微服务处理。因此架构上的短板日益突出。spring cloud config 无法完全应用,每次项目部署需要修改大量配置文件。严重影响开发效率,因此便萌生了对项目架构再次调整的决心。 三、调整建议 为了兼容以前的代码版本,尽量不修改现有的代码结构,以免增加额外的工作量并且为了更好的应用cloud config。 首先,创建……

      码农之家

      麴瀚漠 提供上传

      资源
      29
      粉丝
      16
      喜欢
      445
      评论
      9

      Copyright 2018-2021 www.xz577.com 码农之家

      版权投诉 / 书籍推广:520161757@qq.com