【dubbo】使用IDEA搭建简单的dubbo项目
1.dubbo_demo:
pom.xml文件:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&qu ...
一个项目的SpringCloud微服务改造过程
SSO是公司一个已经存在了若干年的项目,后端采用SpringMVC、MyBatis,数据库使用MySQL,前端展示使用Freemark。今年,我们对该项目进行了一次革命性的改进,将其改造成Spring Cloud架构,并且把前后端分离,前端采用Vue框架。
一、使用SpringCloud架构进行改造
1.1 为什么使用Spring Cloud
Spring Cloud的核心是Spring Boot,相比较于传统的Spring,Spring Cloud具有以下优点:
部署简单,Spring Boot内置了Tomcat容器,可以将程序直接编译成一个jar,通过java-jar来运行。
编码简单,Spring Boot只需要在pom文件中添加一个starter-web依赖,即可帮助开发者快速启动一个Web容器,非常方便。
配置简单,Spring Boot可以通过简单的注解方式来代替原先Spring非常复杂的xml方式。如果我想把一个普通的类交给Spring管理,只需要添加@Configuration和@Bean两个注解即可。
监控简单,我们可以引入spring-boot-start-act ...
三种负载均衡 Nginx、Dubbo、Ribbon 区别
描述1.Dubbo负载均衡:支持4种(随机,轮循,最少活跃,hash),引入了JVM预热时间加权、权重自定义配置的规则,同时支持控制台动态配置权重值参数,所以是最灵活的。
2.Nginx负载均衡:支持4种,自带 轮询(支持权重)、IP_Hash(避免Session共享的问题)、最少连接数策略,可以扩展fair(响应时间)策略,更专注于功能。
3.Ribbon负载均衡:支持6种,不支持权重:轮询、随机、最少连接数、最短响应时间(随机+响应时间加权)、过滤异常节点+轮询,负载策略最全的
Dubbo 负载均衡(2.6.x)Dubbo提供4种负载均衡算法,引入了JVM预热时间加权、权重自定义配置的规则,同时支持控制台动态配置权重值参数,所以最灵活。
Random LoadBalance:按照权重随机分配Provider,比如随机且权重Node1:Node2= 2:1,那么运行30次,大约有20次在Node1上,10次在Node2上。
RoundRobin LoadBalance:按照权重轮询分配。比如权重Node1:Node2= 20:10,那么运行30次:前20次里面轮询Node1和Nod ...
使用idea创建springcloud项目(入门)
刚使用idea,并且刚入门springcloud,所以知识很初级,记录一下过程。本文主要参考(链接)
父模块springcloud的创建
File-New-Project 选择maven-next
填写groupId和artifaceId
继续next-finish项目创建完成如图(src目录删除)
接下来创建子模块
选中父项目(springcloud)右键,new-moudle-spring initializr
选择eureka server
子模块生成,添加enableEurekaServer注解
下面是eureka的application.properties(从网上找的,具体还不太清除)
server.port=8002
spring.application.name=eureka1
#实例名称 名字可以自己定
eureka.instance.hostname=eureka1
#eureka client 信息是否被其他eureka client 发现它的信息
eureka.client.register-with-eureka=false
#此客户端是否应该从e ...
使用springboot结合vue实现sso单点登录
本文实例为大家分享了springboot vue实现sso单点登录的具体代码,供大家参考,具体内容如下
项目结构:
开发工具:idea, maven3静态文件下载地址
1.pom文件:
123456789101112131415161718192021222324252627282930313233343536373839404142<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0< ...
《分布式单点登录框架XXL-SSO》
目录
《分布式单点登录框架XXL-SSO》
一、简介
[1.1 概述](https://www.xuxueli.com/xxl-sso/#1.1 概述)
[1.2 社区交流](https://www.xuxueli.com/xxl-sso/#1.2 社区交流)
[1.3 特性](https://www.xuxueli.com/xxl-sso/#1.3 特性)
[1.4 发展](https://www.xuxueli.com/xxl-sso/#1.4 发展)
1.5 下载
文档地址
源码仓库地址
[1.6 环境](https://www.xuxueli.com/xxl-sso/#1.6 环境)
二、快速入门(基于Cookie)
2.1:源码编译
2.2 部署 “认证中心(SSO Server)”
配置说明
2.3 部署 “单点登陆Client端接入示例项目”
maven依赖
[配置 XxlSsoFilter](https://www.xuxueli.com/xxl-sso/#配置 XxlSsoFilter)
配置说明
[2.4 验证](https://www.xuxue ...
前后端分离实现Cas单点登录
前后端分离实现单点登录
环境介绍
会遇到的问题
问题解决
需要注意的点
环境介绍前端vue单独部署 后端springboot单独部署
会遇到的问题跨域cas认证失败无法重定向,前端302无法捕捉。
问题解决1、跨域直接上代码。
12345678910111213141516171819202122232425import org.springframework.context.annotation.Configuration;import org.springframework.core.annotation.Order;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration@Ena ...
前后端分离单点登录方案
前端部分修改src/permission.js文件
12345678910111213//需要设置令牌import { getToken, setToken } from '@/utils/auth'//获取令牌参数const token = to.query.tokenif (token) {//前端存储令牌store.commit('user/SET_TOKEN', token)setToken(token)//避免显示令牌next(to.path)}//跳转后端登录window.location.href = process.env.VUE_APP_BASE_API + '/user/login?redirect=' + encodeURIComponent(window.location.href)
修改src/utils/request.js文件
12//修改令牌参数config.headers['X-Auth-Token'] = getToken()
修改 ...
基于 Spring Cloud 的完整微服务项目
Gitee上有许多基于 Spring Cloud 的完整微服务项目,下面推荐这 5 个优质微服务相关的开源项目,希望可以帮到你:)
推荐项目1、RBAC 权限管理系统 Pig基于Spring Boot 2.2.1、 Spring Cloud Hoxton、 OAuth2 的RBAC 权限管理系统。
技术特点:
l 基于 Spring Cloud Hoxton 、Spring Boot 2.2、 OAuth2 的RBAC权限管理系统
l 基于数据驱动视图的理念封装 element-ui,即使没有 vue 的使用经验也能快速上手
l 提供对常见容器化支持 Docker、Kubernetes、Rancher2 支持
l 提供 lambda 、stream api 、webflux 的生产实践。
项目地址:https://gitee.com/log4j/pig
推荐项目2、基于Spring Cloud实现的微服务基础设施 MCloudMCloud 基于 Spring Cloud 进行开发,提供了项目中常用的基础设施:
l mcloud-registry 服务注册与发现中心。
l keycloa ...
基于Springboot的SSO单点登陆系统的登陆操作实战
一 前言(1)使用环境:
SpringBoot2.X
MyBatis
基于redis存储的springSession
(2)基础学习:
关于SSO的基础学习可以参考该文章:单点登录(SSO),从原理到实现
代码风格使用的是晓风轻的代码规范,对于其中的AOP实现此处不会给出代码,具体可以在文章尾部的gitHub上查看:我的编码习惯 - Controller规范
进阶可以参考:单点登录(一)—–理论—–单点登录SSO的介绍和CAS+选型
(3)目标
使用Header认证替换Cookie,避免用户禁用cookie导致登陆失效的情况实现可以运行操作的SSO单点登录系统(4)注意:
此处使用了一个项目来模拟一个Client与一个Server,因为Server依靠存储token来判断用户是否登陆,而Client依靠Session判断用户是否登陆,因此两者能在同个项目共存。由于项目的依赖很多,所以不会事无巨细地讲,只会挑重点的看,具体的可以在文章尾部的GitHub上查看看完以上文章之后总结一下,在这次简单实现中我们需要做到的有以下几点:
Client服务端收到请求,Filter拦截该请求,在Filt ...