基于SpringCloudGateway实现微服务网关
[#](#一-什么是微服务网关) (一)什么是微服务网关 {#一-什么是微服务网关} ------------------------------------------ 后端写完所有的微服务之后,最终是要交给前端去调用。我们都知道每个微服务都有各自的端口号,如果前端直接通过IP加端口的方式去调用微服务会很麻烦。如果想对请求增加限制也会变得十分困难。这个时候微服务网关就出现了...
[#](#一-什么是微服务网关) (一)什么是微服务网关 {#一-什么是微服务网关} ------------------------------------------ 后端写完所有的微服务之后,最终是要交给前端去调用。我们都知道每个微服务都有各自的端口号,如果前端直接通过IP加端口的方式去调用微服务会很麻烦。如果想对请求增加限制也会变得十分困难。这个时候微服务网关就出现了...
[#](#一-前言) (一)前言 {#一-前言} ------------------------ 在单体项目中,通过cookies和session就可以实现人员的认证。但是随着现在项目朝着分布式的方向发展,单体项目中的session认证方式似乎变得不可用了。以集群项目为例,我们会启动多个服务,而session是存在于执行当前服务的JVM中,所以访问第一个节点的认证信息是无法...
最近项目中需要用到dubbo,虽然我知道dubbo是一个RPC框架,但是没有去详细了解这个框架。既然项目要用,那就先把Dubbo的应用给学会,等熟练使用之后,再去了解Dubbo内部的原理。如果想要demo代码,直接联系我即可。 [#](#一-什么是dubbo) (一)什么是Dubbo {#一-什么是dubbo} --------------------------------...
[#](#一-前言) (一)前言 {#一-前言} ------------------------ 在前面一篇讲分布式session的时候,有读者问了一句用JWT不香吗,连Redis服务器都省了,又可以实现分布式环境下的人员信息认证。正好我也还没写过关于JWT的文章,刚好在项目中又用过这项技术,今天就来分享一下。还是一样,先理论后实践,有问题评论一起头脑风暴。 [#](#二...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,Spring Security主要做两个事情,认证、授权。我之前写过一篇关于SpringSecurity的博客,但是当时只是介绍了基于mock数据的案例,本期就来介绍一下基于真实数据的认证授权实现...
<p>[#](#一-前言) (一)前言 {#一-前言} ------------------------ 在之前的项目中只用到了SpringSecurity,后来发现公司的架构中有Oauth2,虽然自己在业务中没有过接触,但是觉得还是需要去了解一下,因此就有了这篇博客。本博客会从概念和简单的应用出发,讲解Oauth2的理论及实践,不涉及数据库等操作。 [#](#二-...
本文将介绍分布式任务调度系统:xxl-job,开源地址如下: 码云地址:https://gitee.com/xuxueli0323/xxl-job 文档地址:https://www.xuxueli.com/xxl-job/ [#](#一-定时任务的场景) (一)定时任务的场景 {#一-定时任务的场景} -----------------------------------...
[#](#一-什么是datax) (一)什么是Datax {#一-什么是datax} ------------------------------------------ 以前我做过一个项目,其中有个需求就是每天定时把sql server中的数据**同步**到Mysql中,当时写了一段Java的代码来实现,一套Java代码中需要写两个数据源的连接以及两套sql的代码,十分不方...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ DataX采用FrameWork+plugin的方式,插件只需关心数据的读取或者写入本身。而同步的共性问题,比如:类型转换、性能、统计,则交由框架来处理。在写插件前官方建议先看一遍开发文档。 Datax开发文档:https://github.com/alibaba/DataX...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 异常处理是一个系统最重要的环节,当一个项目变得很大的时候,异常处理和日志系统能让你快速定位到问题。对于用户或者接口调用者而言,优雅的异常处理可以让调用者快速知道问题所在。本文将介绍如何优雅地处理异常。 [#](#二-使用通用的返回体) (二)使用通用的返回体 {#二-使用通用...