SpringCloud学习日志
文章平均质量分 86
qubeleyZ
这个作者很懒,什么都没留下…
展开
-
SpringCloud学习笔记(二十)SpringBoot整合RabbitMQ
接下来我们学习消息队列中间件RabbitMQ与SpringCloud的整合。其实这里做的消息队列的整合只是和SpringBoot整合。首先复习一下我们使用消息队列的原因:削峰、异步、解耦。然后我们在本地安装一个RabbitMQ。在安装RabbitMQ之前,我们先得安装erlang语言,因为它是RabbitMQ的开发语言。erlang的安装包下载地址为:https://www.erlang.org/downloads (下载比较慢的时候建议挂梯子或百度云)erlang的安装没什么好讲的,.原创 2021-02-18 18:45:28 · 300 阅读 · 0 评论 -
SpringCloud学习笔记(十九)apollo环境切换和命名空间
专辑目录:SpringCloud学习日志上一篇,我们将apollo和自己的eureka整合,并且读取到参数了。这一篇,我们讲讲环境差异和命名空间等。对于阿波罗的环境切换,我看了其他博客,说是configservice、adminservice、eureka等等除了portal和apolloportaldb外的都是在不同服务器部署,portal是可以共用的。这是一种什么场景呢?公司正式服务器上部署了pro、uat、fat三个环境的configservice、eureka等,我们自己本机除了配置这些原创 2020-09-30 14:17:43 · 1937 阅读 · 0 评论 -
SpringCloud学习笔记(十八)apollo项目整合
上一篇:SpringCloud学习笔记(十七)apollo配置中心启动上一篇中,我们讲述了阿波罗的三种启动方式,这一篇我们讲如何与我们已经搭建的微服务项目整合。我们已经知道apollo是自带eureka的,所以现在整合就有两种方案。方案一是直接使用阿波罗的eureka,把我们自己的eureka去掉。这种方案的优点是省时省力,缺点是如果需要修改eureka的设置,快速启动包没得改,自己打包的需要重新打包,idea直接跑的重新编译重启就行。方案二是使用maven整合到我们的项目中来。接下来我原创 2020-09-29 09:37:58 · 665 阅读 · 0 评论 -
SpringCloud学习笔记(十七)apollo配置中心启动
先前讲了用SpringConfig作为配置中心的SpringCloud微服务,但是现在国内比较流行的是使用apollo,所以这里也讲讲apollo的使用。由于篇幅较长,打算拆成两篇,这一篇先讲apollo的启动,然后下一篇讲如何和我们之前搭建的项目整合。首先来讲讲携程提供的快速启动包。我们使用快速启动包,可以不用配置太多东西之前启动apollo。我们先到https://github.com/ctripcorp/apollo/wiki/Quick-Startwiki中有提供快速启动包的下载路径和.原创 2020-09-28 15:05:32 · 1279 阅读 · 0 评论 -
SpringCloud学习笔记(十六)接口文档Swagger
关于Swagger的介绍在我的另一篇博客中已经有详细说明,包括如何整合到SpringBoot中。最好先阅读那篇博客,不然很难理解。https://blog.csdn.net/qubeleyZ/article/details/108766076Swagger与SpringCloud的整合其实和SpringBoot差的不多,只不过要考虑SpringCloud可能是集群的而已。每个服务都单独配置swagger的话,和整合Springboot一样,没必要再讲,这里讲如何将每个服务的swagger整合到一个页面中原创 2020-09-24 11:27:38 · 362 阅读 · 0 评论 -
SpringCloud学习笔记(十五)网关集群
上章我们搭建了动态网关,描述了网关与服务、注册中心、配置中心的关系,网关作为外部访问的唯一入口,若挂掉了,那全部的服务就无法访问了,为了防止这种情况出现,网关也应该和服务一样做集群。然而网关作为唯一入口,总不能让用户记住多个域名吧,所以在网关之上,我们加一层nginx做反向代理。这样做有什么好处呢?首先,如果我们使用nginx作为网关,则权限验证、日志管理等原来网关做的需要在nginx上实现,nginx不支持java开发,这会增加开发难度,所以nginx仅用做反向代理(负载均衡也可以),网关仍维持原功能。这原创 2020-08-12 17:57:15 · 1497 阅读 · 0 评论 -
SpringCloud学习笔记(十四)Zuul网关
网关的概念:我举个例子,我们到银行取钱,但是我们不能自己到金库里去拿钱,而是通过柜台服务员取钱。这时候柜台服务员就是网关,如果你没有存折和密码(相当于账号和密码),那么柜台服务员就不会给你取钱,这就是网关登录验证。柜台服务员并不印钱,只是帮你取出钱而已,网关不处理业务逻辑,只是做一些登录验证、日志服务等,类似过滤器的功能。在微服务中,业务处理服务、配置中心、注册中心等这些服务都是内网环境的,外部并不能服务,网关服务是外网可访问的。就像柜台服务员可以在柜台后面做事,但你只能让她帮你做事,你无法进入柜台原创 2020-08-01 22:08:15 · 239 阅读 · 0 评论 -
SpringCloud学习笔记(十三)配置中心——SpringCloudConfig
我们在接着第十二篇之后讲讲配置中心。配置中心的意义不需要多讲了吧,现在我们讲的是SpringCloud全家桶的配置中心。一般情况不使用,但是不能不会。首先我们要知道,SpringCloudConfig是使用Git进行配置文件同步的,所以我们在阿里巴巴提供的免费的gitee上进行演示。并且注意,我们只演示手动刷新,自动刷新是不推荐使用的。我使用了自己的账号创建了一个项目SpringCloud。然后创建了一个文件夹config。在config文件夹下,我提交了2个配置文件。一个是开发环境的.原创 2020-06-13 19:28:16 · 220 阅读 · 0 评论 -
SpringCloud学习笔记(十二)基于Hystrix解决雪崩效应
什么是雪崩效应?当请求数量远超出服务器承受能力或者服务器无法再处理请求时,导致请求等待时间比较久,也就是平常说的卡。由于微服务是利用RPC相互请求的,所以可能一个接口无法访问或延迟响应,导致大量接口无法访问或延迟响应。在项目上线之前,应该做压力测试来评估服务器承受能力。插入一个知识点,设置Ribbon的请求响应等待时间。(如图设置超时响应时间为5秒)### springclu...原创 2020-03-23 17:47:26 · 283 阅读 · 0 评论 -
SpringCloud学习笔记(十一)微服务项目结构搭建
(之后我贴代码比较少,更多是截图说明,因为会上传源码包)先前搭建的项目都是一个服务一个项目,因为还没有涉及到实体类所以好像没什么问题。但是一旦涉及到实体类,分开存放意味着要拷贝多份实体类这显然不利于开发和维护。所以这回我们来搭建一个比较完善的项目结构。如图结构,首先新建一个Maven项目,取名为parents,package 设为pom,用来作为根项目。然后在parents...原创 2019-11-29 17:53:41 · 408 阅读 · 0 评论 -
SpringCloud学习笔记(十)声明式客户端Feign的简单调用
借鉴了https://blog.csdn.net/github_39577257/article/details/81842234的文章在之前的开发中,我们使用RestTemplate是非常不方便的,在工作中也不会用RestTemplate。我们来学习一下声明式客户端来简化开发步骤。首先,什么是“声明式”?以我的理解,就是由开发人员进行申明接口,然后由工具自行实现。我举个例子,就像...原创 2019-11-29 11:30:50 · 238 阅读 · 0 评论 -
SpringCloud学习笔记(二)服务治理Eureka
服务治理的前景:在传统的RPC远程调用框架中,管理每个服务与服务之间的依赖关系比较复杂。RPC通过HttpClient技术进行通信,在服务与服务之间依赖很多多的情况下,通信地址管理非常困难。SringCloud支持三种注册中心:Eureka、Consul、Zookeeper。Dubbo支持:Redis和Zookeeper。服务注册与发现:在任何一个RPC远程框架...原创 2019-10-04 16:56:30 · 167 阅读 · 0 评论 -
SpringCloud学习笔记(三)注册中心Eureka搭建
1.创建Maven项目,pom.xml如下设置:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...原创 2019-10-04 17:00:52 · 207 阅读 · 0 评论 -
SpringCloud学习笔记(四) 服务注册
跟着学习视频,搭建一个会员服务。首先也是创建一个maven工程,但是pom.xml有点改动。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...原创 2019-10-04 17:08:40 · 196 阅读 · 0 评论 -
SpringCloud学习笔记(五)服务之间的调用,RestTemplate
微服务之间是通过RPC来交互的。Eureka server和client 的jar包 都会引用一个 ribbon 包和httpclient包,显然Eureka是通过httpclient来进行通信的。我们需要服务与服务之间进行通信,至少得有2个服务才能看出效果(自己和自己通信的别闹)。所以我们从会员服务copy出一个订单服务。pom.xml 是一样的(除了项目名artifactI...原创 2019-10-04 17:15:19 · 485 阅读 · 0 评论 -
SpringCloud学习笔记(六)注册中心高可用——Eureka集群
背景:如果只有一台服务器作为注册中心,当唯一的注册中心宕机时会导致整个微服务瘫痪。为了提高服务费的容灾能力,注册中心往往搭建集群。原理:你中有我,我中有你如何搭建?首先拷贝一份工程,修改其项目名。我原本的注册中心的项目名是springcloud-eureka-server现在复制一份成spring-eureka-server2然后修改他们的配置文件applica...原创 2019-10-04 17:19:59 · 206 阅读 · 0 评论 -
SpringCloud学习笔记(七)Eureka自我保护机制
当服务集群之后,可能存在这种情况:某一个服务器宕机,导致集群服务中有一个无法访问。由于默认使用轮询方式,所以可能在访问时访问到宕机的服务器导致该次访问失败。假设十个会员服务器集群中有一个宕机了,那么十次会员服务访问中就会失败一次。针对这种情况,Eureka默认采用Client端定时向Server端发送心跳包的方式来确认Client端的有效性,若超过90秒没有收到心跳包,则认为该Cl...原创 2019-10-04 17:21:04 · 232 阅读 · 0 评论 -
SpringCloud学习笔记(八)使用Zookeeper做注册中心
由于eureka2.0 已经闭源了,所以很多人会放弃使用eureka。接下来我们就使用zookeeper来代替eureka。首先告知我使用的是zookeeper3.3.6使用zookeeper做注册中心是不需要像eureka那样先写一个server项目的,而是直接启动zookeeper就行了首先我们启动zookeeperzookeeper是使用临时节点的方式,是没有自我...原创 2019-10-04 17:28:29 · 237 阅读 · 0 评论 -
SpringCloud学习笔记(九)使用Consul做注册中心
首先我们先准备一下Consul的环境下载地址:https://www.consul.io/downloads.html我下载了windows_64bit版的,下载完成后解压,只有一个consul.exe文件。然后使用cmd命令启动。命令说明:-dev:开发模式 -node:结点名 -ui:可以使用页面访问,默认可以命令执行完成之后浏览器访问 http://localhost:8...原创 2019-10-04 17:31:29 · 200 阅读 · 0 评论 -
SpringCloud学习笔记(一) 微服务与SpringCloud
内容是从我自己的有道云笔记里搬运过来的(http://note.youdao.com/noteshare?id=9494545379e0e59a9747cbddedb8a884)可能会有些格式问题。以后就直接在csdn更新了。首先声明我是从bilibili上下载的视频来学习的( AV35285342 )微服务架构与SOA架构的区别(余胜军):1.微服务架构由SOA架构演变而来,继承...原创 2019-10-04 16:55:52 · 268 阅读 · 0 评论