SpringCloud学习系列
该专栏记录的是本人学习springcloud从基础篇到进阶篇到高级篇的笔记。
tanwenfang
学无止境。
展开
-
微服务架构学习-进阶篇--14,分布式跟踪:Zipkin演练
第一节,为什么要用zipkin,它解决了什么问题?第二节,编写搭建zipkin server(1)在sleuth模块下新建maven项目,命名为sleuth-zipkin-server。(2)修改pom文件。<?xml version="1.0"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0...原创 2019-03-22 18:25:08 · 318 阅读 · 0 评论 -
微服务架构学习-进阶篇--(13-3)kibana搭建演示
a.ELK搭建演示之ElasticSearch搭建演示请参考:https://blog.csdn.net/tanwenfang/article/details/88352932b.ELK搭建演示之logstash搭建演示请参考:https://blog.csdn.net/tanwenfang/article/details/88368521下面开始搭建kibana。1,下载压缩包,解压,改...原创 2019-03-09 17:17:31 · 293 阅读 · 0 评论 -
微服务架构学习-进阶篇--(13-2)logstash搭建演示
ELK搭建演示之ElasticSearch搭建演示请参考上一篇:https://blog.csdn.net/tanwenfang/article/details/88352932下面开始搭建logstash。1,下载压缩及改名首先去https://www.elastic.co/downloads这个网站下载logstash的安装包,下载之后,将其上传到服务器的“/home/tanwen...原创 2019-03-09 17:07:12 · 322 阅读 · 0 评论 -
微服务架构学习-进阶篇--(13-1)ElasticSearch搭建演示
准备工具:一台联网服务器(我用的是华为云服务器,1核2G,CentOS 6.10 64bit)一,查看jdk版本由于我已经安装好了,这里就不再重复安装了。不太了解在Linux系统上jdk安装流程的朋友可以参考这篇文章:https://www.cnblogs.com/shihaiming/p/5809553.html 或其他的文章二,创建用户从5.0开始,ElasticSearch 安全级...原创 2019-03-08 16:11:19 · 777 阅读 · 0 评论 -
微服务架构学习-进阶篇--13,分布式跟踪:ELK演练
第一节,为什么要用ELK,它解决了什么问题?第二节,ElasticSearch搭建演示第三节,logstash搭建演示第四节,kibana搭建演示第五节,spring cloud与ELK的集成演示...原创 2019-03-08 15:14:11 · 214 阅读 · 0 评论 -
微服务架构学习-进阶篇--12,分布式服务跟踪Sleuth
第一节,为什么要使用微服务跟踪?它解决了什么问题?第二节,编写sleuth的入门例子及跟踪日志原理剖析(1)在e-book模块下新建子模块sleuth。(2)在sleuth模块下新建maven项目,命名为sleuth-consumer,拷贝e-book-consumer-order项目的文件及代码到该新项目。(3)修改pom文件,添加sleuth的依赖:<dependency&g...原创 2019-03-18 09:30:54 · 197 阅读 · 0 评论 -
微服务架构学习-进阶篇--11,消息驱动
第一节,为什么要用stream?它解决了什么问题?个人对stream的理解是:stream是一个构建消息驱动的微服务框架,它提供了inputs和outputs两种通道,我们在开发应用程序的过程中,可以使用这两种通道。但是我们使用这两种通道来干啥呢?我们用它们来与消息中间件进行数据的传输。但是我们并不是直接和具体的消息中间件做交互的,因为这样会过于依赖使用的消息中间件。那这两种通道到底是怎么和...原创 2019-03-15 15:52:24 · 354 阅读 · 1 评论 -
微服务架构学习-进阶篇--10,消息总线bus
第一节,bus解决了什么问题?上图为客户端的刷新。当git远程仓库有变动的时候,如果我们是去刷新客户端即微服务,那么刷新之后,服务A会获取配置信息,并且发送消息给Ribbit MQ,然后由RibbitMQ发消息通知其他的微服务,然后这些微服务再去本地仓库获取配置信息。上图为服务端的刷新。当git仓库发生变动之后,如果是在服务端刷新,那么服务端会直接通知RibbitMQ,由RibbitMQ...原创 2019-02-28 18:15:10 · 748 阅读 · 0 评论 -
微服务架构学习-进阶篇--09,分布式配置中心(下)
第六节,采用对称加密算法,实现敏感数据加密例子:(1)在config模块下,新建maven项目,命名为config-server-encrypt-symmetric,该项目作为配置中心的服务端(能对想加密的数据进行加密)。(2)修改pom文件,加入如下配置:<dependency> <groupId>org.springframework.boot</gr...原创 2019-02-26 18:05:40 · 304 阅读 · 0 评论 -
微服务架构学习-进阶篇--08,分布式配置中心(上)
第一节,为什么需要配置中心?它解决了什么问题?第二节,编写配置中心的服务端(1)在e-book模块下新建子模块config,在config模块下新建maven项目,命名为config-server。(2)修改配置文件,加入如下依赖:<dependency> <groupId>org.springframework.boot</groupId>...原创 2019-02-26 17:39:28 · 292 阅读 · 0 评论 -
微服务架构学习-进阶篇--07,服务网关(下)
第六节,采用网关过滤对系统异常统一处理(1)在zuul模块下新建maven项目,命名为zuul-gateway-filter-exception。(2)pom文件添加依赖。(3)配置文件添加配置。(4)添加一个启动类。然后是各种过滤器的实践:(5)先新建一个权限校验的过滤器,如下:package com.twf.zuul.gateway.filter.exception.filter...原创 2019-02-26 17:09:12 · 365 阅读 · 0 评论 -
微服务架构学习-进阶篇--06,服务网关(上)
第一节,为什么要用网关?它解决了什么问题?第二节,编写网关的入门例子(1)在e-book模块下新建子模块zuul,在pom文件中加入eureka的依赖:&lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt; &lt;artifactId&gt;spring-cloud-s原创 2019-02-26 16:13:38 · 506 阅读 · 0 评论 -
微服务架构学习-进阶篇--05,可视化的数据监控
一,一种可视化的数据监控dashboard首先看下非可视化的数据监控:我们先在原来的项目e-book-consumer-hystrix-ribbon-threadpool上做些改造。(1)pom文件加入如下依赖: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&am原创 2019-01-14 17:58:09 · 719 阅读 · 0 评论 -
微服务架构学习-进阶篇--04,Feign的雪崩处理
一,服务降级处理。上面讲的都是ribbon的雪崩处理,现在讲一下feign的雪崩处理方式-服务降级处理。思想和ribbon的服务降级处理类似,都是在服务调用出现问题的时候走fallback流程。(1)在e-book-consumer-hystrix模块下新建maven项目,命名为e-book-consumer-hystrix-feign-fallback。(2)拷贝原来的项目e-book-...原创 2019-01-14 17:25:14 · 356 阅读 · 0 评论 -
微服务架构学习-进阶篇--03,服务雪崩的6种解决方案(基于ribbon)
第一节,服务雪崩简介服务雪崩就是:一个服务不可用,导致一系列服务不可用,而这种后果往往无法预料。造成雪崩原因可以归结为以下三个:1,服务提供者不可用(硬件故障,程序bug,缓存击穿,用户大量请求)2,重试加大流量(用户重试,代码逻辑重试)3,服务调用者不可用(同步等待造成的资源耗尽)解决方案有如下5个,其中隔离包括两种:1,降级:超时降级,资源不足时(线程或信号量)降级,降级后可以配...原创 2019-01-14 17:05:58 · 2256 阅读 · 2 评论 -
微服务架构学习-进阶篇--02,声明式服务调用
第一节:声明式服务调用的作用是什么?它解决了什么问题?1,什么是Feign?Feign是一种声明式,模板化的HTTP客户端(仅在consumer中使用)2,什么是声明式?有什么作用?解决了什么问题?a.声明式调用就像调用本地方法一样调用远程方法,无感知远程HTTP请求。b.Spring cloud的声明式调用,可以做到使用HTTP请求远程服务时,就像调用本地方法一样的体验,开发者完全感知...原创 2019-01-05 19:49:27 · 841 阅读 · 0 评论 -
微服务架构学习-进阶篇--01,负载均衡ribbon
第一节:ribbon在微服务架构中扮演什么角色?1,什么是ribbon?(1)Ribbon是一个基于Http和tcp的客户端负载均衡工具,它是基于Netflix Ribbon实现的。(2)他不像spring cloud服务注册中心,配置中心,API网关那样独立部署,但是它几乎存在于每个spring cloud微服务中。包括feign提供的声明式服务调用也是基于该ribbon实现的。(3)r...原创 2019-01-05 18:41:05 · 780 阅读 · 0 评论 -
微服务架构学习-基础篇--05,注册中心eureka
第一节:微服务架构为什么需要注册中心,它解决了什么问题?1,什么是注册中心?注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其他服务时,就到这里找到服务的地址,进行调用。举个栗子吧,如我们手机通讯录的两个使用场景:(1)当我想给张三打电话时,那我需要在通讯录中按照名字找到张三时,然后就可以找到他的手机号拨打电话。(...原创 2018-12-26 16:19:54 · 351 阅读 · 0 评论 -
微服务架构学习-基础篇--04,实战RabbitMQ
第一节:如何安装RabbitMQ参考这两篇博文:https://blog.csdn.net/weixin_39735923/article/details/79288578https://www.cnblogs.com/ericli-ericli/p/5902270.html安装成功之后,访问 http://localhost:15672第二节:为什么要使用RabbitMQ?它解决了什么...原创 2018-12-13 18:42:25 · 302 阅读 · 0 评论 -
微服务架构学习-基础篇--03,springboot实战
第一节:为什么越来越多的开发者使用springboot?它解决了什么问题?1,spring4推出之前,编码存在什么问题?(1)大量的xml文件存在项目中,配置相当繁琐;(2)整合第三方框架的配置问题;(3)低效的开发效率和部署效率等问题。2,spring boot是什么?Spring boot是伴随着spring4.0诞生的;Spring boot就是一个内嵌Web容器(tomcat...原创 2018-12-12 18:29:36 · 324 阅读 · 0 评论 -
微服务架构学习-基础篇--02,SpringCloud基础入门
第一节:为什么选择springcloud?1,什么是spring cloud?是一个有序框架的集合,包含服务注册与发现,配置中心,消息中心,负载均衡等等。2,spring cloud和dubbo的区别?数据是某一时间点的结果。尽管dubbo性能是springcloud的3倍左右,但是由于Spring cloud是一个专门的微服务框架,功能十分丰富齐全,所以还是选择spring clou...原创 2018-12-12 17:40:09 · 487 阅读 · 0 评论 -
微服务架构学习-基础篇--01,微服务架构入门
第一节,为什么使用微服务:单体架构的特点1,什么是单体架构?单体架构也称为单体系统,他就是把所有功能 所有模块都耦合在一个系统里面(例如 打包为jar或war),它最大的特点就是整套系统就只有一个进程。2,单体架构特点特点描述测试部署问题测试,部署成本高,业务运行在一个进程中,因此系统中任何程序的改变,都需要对整个系统重新测试并部署。伸缩性可伸缩性差:单体架构...原创 2018-12-12 17:11:51 · 605 阅读 · 0 评论