SpringCloud
文章平均质量分 81
清欢Viki
别人欣赏的永远是你骄傲的样子。
展开
-
keepalive高可用
简介Keepalived是VRRP协议的实现,原生设计目的是高可用IPVS服务。此外,Keepalived能够根据配置文件的规则生成IPVS规则,并能够对各RealServer的健康状态进行检测。Keepalived的高可用功能是通过VRRP协议实现的,它的出现是为了解决静态路由单点故障的问题,当某一节点出现故障时,可以防止导致整个网络不可用。Keepalived除了可以高可用LVS之外,还可以作为其他系统网络服务(Nginx、Haproxy等)的高可用解决方案(Keepalived可通过调用vrr原创 2021-06-24 18:26:21 · 819 阅读 · 1 评论 -
Spring Cloud Hystrix
功能服务降级 优先核心服务,非核心服务弱可用或不可用 通过@HystrixCommand注解指定 fallackMethod(回退函数)中实现降级的逻辑 目标服务不可用--降级 本服务出现异常--也可以选择降级 服务熔断 某个服务的错误率到达一定阈值,切断服务 当断路器打开,服务不可用,休眠时间窗就开始计时,计时结束后,将熔断器设为半打开,尝试发一次请求,...原创 2020-02-19 18:25:02 · 193 阅读 · 1 评论 -
SpringCloud Zuul服务网关实操
鉴权接上篇来,写一个简单的鉴权请求必须携带token参数,若无token,则拒绝请求其中 filterType--过滤器类型,这里使用PRE_TYPE前置 filterOrder--过滤器顺序,数值越小优先级越高,这里放在前置数值(PRE_DECORATION_FILTER_ORDER)的前边 shouldFilter--填true run-...原创 2020-02-17 17:39:12 · 272 阅读 · 0 评论 -
SpringCloud Zuul服务网关简介
为什么要网关 客户端请求服务时,不可能与所有服务一一打交道,应统一请求网关,让网关去请求相关服务。网关的要素稳定性 高可用。一般启动多个zuul,都注册eureka来实现 性能,并发性。对于客户端的压力,不能轻易瘫痪,必须保证性能高,并发性高。 安全性 扩展性Zuul的特点路由 过滤器Zuul四种过滤器API前置(Pre) 限...原创 2020-02-16 20:32:23 · 277 阅读 · 0 评论 -
SpringCloud Stream操作消息队列
概述SpringCloud Stream是为微服务提供消息驱动能力的组件,使用就可以操作消息队列。应用程序通过input和output与stream的binder通信,而binder与消息中间件(MQ)通信。使用stream是对消息中间件的进一步封装,无视不同中间件的API,做到统一封装,可以做到代码层面的无感知,甚至动态切换中间件,不过只目前只支持RabbitMQ和kafka。集...原创 2020-02-15 19:15:21 · 1679 阅读 · 0 评论 -
RabbitMQ的基本使用
MQ的应用场景异步处理。比如注册,注册后会发送短信以及创建角色,这时候发送短信和创建角色可以异步进行,而不必等发送完短信之后再创建角色 流量削峰。若出现流量暴增的情况如秒杀,可能会导致应用响应过慢甚至瘫痪,这时候就加入消息队列。超过最大数量就抛弃请求,跳转到相应错误页面等。 日志处理。典型的是kafaka,采集日志定时存入消息队列,队列进行接收,储存和转发 应用解耦。比如下单服务需要查询...原创 2020-02-15 16:47:28 · 310 阅读 · 0 评论 -
SpringCloud Bus自动刷新配置
解决的问题为解决配置文件改变后,项目需要重启的问题使改变git中配置文件后,推送配置到相应项目,完成配置更新而不需要重启架构改造config的架构图,引入消息队列的使用(这里选择RabbitMQ)。git配置文件改变后,通过调用bus-refresh捷库推送到config server,config server将配置文件发送给消息队列,服务监听消息队列拿到对应配置,拉取完...原创 2020-02-11 21:19:12 · 607 阅读 · 0 评论 -
SpringCloud统一配置中心
必要性统一配置中心config是指,将所有服务的配置全部放到git中,config服务端拉取所有配置,其它服务从config服务端中拉取相应的服务。为什么需要配置中心呢?1.配置内容的安全性。一些比较重要的信息如数据库的账号密码,不会暴露给开发人员,就会放到配置中心。2.更新配置需要重启。一般项目配置更新后需要重启项目,而从config server刷新配置就可实时更新。架构...原创 2020-01-18 16:30:52 · 642 阅读 · 0 评论 -
SpringCloud注册与发现
必要性服务注册中心(我使用的是Eureka)是指,分布式系统中所有的服务都向注册中心注册,使服务之间可以进行便捷通信。分布式系统中,服务注册中心是最重要的基础部分。试想一下,若A服务想调用B服务的接口,单服务情况下,直接调用就可以了。但微服务中,某个服务往往是集群的,即同一个服务有多个。A想要找到诸多B服务中的可用的一个,若在A服务中一一调用是很不靠谱的做法,况且B服务的数量可能也会有...原创 2020-01-18 12:27:28 · 1690 阅读 · 0 评论 -
zuul过滤器的应用场景
前置(Pre)限流 时机:请求被转发之前 方式:令牌桶。发牌器向桶中添加令牌,桶满后丢弃不再添加。每个请求要从桶中取令牌,无法取得令牌便等待 鉴权 参数校验 请求转发后置(Post)统计 日志zuul高可用多个节点注册到Eureka Nginx和zuul混搭,外部请求Nginx做请求转发到zuul进行过滤...原创 2019-11-12 22:20:50 · 399 阅读 · 0 评论 -
SpringBoot config统一配置中心遇到的坑
问题描述将配置文件上传git,使用server端拉取后供client端使用,然而由于client端引用配置文件使用了数据库插件,启动时却报错Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.尝试解决本地...原创 2019-11-09 13:23:57 · 7275 阅读 · 1 评论 -
docker与微服务
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。比如你的mysql可以直接使用docker安装,其他项目借助docker都可以使用你的这个mysql,而不必因为版本和数据不同造成不必要的麻烦。docker与微服务是天生一对的,微服务使用docker的优点从环境开始,...原创 2019-11-07 12:55:33 · 464 阅读 · 0 评论