![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud 储备之路
时空恋旅人
坚持不懈的学习态度和坚韧的人生品质
展开
-
Devops GitLab Pipline
1.流水线 流水线是一组分阶段执行的JOB,一个stage中的所有job都是并行执行的,如果一个stage中的所有job都执行成功了,那么它将流转到下一个stage,如果其中的一个job失败,那么下一个阶段通常不会执行, 2.流水线的类型有三种类型的pipeline通常使用“pipeline”的简写。人们经常谈论它们,好像每一个都是“pipeline”,但实际上,它们只是一个完整管道的一部分。 CI Pipeline: 图上的两个stage 是在.gitlab-ci.y...原创 2020-12-13 19:37:21 · 474 阅读 · 0 评论 -
SpringCloud--20CICD和DevOps
1.CICD1)Continuous integration(CI)持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 CD:持续部署De...原创 2019-10-21 19:18:09 · 1253 阅读 · 0 评论 -
SpringCloud--14使用Spring Cloud 构建微服务综合案例2(搭建工程)
1.zipkin-servicezipkin-server,它的主要作用使用ZipkinServer 的功能,收集调用数据,并展示,在spring Cloud更加高版本的时候,已经不需要自己构建Zipkin Server了,只需要下载jar即可。下载jar包下来启动,访问:http://localhost:9411/zipkin/2.monitoring-servicemoni...原创 2019-08-31 20:50:04 · 176 阅读 · 0 评论 -
SpringCloud--12 微服务保护系统Spring Cloud OAuth2(最新版)
1.架构OAuth 2.0 provider是负责公开暴露的资源的,provider通过管理和验证用于访问受保护资源的OAuth 2.0令牌。授权服务和资源服务在逻辑上是分开的,但是可以在一台服务器中,多个资源服务器也可以共享一台授权服务器,AuthorizationEndpoint用于服务于授权请求。默认网址:/oauth/authorize。 TokenEndpoint用于服务...原创 2019-09-22 22:35:36 · 373 阅读 · 0 评论 -
SpringCloud--14微服务的部署(服务Docker化)
1.微服务的部署 第一步,服务Docker化 第二步,将Docker化后的镜像推到我们自己的仓库中 第三步,搭建高可用的集群环境 现在工程目录是这个样子的:目前只有最基础的三个服务,功能只有用户的注册和登录。 ok,先拉取一个java 的基础镜像可以把这个镜像跑一下,看看docker run -it --entrypoint bas...原创 2019-09-29 23:27:19 · 330 阅读 · 0 评论 -
SpringCloud--15微服务的部署(镜像仓库)
1.仓库 公共仓库,私有仓库 公有仓库:先登陆 将镜像放到docker hub上面,速度贼JB慢, 首先在docker上去登陆 docker login , 然后把把镜像打上一个标签, 然后就是docker push 私有仓库: 使用docker提供的镜像,把本地的私有仓库搭起来 拉下来:...原创 2019-10-02 17:47:56 · 748 阅读 · 0 评论 -
SpringCloud--16微服务的部署(服务编排)
1.架构pod是k8s中最小的一个单元,可以理解为k8s的一个原子,所有的服务都会部署在pod里面pod运行在节点上面,kubelet负责调度pod,把pod运行在Node上面。service:service的ip除了能对pod进行定位以外,还能对多个pod进行负载均衡。整体的架构:主节点:ApiServer:提供了资源操作的唯一的入口,并...原创 2019-10-04 22:08:14 · 3566 阅读 · 0 评论 -
SpringCloud--17微服务的部署(服务编排2)
1.部署CalicoNode(所有节点)5.1 简介Calico实现了CNI接口,是kubernetes网络方案的一种选择,它一个纯三层的数据中心网络方案(不需要Overlay),并且与OpenStack、Kubernetes、AWS、GCE等IaaS和容器平台都有良好的集成。 Calico在每一个计算节点利用Linux Kernel实现了一个高效的vRouter来负责数据转发,而每个vR...原创 2019-10-07 10:02:26 · 617 阅读 · 0 评论 -
SpringCloud--18微服务的部署(认证和授权)
1. 理解认证授权1.1 为什么要认证想理解认证,我们得从认证解决什么问题、防止什么问题的发生入手。防止什么问题呢?是防止有人入侵你的集群,root你的机器后让我们集群依然安全吗?不是吧,root都到手了,那就为所欲为,防不胜防了。其实网络安全本身就是为了解决在某些假设成立的条件下如何防范的问题。比如一个非常重要的假设就是两个节点或者ip之间的通讯网络是不可信任的,可能会被第三方窃取,...原创 2019-10-08 23:15:23 · 1082 阅读 · 0 评论 -
SpringCloud--19微服务的部署(将服务部署在K8S集群上面)
1.把它们放到kubernetes集群运行我们要考虑什么问题?哪些服务适合单独成为一个pod?哪些服务适合在一个pod中? 在一个pod里面的服务如何彼此访问?他们的服务如何对外提供服务? 单独的pod如何对外提供服务? 哪个服务作为整个服务的入口,入口服务如何对外提供服务?2. 搞定配置配置的模板已经为大家准备好了,但是还需要大家做一下处理才能使用哦,参考下面脚本:$ cd...原创 2019-10-15 22:27:59 · 1970 阅读 · 0 评论 -
SpringCloud--13使用Spring Cloud 构建微服务综合案例1(搭建父工程和eureka和config-server)
1.服务介绍 注册中心eureka-server,配置中心config-server,授权中心服务uaa-service,Turbine聚合监控服务monitoring-service,链路追踪服务zipkin-service,聚合监控服务admin-service,路由网关服务gateway-service,日志服务log-service.另外包含两个资源服务user-service和b...原创 2019-08-26 23:39:50 · 307 阅读 · 0 评论 -
单元测试的编写
1.为什么要写单元测试 Mock的深入学习:https://blog.csdn.net/fortunatelx/article/details/82414668编写单元测试的难易程度能够直接反应出代码的设计水平,能写出单元测试和写不出单元测试之间体现了编程能力上的巨大的鸿沟。无论是什么样的程序员,坚持编写一段时间的单元测试之后,都会明显感受到代码设计能力的巨大提升。2.添加依赖...原创 2019-08-02 16:41:44 · 774 阅读 · 0 评论 -
SpringCloud--05熔断器Hystrix
1.Hystrix 用户的一个请求可能依赖几个服务,如果其中一个不可用,用户的整个请求会处于阻塞状态,高并发的情况下几秒钟可能就使整个服务线程负载处于饱和的状态下。由于服务的依赖性,会使整个服务都不可用,即雪崩效应。首先当服务的某个API接口的失败次数小于阈值时,熔断器处于关闭状态,当失败的次数大于设定的阈值时,打开熔断器,请求会执行快速失败的逻辑,请求线程不会阻塞,处于打开状态的熔...原创 2019-06-15 10:59:01 · 148 阅读 · 0 评论 -
SpringCloud--02构建高可用的Eureka集群
1.Eureka的一些概念 Renew(服务续约):Eureka Client 在默认情况下每个三十秒会发送一次心跳来进行服务的续约,通过服务的续约来告知Server客户端没有出现故障。如果server在90秒内没有收到Client的心跳,从注册列表中将其剔除。 Fetch Registries--获取服务的注册列表信息:Client从Server获取服务的注册列表信...原创 2019-06-01 14:56:03 · 157 阅读 · 0 评论 -
SpringCloud--03负载均衡Ribbon
1.Ribbon 常见的负载均衡方式,一种是独立进程单元,通过负载均衡策略,将请求转发到不同的执行单元上,例如Nginx,代理服务器接收用户的请求,再转发给真实服务器,之后再返回给代理服务器再给用户,在这个过程中,用户并不知道真实服务器的存在。 而Ribbon他是将负载均衡逻辑以代码的形式,封装到服务消费者的客户端上,并...原创 2019-06-02 11:00:37 · 157 阅读 · 0 评论 -
SpringCloud--04声明式调用Feign
1.Feign Feign采用了声明式API接口的风格,将java Http客户端绑定到他的内部,Fegin的首要目标是将java Http客户端的调用过程变得简单,工程项目基于上一节的内容新建一个Model模块,继承了父依赖,eureka的客户端 起步依赖,Feign的起步依赖,Web的起步依赖,和测试的起步依赖。pom文件如下:<?xml version="1.0...原创 2019-06-12 15:46:44 · 259 阅读 · 0 评论 -
SpringCloud--06路由网关zuul
1.为什么需要zuul zuul可以和Eibbon相结合,将请求的流量按照某种策略分发到集群状态的多个服务实例。 网关将所有服务的API接口统一,统一对外暴露。 网关服务可以做用户身份认证和权限认证。 可以对流量进行监控,实现服务的降级处理2.zuul的工作原理 zuul是用servlet实现的,zuul的核心是一系列的过滤器,zuul的功能都...原创 2019-06-16 16:06:35 · 269 阅读 · 0 评论 -
SpringCloud--07配置中心Config
1.工作流程 配置中心就是将配置统一管理,这个配置可以统一到本地文件,也可以统一到Git仓库。 config-client从config-server获取了foo的属性,而config-server是从git仓库读取的,如图: 2.读取本地的配置文件 首先创建一...原创 2019-06-18 10:57:35 · 201 阅读 · 0 评论 -
SpringCloud--09服务链路追踪Sleuth
1.为什么需要Spring Cloud Sleuth 一个微服务系统往往有多个服务单元,由于服务单元数量众多,业务的复杂性较高,如果出现了错误和异常,很难去定位,所以在分布式架构中必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的。 常见的链路追踪组建有Google的Dapper,Twitter的Zipkin,以及阿里的鹰眼。 本博客主要讲述...原创 2019-09-03 22:34:30 · 509 阅读 · 0 评论 -
SpringCloud--10微服务监控Spring Boot Admin
1.Spring Boot AdminSpring Boot Admin是一个开源社区项目,用于管理和监控一个或者多个SpringBoot应用程序,Spring Boot Admin分为Server端和Client端,Client端可以通过HTTP向Server注册,也可以结合Spring Cloud的服务注册组件Eureka进行注册。2.使用Spring Boot Admin监控Sp...原创 2019-07-28 23:20:47 · 143 阅读 · 0 评论 -
SpringCloud--11微服务保护系统Spring Cloud OAuth2
1.什么是Spring Cloud OAuth2 OAuth2博客:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth2是一个标准的授权协议,允许客户端通过认证和授权的形式来访问被其保护起来的资源。Spring OAuth2分为两个部分,一个是OAuth2 Provider 和OAuth2 Client。...原创 2019-08-08 22:49:56 · 964 阅读 · 0 评论 -
SpringCloud--01服务的注册与发现
1.微服务的特点 1.按业务划分为一个独立运行的程序 2.服务之间通过HTTP协议相互通信,这个通信机制和平台语言无关,通信的数据格式JSON,XML,还有比json更轻量的Protobuf ,是一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储。将数据序列化成 二进制数据,高效但是可读性差。HTTP协议通信...原创 2019-05-26 17:32:59 · 203 阅读 · 0 评论