《Spring Cloud微服务实战》读书笔记

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 《Spring Cloud微服务实战》读书笔记,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

第一章 基础知识

微服务架构,与单体系统的区别,实施步骤(略),选择Spring Cloud,简介。

第二章 微服务构建:spring boot

SB框架简介,yaml,
配置文件加载顺序:
命令行
SPRING_APPLICATION_JSON中的属性(配置在系统环境变量的内容)
java:comp/env中的JNDI属性
Java的系统属性,可以通过System.getProperty获得
操作系统环境变量
random.*配置的随机属性
位于当前应用的jar包之外,针对不同{profile}环境的配置文件内容,application-{profile}.properties或者yaml文件内容
位于当前应用的jar包之内,针对不同{profile}环境的配置文件内容,application-{profile}.properties或者yaml文件内容
位于当前应用的jar包之外,application.properties和yaml的配置文件内容
位于当前应用的jar包之内,application.properties和yaml的配置文件内容
在@Configuration注解修改的类,通过@PropertySource定义的属性。
应用默认属性,使用SpringApplication.setDefaultProperties定义的内容。

第三章 服务治理:Eureka

第四章 客户端负载均衡:Ribbon

第五章 服务容错保护:Hystrix

第六章 声明式服务调用:Feign

第七章 API网关服务:Zuul

第八章 分布式配置中心:config

第九章 消息总线:Bus

第十章 消息驱动:stream

第十一章 分布式服务跟踪:Sleuth

形式:[appname, traceId, spanId, exportable]
跟踪原理:

  1. 唯一标志TraceId
  2. 统计各处理单元的延迟,引入SpanID,开始和结束两个节点信息,以及其他元数据。

sleuth自动为当前应用构建各通信通道的跟踪机制:

  1. 通过MQ传递请求
  2. 通过zuul代理传递的请求
  3. 通过RestTemplate发起请求
    头信息在sleuth.Span源码里:X-B3-TraceId、X-B3-SpanId、X-B3-ParentSpanId、X-B3-Sampled、X-Span-Name。

抽样收集:
抽样收集策略是通过Sampler接口实现,默认使用PercentageBasedSampler接口,也可以使用AlwaysSampler。

与LogStash整合,创建bootstrap.properties文件(首先加载),其次加载logback-spring.xml,最后加载application.properties。除了logback配置的LogStash Appender,还可以使用LogStashTcpSocket-Appender将日志内容直接通过TCP socket输出到LogStash服务端。

与Zipkin整合
原因:ELK平台缺少对请求链路中各个阶段时间延迟的关注,以及延迟监控、时间消耗。
基于Google dapper。架构,四个核心组件:Collector、Storage、RESTful API、Web UI;
默认的收集方式是HTTP,可以换成MQ,减轻压力。

收集原理
Span:
Trace:
Annotation:
cs(Client Send):
sr(Server Received):
ss(Server Send):
cr(Client Received):
BinaryAnnotation:

数据存储
支持MySQL,ES,Cassandra等;注意选择的MySQL版本要和zipkin版本对应好,否则会出现问题。数据库的脚本在依赖zipkin-storage-mysql jar包里面可以找到:mysql.sql。
API接口
/api/v1/dependencies:GET
/api/v1/services:GET
/api/v1/span:GET
/api/v1/spans/:POST
/api/v1/trace/{traceId}:GET
/api/v1/traces/:GET,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142355.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!