摘要:
前言 最近公司的项目是基于 数据库的,这里记录下 的踩坑过程。 开发前准备 环境参数 开发工具:IDEA 基础工具:Maven+JDK8 所用技术:SpringBoot+Mybatis+Oracle 数据库:MySQL5.7 SpringBoot 版本:2.2.6.RELEASE Mybatis 版 阅读全文
摘要:
概述 限流 :网关上有大量请求,对指定服务进行限流,可以很大程度上提高服务的可用性与稳定性,限流的目的是通过对并发访问/请求进行限速,或对一个时间窗口内的请求进行限速来保护系统。一旦达到限制速率则可以拒绝服务、排队或等待、降级。 在 Spring Cloud Gateway 中,有 ,因此可以在 类 阅读全文
摘要:
前言 本文主要研究一下 spring cloud gateway 如何集成 hystrix。 当下游接口负载很大,或者接口不通等其他原因导致超时,如果接口不熔断的话将会影响到下游接口得不到喘息,网关也会因为超时连接一直挂起,很可能因为一个子系统的问题导致整个系统的雪崩。所以我们的网关需要设计熔断,当 阅读全文
摘要:
概述 线上项目发布一般有以下几种方案: 1. 停机发布 2. 蓝绿部署 3. 滚动部署 4. 灰度发布 停机发布 这种发布一般在夜里或者进行大版本升级的时候发布,因为需要停机,所以现在大家都在研究 方案。 蓝绿部署 需要准备两个相同的环境。一个环境新版本,一个环境旧版本,通过负载均衡进行切换与回滚, 阅读全文
摘要:
为什么引入 API 网关 使用 API 网关后的优点如下: 易于监控。可以在网关收集监控数据并将其推送到外部系统进行分析。 易于认证。可以在网关上进行认证,然后再将请求转发到后端的微服务,而无须在每个微服务中进行认证。 减少了客户端与各个微服务之间的交互次数。 基本环境见 "spring cloud 阅读全文
摘要:
概述 要想学习 , 入门便是学习官方的示例。下边我将基于官方的 demo 做一遍流程,考虑自己的业务该如何基于 设计逻辑。 工作流要素: 流程 表单 用户 有了以上 3 大要素,流程便可以流转。 表单绑定在流程节点上,用来输入当前流程信息 用户绑定在流程节点上,用来处理当前流程任务 下载安装 首先到 阅读全文
摘要:
概述 这里是 实践的第一篇,主要讲过滤器的相关实现。Spring Cloud Gateway 是以 为基础的响应式架构设计, 是异步非阻塞式的,它能够充分利用多核 CPU 的硬件资源去处理大量的并发请求。 本篇将基于 "spring cloud gateway 简介" 基础环境进行改造。 工作原理 阅读全文
摘要:
概述 API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求。如果让客户端直接与各个微服务通信,会有以下的问题: 1. 客户端会多次请求不同的微服务,增加了客户端的复杂性。 2. 存在跨域请求,在一定场景下处理相对复杂 阅读全文
摘要:
1. 概述 策略模式(Strategy Pattern)是比较典型的对象行为型模式,它是将对处理对象的一系列不同算法都单独抽离出来,单独封装成一个个类。策略的出现,主要是为了解决不同算法替换时的逻辑判断, 将逻辑判断移到 Client 中去(即由客户端自己决定在什么情况下使用什么具体策略) 。 2. 阅读全文
摘要:
1. 概述 接上一篇 "学习 ConcurrentHashMap1.8 并发写机制" , 本文主要学习 的实现原理。 虽然 在生产环境已逐渐被 替代,然而一些好的思想还是需要进行学习的。比方说位图中寻找 位的思路是不是和 有点相似? 接下来,本文基于 来做源码解析。 2. ConcurrentHas 阅读全文