Spring Cloud,Docker书籍资源、优秀博文等记录
Spring Cloud,Docker书籍资源、优秀博文等记录
Spring Cloud,Docker书籍资源、优秀博文等记录
一、书籍
二、博文地址
系列教程:
- Docker系列教程
- Spring Cloud系列教程
- 博客园:雪雁:Docker最全教程
搭建教程:
- Centos7下安装Docker(详细安装教程)
- docker安装常用组件(mysql,redis,postgres,rancher,Portainer,蝉道,JIRA,sonarqube,Confluence,pgadmin4)
学习教程:
- CSDN:数据架构师:docker教程,dockerfile教程
- CSDN:Docker通过容器生成镜像(通过容器提交(docker commit)成镜像)
- CSDN:查看Docker容器使用资源情况–docker stats
- 博客园:SpringCloud系列教程
三、思维导图Or图片
3.1一张图总结 Docker 的命令
Spring Cloud
部分内容原文地址:
博客园:程序开发者社区:Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态)。分布式系统的协调导致了样板模式,使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序。它们适用于任何分布式环境,包括开发人员自己的笔记本电脑,裸机数据中心和Cloud Foundry等托管平台。
1、Spring Cloud组件
Spring Cloud构建微服务是基于SpringBoot开发的,服务之间通过基于HTTP的RESTFUL API进行通信协作的。
Spring Cloud组件由20多个组件组成的,常用的组件有如下:
主要:
- Eureka:服务注册中心,特性有失效剔除、服务保护
- Dashboard,Hystrix仪表盘:监控集群模式和单点模式,其中集群模式需要收集器Turbine配合
- Zuul:API服务网关,功能有路由分发和过滤
- Config:分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式
融合:
融合在每个微服务中、依赖其它组件并为其提供服务。
- Ribbon:客户端负载均衡,特性有区域亲和、重试机制
- Hystrix:客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离
- Feign:声明式服务调用,本质上就是Ribbon+Hystrix,类似于Dubbo的调用
- Stream:消息驱动,有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区
- Bus:消息总线,配合Config仓库修改的一种Stream实现
- Sleuth:分布式服务追踪,需要搞清楚TraceID和SpanID以及抽样,并且与ZipKin整合
- SpringBoot的SpringBoot Admin(一个管理和监控 Spring Boot 应用程序的开源项目)
每个组件都不是平白无故的产生的,是为了解决某一特定的问题而存在:
Eureka:分为客户端和服务端,客户端是一个java客户端,用来连接Eureka服务端(说白了服务端就是Eureka注册中心),与服务端进行交互,负载均衡,服务的故障切换等。。。作用类似于zookeeper
Ribbon:是一个基于HTTP和TCP的客户端负载均衡器,当使用Ribbon对服务进行访问的时候,他会扩展Eureka客户端的服务发现功能,实现从Eureka注册中心获取服务端列表,并通过Eureka客户端来确定服务端是否已经启动。Ribbon在Eureka客户端服务发现的基础上,实现对服务实例的选择策略,从而实现对服务的负载均衡消费。
Eureka和Ribbon,是最基础的组件,一个注册服务,一个负载均衡消费服务。Hystrix(断路器/熔断器):为了优化Ribbon、防止整个微服务架构因为某个服务节点的问题导致崩溃,是个保险丝的作用,防止服务雪崩。
Dashboard:给Hystrix统计和展示用的,而且监控服务节点的整体压力和健康情况。
Turbine:是集群收集器,服务于Dashboard的。
Feign:是Netflix公司开发的一个声明式的REST调用客户端,Ribbon负载均衡,Hystrix服务熔断是Spring Cloud中进行微服务开发的最基础的组件,在使用过程中我一般发现他们都是一起存在的,而且配置也相似,每次开发都有相同的代码,因此Spring Cloud基于Netflix Feign整合了Ribbon和Hystrix两个组件,让开发更简单
Zuul:是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,加强安全保护的。
Config:是为了解决所有微服务各自维护各自的配置,设置一个统一的配置中心,方便修改配置的。
Bus:是因为config修改完配置后各个结点都要refresh才能生效实在太麻烦,所以交给bus来通知服务节点刷新配置的。
Stream:是为了简化研发人员对MQ使用的复杂度,弱化MQ的差异性,达到程序和MQ松耦合。目前只支持RabbitMQ和Kafka
Sleuth:是因为单次请求在微服务节点中跳转无法追溯,解决任务链日志追踪问题的
2、SpringCloud架构图
Spring Cloud,Docker书籍资源、优秀博文等记录的更多相关文章
- spring cloud+docker 简单说一说
spring boot 微服务开发工具 spring cloud 微服务框架治理工具集 这么做: 1.搭建spring cloud 基础组件(服务发现,服务注册,服务配置,监控,追踪,API网关) 以 ...
- 分享spring、spring boot、spring cloud一些学习资源,从基础知识到项目实战
1.spring注解驱动开发,学习spring boot和spring cloud必备知识 链接: https://pan.baidu.com/s/1xhULzLlpkERhoMi1G5Lgfg 密码 ...
- Spring Cloud,Docker
Spring Cloud 先决条件 Spring cloud 基于spring boot,spring,java Spring Cloud解决的问题 分布式微服务架构和微服务监控.注册于发现.跟踪等一 ...
- docker kubernetes swarm spring cloud结合学习资源
http://www.docin.com/p-2062732301.html https://blog.csdn.net/michael_hm/article/details/79213839 htt ...
- [转]Spring Cloud在国内中小型公司能用起来吗?
原文地址:http://www.cnblogs.com/ityouknow/p/7508306.html 原文地址:https://www.zhihu.com/question/61403505 今天 ...
- Spring Cloud在国内中小型公司能用起来吗?
今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来吗?,吸引了我的注意.仔细的看了题主的问题,发现这是一个好问题,题主经过了一番思考,并且用图形全面的将 ...
- 写给大忙人的spring cloud 1.x学习指南
这几天抽空搞了下spring cloud 1.x(2.0目前应该来说还不成熟),因为之前项目中使用dubbo以及自研的rpc框架,所以总体下来还是比较顺利,加上spring boot,不算笔记整理,三 ...
- Spring Cloud在国内中小型公司用的起来吗?
转自:http://www.cnblogs.com/ityouknow/p/7508306.html 今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来 ...
- Spring Cloud 与 Spring boot - 转载
微服务是这样一个结构吗? 前端或二方 - > ng集群 -> zuul集群 -> eureka-server集群 -> service provider集群 (二方指其他业务部 ...
随机推荐
- HTML表格样式
一.表格的表头 1 <html> 2 3 <body> 4 5 <h4>表头:</h4> 6 <table border="1" ...
- Node项目模板管理脚手架ptm-cli开发
目录 一.ptm-cli 使用说明 1.特点 2.安装 3.使用 1)基础帮助命令 2)添加模板/项目 3)编辑模板/项目 4)查看模板/项目 5)删除模板/项目 6)基于模板新建/初始化项目 二 p ...
- sql优化最佳实践
1.选择最有效率的表连接顺序 首先要明白一点就是SQL 的语法顺序和执行顺序是不一致的 SQL的语法顺序: select [distinct] ....from ....[xxx join][o ...
- LAMP架构之PHP-FPM 服务器 转
安装PHP 解决依赖关系 # 请配置好yum源(系统安装源及epel源)后执行如下命令: yum -y groupinstall "Desktop Platform Development& ...
- 风炫安全Web安全学习第十六节课 高权限sql注入getshell
风炫安全Web安全学习第十六节课 高权限sql注入getshell sql高权限getshell 前提条件: 需要知道目标网站绝对路径 目录具有写的权限 需要当前数据库用户开启了secure_file ...
- WPF学习笔记02_布局
布局原则 WPF窗口只能包含单个元素.如果要放置多个元素,需要放置一个容器,然后在容器中添加元素. 不应显示的设定元素的尺寸 不应该使用屏幕坐标指定元素的位置 布局容器的子元素"共享&quo ...
- strings包
http://docscn.studygolang.com/pkg/strings/ Golang官方对strings包的介绍,strings包都是关于字符串的操作 常用的函数: 判断s1中是否包含字 ...
- 废弃fastjson!大型项目迁移Gson保姆级攻略
前言 大家好,又双叒叕见面了,我是天天放大家鸽子的蛮三刀. 在被大家取关之前,我立下一个"远大的理想",一定要在这周更新文章.现在看来,flag有用了... 本篇文章是我这一个多月 ...
- 一文彻底理解IO多路复用
在讲解IO多路复用之前,我们需要预习一下文件以及文件描述符. 什么是文件 程序员使用I/O最终都逃不过文件. 因为这篇同属于高性能.高并发系列,讲到高性能.高并发就离不开Linux/Unix,因此这里 ...
- 【JDBC核心】操作 BLOB 类型字段
操作 BLOB 类型字段 MySQL BLOB 类型 MySQL 中,BLOB 是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据. 插入 BLOB 类型的数据必须使用 Pre ...