微服务
文章平均质量分 92
学习微服务的笔记
秀聚
学无止境
展开
-
Springboot、Spring Cloud Alibaba、 Spring Cloud 的版本对照
版本对照图:源地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明原创 2020-12-01 16:13:56 · 125 阅读 · 0 评论 -
1.系统架构的演变:从单体到微服务
系统架构的演变:从单体到微服务目录系统架构的演变:从单体到微服务1. 单题应用架构2. 垂直应用架构3. 分布式架构SOA 架构5. 微服务架构从互联网开始发展,到现在为止,网站应用的规模在不断的扩大,现在又进入了大数据的时代,网站规模只会越来越大,也就导致了系统架构的不断变化。有了问题才会想要改变原有的结构。系统架构到目前为止大致经历了以下几个过程:单体应用架构垂直应用架构分布式架构SOA架构微服务架构当然还有悄然兴起的 Service Mesh(服务网格化,有兴趣可以参考一下:ht原创 2020-12-01 18:26:55 · 303 阅读 · 0 评论 -
2. 微服务架构的问题:管理问题,通信问题,访问问题...
微服务,简单来说就是微小的服务,将一个应用拆封成为一个一个的更小的服务,每一个服务都是一个可以独立运行的项目。目录1. 微服务架构的常见问题相应的组件1. 服务治理:解决管理问题2. 服务调用:解决服务通信问题3. 服务网关: 解决客户端访问问题4. 服务容错:解决自处理问题5. 链路追踪:找到出现问题的地方1. 微服务架构的常见问题采用微服务架构之后,会产生这么几个问题:这么多微服务,如何管理?这么多微服务,都是独立的,他们如何通信?这么多微服务,客户端要怎么访问呢?记住每一个服务的网址吗?原创 2020-12-01 20:03:29 · 215 阅读 · 0 评论 -
3.nacos作为注册中心,将服务注册到nacos中
目录1. 安装 nacos2. 将服务注册到 nacos3. 调用远程服务1. 安装 nacos下载下载地址:https://github.com/alibaba/nacos/releases 快速开始教程地址: https://nacos.io/zh-cn/docs/quick-start.html启动nacos:1.进入nacos解压后的bin目录2.执行命令: startup.cmd -m standalone访问 nacas在浏览器输入http://localho原创 2020-12-02 16:58:16 · 2590 阅读 · 1 评论 -
4. 使用Ribbon实现客户端负载均衡,接上一篇:将服务注册到nacos中
接上一篇:3.将服务注册到nacos中文章目录什么是负载均衡基于 Ribbon 实现负载均衡1. Ribbon 简介2. Ribbon 的主要作用3. 使用4. 负载均衡策略什么是负载均衡通常来说,负载均衡就是将负载平衡到多个节点上百度百科-负载均衡根据负载均衡发生的位置可以分为: 服务器端负载均衡 和 客户端负载均衡两种负载均衡的解释基于 Ribbon 实现负载均衡1. Ribbon 简介Rabbon 是 Netflix 发布的一个负载均衡器,有助于控制 HTTP 和 TCP客户端行为原创 2020-12-02 21:26:32 · 329 阅读 · 0 评论 -
5.使用openfeign调用远程服务
文章目录1. openfeign简介2. 使用openfeign1. 引入相关依赖2. 创建feign接口3. 在主启动类上开启feign注解4. 在调用feign接口处,使用自动注入1. openfeign简介OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。2. 使用openfeign1. 引入相关依赖在使用原创 2020-12-02 22:23:41 · 975 阅读 · 0 评论 -
6.Eureka注册中心,服务搭建(单机)
文章目录Eureka介绍EurekaServer搭建1. 新建model2. 修改pom文件3. 修改yml文件4. 修改主启动类5. 在浏览器输入测试2. 将服务注册到 EurekaServer中1. pom文件2. yml文件3. 主启动类4. 在浏览器查看是否注册成功Eureka介绍Eureka是一个基于REST的服务,主要用于AWS云中的定位服务,以实现中间层服务器的负载平衡和故障转移在 Spring Cloud 微服务架构中通常用作注册中心我们称这个服务为 Eureka Server,还有原创 2020-12-04 16:05:33 · 104 阅读 · 0 评论 -
7. Sentinel的配置及简单使用
中文官网文档:中文官方文档GitHub控制台jar文件下载地址:https://github.com/alibaba/Sentinel/releases文章目录配置控制台1. 下载并运行sentinel的jar文件2. 测试配置客户端简单使用1. pom文件2. yml 文件3. 在sentinel控制台配置规则配置控制台1. 下载并运行sentinel的jar文件点击上边链接,下载控制台jar文件下载完成之后,使用cmd控制台进入jar文件所在的文件夹,然后执行以下命令运行sentinel控制原创 2020-12-04 16:59:12 · 3114 阅读 · 0 评论 -
8. sentinel的限流,降级简单说明
文章目录流控降级流控流控的控制在 “簇点链路” 目录下模式说明QPS: 控制每秒的访问量线程数: 控制每秒访问的线程数量高级中的:直接:直接对该资源生效关联:当被关联的资源达到阈值,限制当前资源。也就是说,当关联资源达到阈值,就限流自己。链路:当从某个接口过来的资源达到限流条件时,开启限流。降级新增降级规则熔断策略:慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应原创 2020-12-04 18:31:03 · 789 阅读 · 1 评论 -
9.Hystrix服务搭建:服务熔断,超时设置,搭建控制台(DashBoard)
文章目录Hystrix 简介2. 实现服务熔断1. Rest实现服务熔断1. pom文件2. 修改主启动类3. 修改业务4. 默认Fallback5. 超时时长设置2. Feign 方式实现熔断1. pom文件2. yml文件3. 主启动类4. 写业务1. 编写 Feign 接口2. 写实现类3.搭建 Hystrix 的DashBoard控制台1. pom文件2. yml 文件3. 修改启动类4. 测试访问说在前边:这里pom文件中统一没有添加版本号,是因为在父项目中规定了对应的版本号。父项目中规定的版原创 2020-12-04 21:12:44 · 1116 阅读 · 1 评论 -
10.使用gateway作为服务网关的简单配置
文章目录gateway 简介1. gateway 的简单配置使用1. 入门配置1. 新建Model2. 修改pom文件3. 配置yml文件4. 启动类5. 测试是否成功2. 结合注册中心使用gateway1. pom文件2. yml文件3. 测试是否成功3. 简化版配置1. yml 文件2. 测试是否成功gateway 简介Spring Cloud Gateway是Spring Cloud体系的第二代网关组件,基于Spring 5.0的新特性WebFlux进行开发,底层网络通信框架使用的是Netty,所原创 2020-12-05 16:04:53 · 12438 阅读 · 2 评论 -
11.gateway执行流程
文章目录1. gateway的执行流程1. gateway的执行流程路由(Route) 是 gateway 中最基本的组件之一,表示一个具体的路由信息载体。主要定义了下面的几个信息:id,路由标识符,区别于其他 Route。uri,路由指向的目的地 uri,即客户端请求最终被转发到的微服务。order,用于多个 Route 之间的排序,数值越小排序越靠前,匹配优先级越高。predicate,断言的作用是进行条件判断,只有断言都返回真,才会真正的执行路由。filter,过滤器用于修改请求和响应原创 2020-12-05 17:53:09 · 1874 阅读 · 0 评论 -
12.gateway中的断言(predicate)的使用:内置断言介绍、自定义断言
文章目录内置断言工厂1.基于Datetime类型的断言工厂2. 基于远程地址的断言工厂3. 基于Cookie的断言工厂4. 基于Header的断言工厂5.基于Host的断言工厂6.基于Method请求方法的断言工厂7.基于Path请求路径的断言工厂8.基于Query请求参数的断言工厂9.基于路由权重的断言工厂自定义路由断言工厂1.定义一个断言工厂,实现断言方法2. 在yml中使用自定义断言Predicate(断言, 谓词) 用于进行条件判断,只有断言都返回真,才会真正的执行路由。断言就是说: 在 什么条原创 2020-12-05 22:21:37 · 5533 阅读 · 0 评论 -
13.gateway中的过滤器的介绍以及自定义过滤器
文章目录gateway中的过滤器的生命周期:局部过滤器全局过滤器内置全局过滤器自定以全局过滤器gateway中的过滤器的生命周期:pre: 这种过滤器在请求被路由之前调用,可以利用这种过滤器完成身份认证、在集群中选择微服务完成客户端负载均衡、记录调试信息等post: 这种过滤器在路由到微服务返回消息后执行,这种过滤器可以为将响应从微服务发送给客户端,收集统计信息和指标等局部过滤器局部过滤器只是针对单个路由的过滤器在SpringCloud Gateway中内置了很多不同类型的网关路由过滤器。原创 2020-12-05 23:48:35 · 659 阅读 · 0 评论 -
14.Sleuth + Zipkin搭建链路追踪服务
文章目录Sleuth1. Sleuth介绍2. Sleuth 入门Sleuth1. Sleuth介绍SpringCloud Sleuth主要功能就是在分布式系统中提供追踪解决方案。它大量借用了Google Dapper的设计, 先来了解一下Sleuth中的术语和相关概念。主要有三个术语:Trace、Span、AnnotationTrace :由一组Trace Id(贯穿整个链路)相同的Span串联形成一个树状结构。为了实现请求跟踪,当请求到达分布式系统的入口端点时,只需要服务跟踪框架为该请求创原创 2020-12-08 07:24:08 · 245 阅读 · 1 评论 -
15.Nacos Cofig 服务配置中心
文章目录配置中心介绍Nacos Config1. nacos config 入门1. 搭建服务端2. 搭建nacos config客户端2. Nacos Config 深入1. 配置动态刷新2. 配置共享3. nacos 的几个概念配置中心介绍微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境原创 2020-12-09 00:05:51 · 94 阅读 · 0 评论 -
16.分布式事务管理seata的配置和使用
文章目录1. 分布式事务的问题2. Seata 的分布式事务的简介1. Seata 是什么?2. Seata 的执行流程?Seata-Server 安装Seata 客户端使用项目中使用先说一下分布式事务的问题吧!1. 分布式事务的问题分布式分成一个一个的模块,每个模块就是一个独立的应用,每一个应用可能使用的数据库都是不同的,这时候如果每个服务内部都由本地事务来保证,但是全局的数据一致性没有办法保证。例如:这时候可能会发生的事情是:Order 调用了 Storage ,Storage没有问题,事原创 2020-12-09 00:06:56 · 696 阅读 · 0 评论 -
17. Swagger2 的 简单配置使用
1. 导入jar文件<dependency> <groupId>io.github.jianzhichun</groupId> <artifactId>spring-boot-starter-swagger2</artifactId> <version>0.0.1</version></dependency>2. 创建一个配置类@Configurationpublic clas原创 2020-12-09 00:07:22 · 220 阅读 · 0 评论