SpringCloud
微服务一站式开发
T
这个作者很懒,什么都没留下…
展开
-
SpringCloud-Alibaba-Seata分布式事务
前言Seata 是一款阿里巴巴开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。官方文档https://seata.io/zh-cn/docs/overview/what-is-seata.html示例 win版下载安装https://github.com/seata/s原创 2020-12-14 21:29:31 · 23926 阅读 · 46 评论 -
SpringCloud-Alibaba-Sentinel-配置持久化策略
前言:Sentinel的如果没有配置持久化的话配置一些 流控 和服务降级 从启项目就会置空所以需要持久化的操作动态规则扩展拉模式:客户端主动向某个规则管理中心定期轮询拉取规则,这个规则中心可以是 RDBMS、文件,甚至是 VCS 等。这样做的方式是简单,缺点是无法及时获取变更;推模式:规则中心统一推送,客户端通过注册监听器的方式时刻监听变化,比如使用 Nacos、Zookeeper 等配置中心。这种方式有更好的实时性和一致性保证案例用Nacos步奏:pom添加nacos 对sentinel管原创 2020-12-23 16:25:45 · 12421 阅读 · 64 评论 -
SpringCloud-Alibaba-Sentinel-服务降级-热点限流-服务熔断
前言:除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用熔断策略Sentinel 提供原创 2020-12-01 21:34:22 · 120927 阅读 · 24 评论 -
SpringCloud-Alibaba-Sentinel-分布式系统的流量防卫兵与流量监控-入门
前言:Sentinel:分布式系统的流量防卫兵随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到原创 2020-11-30 22:45:53 · 126089 阅读 · 53 评论 -
SpringCloud-Alibaba-Nacos集群 使用 Linux部署-以及踩得坑
Nacos集群为了高可用官网https://nacos.io/zh-cn/docs/cluster-mode-quick-start.htmlNacos持久化,Nacos 默认自带的是嵌入式数据库derby所以要统一用一个数据库 现在支持Mysql官方已经准备好了sql点进去复制出来运行就行了或者在下载win版的nacos也有Sql文件nacos\nacos\conf目录下nacos-mysql.sql脚本穿件数据库运行sql就行下一步修改application.properti原创 2020-11-27 16:15:04 · 16995 阅读 · 38 评论 -
SpringCloud-Alibaba-Nacos服务注册和配置中心--一篇入门
前言:前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心Nacos 有自己独立的,注册和配置 服务端。不像Eureka我还得去起服务端才能注册。Nacos = Eureka+Config+Bus下载地址:https://nacos.io/zh-cn/index.html下载解压:启动D:\work\nacos\nacos\bin双击startup.cmd启动成功访问ht原创 2020-11-19 23:09:11 · 101347 阅读 · 61 评论 -
SpringCloud-Sleuth分布式请求链路跟踪
前言:在微服框架中,一个有客户端发起的请求在后端系统中会经过不同的服务节点调用来协同生产最后的请求结果,每一个前段的请求都会形成一条复杂的分布式服务调用链路,链路中任何一环出现错误都会导致请求失败Sleuth在分布式系统中提供了追踪解决方案并兼容支持了ziokin 可视化界面工作原理Trace类似 于树结构的span集合,表示一条调用链路,存在唯一标识span:表示调用 链路来源ziokin :下载地址http://dl.bintray.com/openzipkin/maven/io/zipkin原创 2020-11-18 21:49:18 · 13274 阅读 · 0 评论 -
SpringCloud-Stream-消息驱动
简介:SpringCloud-Stream 官方定义SpringCloud-Stream是一个构建消息驱动的微服务框架,应用程序通过,inputs 或者ouputs来与SpringCloud-Stream的binder对象负责与消息中间件交互,所以只需知道怎么和SpringCloud-Stream交互就可以方便的使用消息驱动的方式、通过使用 SpringCloud-Stream来连接信息代理中间件以实现消息驱动,SpringCloud-Stream为一些应用商的消息中间件,提供了个性化的自动化配置实现 ,原创 2020-11-16 22:50:46 · 2289 阅读 · 31 评论 -
SpringCloud-Gateway二代网关
简介:SpringCloud Gateway的是SpringCloud的一个全新的项目,基于Spring 5.0 加SpringBoot2.0和Project Reactor等技术开发的网关,他只在为微服务架构提供一种简单有效的API路由管理方式SpringCloud Gateway作为SpringCloud 生态系统中的网关,目标是替代了Zull,在SpringCloud 2.0以上的版本中,没有对新版本的Zull 2.0以上最新高性能版本进行集成,任然还是使用Zuul 1.X非Reaceor模式的老原创 2020-11-10 23:42:09 · 5033 阅读 · 23 评论 -
SpringCloud-openFeign
openFeign和Feign什么是FeignFeign 是一个声明式的我web服务客户端,使得编写web服务客户端变得非常容易 只要 创建一个 接口就行,然后后面加上注解 就可以feignFeign 只在使编写java Http 客户端变得更容易前面在使用 Ribbon +RsetTemplate时利用RsetTemplate对Http请求的封装处理,形成了一套模板化的调用方法,但是在实际 开发中,由于对服务依赖的调用可能不止一个,往往一个接口会被多处调用,所以通常会针对 每一为服务自行封装一些原创 2020-11-09 15:48:32 · 88907 阅读 · 0 评论 -
SpringCloud使用Consul做注册中心
简介:Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品.一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ,Consul 提供了微服务中服务注册发现注册,微服务中的分布式配置中心,可以单独使用,也可以一块使用原创 2020-11-06 13:33:33 · 37054 阅读 · 47 评论 -
SpringCloud用zookeeper做注册中心
zookeeper做cloud的注册中心 ,添加zookeeper整合cloud的依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> <!--先排除自带的zooke原创 2020-11-05 22:13:08 · 802 阅读 · 0 评论 -
2020-在谈Eureka
在2020年再次使用 Eureka 其实这个组件已经停止更新但是,很多企业还在用 Eureka作为服务注册中心,Spring Cloud 封装了 Netflix 公司开发的Eureka模块来实现服务的管理,现在的Eureka两个组件,一个是eureka-server就是注册中心 另一个是 eureka-client 就是客户端注册到 注册中心,客户端同事具备了一个内置的,使用轮询(round-robin)负载算法的负载均衡器,在应用启动后,将会向eurekaserver发送心跳,默认周期是30秒,如果e原创 2020-11-04 16:47:03 · 917 阅读 · 0 评论 -
SpringCloud-Hystrix服务降级
服务降级处理 就服务高并发的时候来关闭一些服务来应对 某一个 服务 在 之后在恢复回来降级处理是在客户端实现的,与服务端没有关系 服务降级和spring的Aop 切面 里的通知 类似1)UserServiceFeign这个是公共的 消费者调用的 ,实现FallbackFactory的类下面UserServiceFallback会用到这个** @FeignClient(value = ...原创 2019-04-22 20:02:44 · 1555 阅读 · 0 评论 -
Eureka 和 Zookeeper的区别
前言在分布式事务 中只能 支持 两种事务CAP理论的核心是:一个分布式系统不可能完全 满足三个 需求 因此根据 CAP原理根据 NoSql数据库分成了满足CA原则,满足CP原则,满足AP 原则 三大类CA-单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大CP-满足一致性,分区容错性,通常性能不太高AP-满足可用性,分区容错性,通常可能对一致性要求低一些Zookeeper ...原创 2019-05-10 17:17:34 · 4757 阅读 · 0 评论 -
SpringCloud--组件介绍与实现概念
Eureka 和 zookeeper 的区别负载均衡spring cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端 负载均衡的工具简单的说 Ribbon 是Netflix 发布的开源的项目 主要功能就是提供客户端的软件负载均衡算法 将Netflix的中间层服务连接在一起 Ribbon 客户组件提供一系列完善的配置项如 连接超时 重试等 简单的说就是...原创 2020-06-22 11:40:06 · 4127 阅读 · 27 评论 -
SpringCloud-Ribbon--负载均衡--搭建(5)
负载均衡spring cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端 负载均衡的工具简单的说 Ribbon 是Netflix 发布的开源的项目 主要功能就是提供客户端的软件负载均衡算法 将Netflix的中间层服务连接在一起 Ribbon 客户组件提供一系列完善的配置项如 连接超时 重试等 简单的说就是在配置 文件中列出 Load Balancer (简称 LB...原创 2019-04-18 00:42:18 · 7554 阅读 · 0 评论 -
SpringCloud--Feign负载均衡(6)
什么是FeignFeign 是一个声明式的我web服务客户端,使得编写web服务客户端变得非常容易 只要 创建一个 接口就行,然后后面加上注解 就可以feignFeign 只在使编写java Http 客户端变得更容易前面在使用 Ribbon +RsetTemplate时利用RsetTemplate对Http请求的封装处理,形成了一套模板化的调用方法,但是在实际 开发中,由于对服务依赖的调...原创 2019-04-19 20:01:39 · 275 阅读 · 0 评论 -
SpringCloud-Hystrix熔断器(7)
简介:Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会条用失败,比如超时,异常等。Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障以 提高分布式的弹性熔断器 本身是一种开关装置,当某个服务单元发生故障之后,通过熔断器的故障监控(类似与保险丝)向调用方返回一个符合预期的,可处理的备选响应(Fall Back)而不是...原创 2019-04-20 14:33:29 · 342 阅读 · 0 评论 -
SpringCloud简介与简单---微服务开发搭建(提供者与消费者)(1)
简介:Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。springc...原创 2019-04-10 20:26:07 · 127418 阅读 · 0 评论 -
springCloud--configServer 分布式配置中心项目中使用(10-2)
前提:applicaiton.yml是用户级的资源配置项bootstrap.yml 是系统级别的,优先级更高SpringCloud 会 创建一个Bootstrap Context,作为spring应用的Applicaiton Context,的父上下文,初始化的时候Bootstrap Context负责从外部源加载配置属性并解析配置 ,这两个上下文共享一个从外部获取 Environment,...原创 2019-04-25 21:19:14 · 712 阅读 · 29 评论 -
SringCloud-Eureka注册--完善-自我保护机制---实现注册(2)
Eureka是什么Eureka是Netflix的一个子模块 ,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间服务发现和故障转移。服务注册于发现对于微服务架构来说是非常重要的,有了服务发现与注册 ,只需要使用服务的标识,就可以访问到服务,而不需要修改服务调用的配置文件 功能功能类似于 Dubbo 的注册中心 不能入zookeeperSpring Clou...原创 2019-04-16 23:25:50 · 1658 阅读 · 25 评论 -
SpringCloud-Eureka服务发现(3)
服务发现就是 让消费者能够访问。就是对于注册eureka里面的为服务 ,可以通过服务发现来获得该服务信息案列:首先在 提供者的8083里的controller添加 服务发现接口注意 private DiscoveryClient client; 不要倒错包package com.xxx.controller;import java.util.List;import org....原创 2019-04-17 11:52:07 · 7066 阅读 · 0 评论 -
SpringCloud -Eureka集群(4)
集群顾名思义 就是有多个 eureka +组成的一个集群搭建集群首先 我已经搭建好了 一个 端口 为 7001的 Eureka 注册心下面来在创建2个1)这个和以前构建一样同样的步骤在构建以microservicecloud-eureka-7003它们三个的 pom 文件是一样的<dependencies> <!--eureka-server服务...原创 2019-04-17 15:57:13 · 704 阅读 · 0 评论 -
SpringCloud---HystrixDashboard 使用(8)
除了隔离依赖服务的调用以外,Hystrix还提供了准实时的监控(Hystrix Dashboard)Hystrix会持续记录所有通过Hystrix发起的请求的执行信息并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等,Netflix通过一个项目实现监控,springcloud也提供了Hystrix Dashboard 的整合,对监控内容转化成可视化界面创建一 个 Das...原创 2019-04-23 10:50:49 · 521 阅读 · 1 评论 -
SpringCloud---Zuul路由网关(9)
zuul包含了对外请求的路由和过滤两个最要的功能其中路由功能负责将外部的请求转发到具体的微服务实例上,是实现外部访问统一入口基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合功能的基础Zuul和eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获取到其他的微服务的消息,也即以后的访问微服务都是通过 Zuul跳后获得Zuul还是会注...原创 2019-04-23 15:31:04 · 278 阅读 · 0 评论 -
SpringCloud----Config分布式配置中心与实现(10-1)
微服务意味着将单体应用中的业务拆分成一个个子服务,没个服务的粒度相对较小,以此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。springcloud提供ConfigServer来解决这个问题SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境 提供 一个中...原创 2019-04-25 17:20:05 · 1319 阅读 · 0 评论 -
解决---freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:Tip:
这个是在搭建cloud+boot…+mybatis…+freemarker.模板 报错的错这个错 说的是找不到 或者空数据freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:==> user [in template "user.ftl" at line ...原创 2019-04-10 20:43:44 · 10953 阅读 · 0 评论