对于线上的生产环境,通常对其都是有很高的要求,其中,高可用是不可或缺的一部分。必须保证服务是可用的,才能保证系统更好的运行,这是业务稳定的保证。
高可用一般分为两种:客户端高可用
、服务端高可用
Spring Cloud 微服务(31) --- Spring Cloud Config(五)
Spring Cloud 微服务(30) --- Spring Cloud Config(四)
Spring Cloud 配置、高可用
Spring Cloud 微服务(29) --- Spring Cloud Config(三)
git 版 coofnig 配置、使用数据库实现配置中心
除了使用 git 作为配置文件的管理中心外,也可以使用关系型数据库、非关系型数据库实现配置中心,以及配置中心的扩展。包括:客户端自动刷新、客户端回退、安全认证、客户端高可用、服务端高可用等。
Spring Cloud 微服务(28) --- Spring Cloud Config(二)
刷新配置
刷新配置信息的方式有三种:手动刷新
、半自动刷新
、自动刷新
,其中,半自动刷新
利用的是 spring cloud bus
,自动刷新
利用的是 github、gitee、gitlab 等代码托管网站的 webhooks
Spring Cloud 微服务(27) --- Spring Cloud Config(一)
配置中心、实例
Spring Cloud Config 是 Spring Cloud 微服务体系中的配置中心,是微服务中不可或缺的一部分,其能够很好的将程序中配置日益增多的各种功能的开关、参数的配置、服务器的地址等配置修改后实时生效、灰度发布,分环境、分集群管理配置等进行全面的集中化管理,有利于系统的配置管理、维护。
Spring Cloud 微服务(26) --- Zuul(七)
Zuul 优化、Zuul 工作原理
Zuul 作为一个网关中间件,需要应付各种复杂场景,整合的组件非常繁杂。在受益于其丰富的功能时,也需要面对很多问题。如:与上层负载均衡器(Nginx等)、性能、调优等。
Spring Cloud 微服务(25) --- Zuul(六)
Zuul 文件上传、使用技巧
之前在 https://www.laiyy.top/java/2019/01-24/spring-cloud-10.html
介绍了使用 Feign 做文件上传的操作,使用 Zuul 做文件上传,实际上是在 feign 调用之外增加了一层 zuul 路由。
Spring Cloud 微服务(24) --- Zuul(五)
动态路由、灰度发布
在了解了动态路由的改造原理、方式后,就可以自实现一个小 demo。可以使用 mysql 作为持久化方式,目的是方面、易于管理。
Spring Cloud 微服务(23) --- Zuul(四)
限流、动态路由概念
之前利用 Hystrix,通过熔断器实现了通过某个阈值来对异常流量进行降级处理
。除了对异常流量进行降级之外,还可以通过 流量排队
、限流
、分流
等操作,防止系统出错。
Spring Cloud 微服务(22) --- Zuul(三)
Zuul 权限集成
在原本的单体应用中,通常使用 Apache Shiro、Spring Security 等权限框架,但是在 Spring Cloud 中,面对成千上万的微服务,而且每个服务之间无状态,使用 Shiro、Security 难免力不从心。在解决方案的选择上,传统的单点登录SSO、分布式 session 等,要么致使权限服务器集中化,导致流量臃肿,要么需要实现一套复杂的存储同步机制,都不是最好的解决方案。