背景 为应对更多用户使用socket的场景,准备对存放websocket的服务器进行多点搭建并配置负载均衡. 问题 服务器上了多点负载均衡以后,基于socket的部分功能发生了有规律的失效,查看后台日志发现了原因. 基于socket的功能使用的session存放在其他负载均衡的服务器上,所以在当前服务器无法实现相应操作. 举个实例,有两台加了负载的socket服务器分别为A.B.服务器A拥有用户1的socket连接即session句柄,服务器B拥有用户2的session句柄, 此时client端…
Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台: https://gitee.com/leecho/cola-cloud…
Spring Boot的学习持续进行中.前面两篇博客我们介绍了如何使用Spring Boot容器搭建Web项目(使用Spring Boot开发Web项目)以及怎样为我们的Project添加HTTPS的支持(使用Spring Boot开发Web项目(二)之添加HTTPS支持),在这两篇文章的基础上,我们今天来看看如何在Spring Boot中使用WebSocket. 什么是WebSocket WebSocket为浏览器和服务器之间提供了双工异步通信功能,也就是说我们可以利用浏览器给服务器发送消息,…
Spring Boot/Spring Cloud 104.什么是 spring boot? SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件. 105.为什么要用 spring boot? Spring Boot使编码变简单 Spring Boot使配置变简单 Spring Boot使部署变简单 Spring Boot使监控变简…
前些天项目组的大佬跟我聊,说项目组想从之前的架构上剥离出来公用的模块做微服务的开发,恰好去年的5/6月份在上家公司学习了国内开源的dubbo+zookeeper实现的微服务的架构.自己平时对微服务的设计比较上心,第一:是自我感觉做多了垂直应用的项目就觉得味同嚼蜡,所有的模块,技术都冗余的堆积在一个项目里面.耦合度极高.项目的迭代,部署.后期的运营维护都是比较头疼,繁琐的事情.第二:适逢当下应用软件框架层出不穷,在java-web或者后台服务器的框架设计上,国内国外,都是如火如荼.新技术的迭代更是…
上一篇博客我们介绍了在Spring Boot框架下使用WebSocket实现消息推送,消息推送是一对多,服务器发消息发送给所有的浏览器,这次我们来看看如何使用WebSocket实现消息的一对一发送,模拟的场景就是利用网页来实现两个人在线聊天.OK,那我们来看看这个要怎么实现. 引入Spring Security并配置 由于这里涉及到多个用户之间互相传递消息的问题,涉及到的权限管理问题我使用Spring Security来处理,关于Spring Security的更多详细资料小伙伴们可以参考下面几…
如何使用Spring Boot/Spring Cloud 实现微服务应用spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理等操作提供了一种简单的开发方式. Spring Cloud与Dubbo对比提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排,这里先比较下Dubbo和ESB: ESB(企业数据总线),一般采用集中式…
新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚垫菜盘之良器,欢迎大家无情购买使用,欢迎大家共同学习交流,欢迎大家提出改进意见. 内容简介: 本书从项目实践出发,手把手.心贴心地带领读者从零开始,一步一步地开发出功能相对完整的权限管理系统,从而深入掌握当前主流的Spring Boot + Spring Cloud + Vue前后端集成开发技术. 全书分为三…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.Spring Security 权限管理框架介绍 简介: Spring Security 提供了基于javaEE的企业应有个你软件全面的安全服务.这里特别强调支持使用SPring框架构件的项目,Spring框架是企业软件开发javaEE方案的领导者. Spring Security 的两个目标: “认证” 与“授权”. “认证”,是建立一个他声明的主题的过程(一个“主体”一般是指用户,设备或一些可…
上一篇文章已经说明了一下,关于spring boot创建maven项目的简单步骤,相信很多熟悉Maven+Eclipse作为开发常用工具的朋友们都一目了然,这篇文章主要讲解一下,构建spring boot+spring cloud实现微服务的框架搭建过程,不过在此之前我们要先了解一下spring boot+spring cloud服务框架的功能组建和一些常提起的概念. 1:注册中心,spring boot+spring cloud使用Eureka作为服务的注册中心,早dubbo+zookeepe…
2018年10月30日 springboot v2.1.0.RELEASE 发布: https://github.com/spring-projects/spring-boot/releases/tag/v2.1.0.RELEASE 近期开始整理spring boot 和 cloud 相关知识点,会逐步更新 1.现已完成springboot相关知识点更新,主要是单(多)数据源下springboot+mybatis+jpa+redis等常用操作,统一结果.异常处理,参数验证.事务等 若需要了解其它…
https://github.com/sqshq/PiggyMetrics     Microservice Architecture with Spring Boot, Spring Cloud and Docker 可持续交付式流程:  或者说基础设施.开发部门从事生产的模式…
一.前言 最近整合Spring Boot+Spring Security+JWT+Vue 完成了一套前后端分离的基础项目,这里把它开源出来分享给有需要的小伙伴们 功能很简单,单点登录,前后端动态权限配置,前端权限精确到 按钮 级别,后端权限精确到 url 上,剩下的就是一些关联表的增删改查,例如:用户管理,角色管理,菜单管理,系统日志等... Spring Security入门系列教程: SpringBoot集成Spring Security入门体验(一) Spring Security 自定义…
说明 (1)JDK版本:1.8 (2)Spring Boot 2.0.6 (3)Spring Security 5.0.9 (4)Spring Data JPA 2.0.11.RELEASE (5)hibernate5.2.17.Final (6)MySQLDriver 5.1.47 (7)MySQL 8.0.12 需求缘起 很多时候,我们自己已经有现成的一套系统在运行了,这时候要接入spring security的话,那么难免会碰到一个问题:就是自己设计的密码加密方式和spring secur…
说明 (1)JDK版本:1.8 (2)Spring Boot 2.0.6 (3)Spring Security 5.0.9 (4)Spring Data JPA 2.0.11.RELEASE (5)hibernate5.2.17.Final (6)MySQLDriver 5.1.47 (7)MySQL 8.0.12 前言 有网友在公众号留言:准确的说md5是摘要算法不是加密算法 针对这个问题,当时也没有仔细的思考,空下来的时候,对于这个问题整理了下思路. 一.加密算法 1.1 加密和解密 1.1…
说明 (1)JDK版本:1.8(2)Spring Boot 2.0.6(3)Spring Security 5.0.9(4)Spring Data JPA 2.0.11.RELEASE(5)hibernate5.2.17.Final(6)MySQLDriver 5.1.47(7)MySQL 8.0.12 一.获取当前用户信息 1.1 从页面上显示当前登陆的用户名  <h1>欢迎使用Spring Security!      当前登录账号:<label th:text="${na…
在上一篇文章(Spring Cloud:使用Ribbon实现负载均衡详解(上))中,我对 Ribbon 做了一个介绍,Ribbon 可以实现直接通过服务名称对服务进行访问.这一篇文章我详细分析一下如何使用 Ribbon 实现客户端的负载均衡. 1. 使用 Ribbon 实现负载均衡 要实现负载均衡,首先要有多个订单服务提供者,目前我们就一个 microservice-order-provider01,端口号 8001,我们可以仿照这个服务,再创建两个子模块,也是订单服务提供者,取名为 micro…
​ 本文是Spring Cloud专栏的第四篇文章,了解前三篇文章内容有助于更好的理解本文: ​Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Cloud第二篇 | 使用并认识Eureka注册中心 Spring Cloud第三篇 | 搭建高可用Eureka注册中心 一.Ribbon是什么 Ribbon是一个基于HTTP和TCP的客户端负载均衡器,当使用Ribbon对服务进行访问的时候,他会扩展Eureka客户端的服务发现功能,实现从Eureka…
[Please make sure to select the branch corresponding to the version of Thymeleaf you are using] Status This is a thymeleaf extras module, not a part of the Thymeleaf core (and as such following its own versioning schema), but fully supported by the T…
好久没有写博客,换了一家新公司,原来的公司用的是spring,现在这家公司用的是spring boot.然后,项目组布置了一个任务,关于两个数据库之间的表同步,我首先想到的就是spring batch,当然最终的技术方案还没有确定,但是对于学习知识还是很由必要的,毕竟技不压身. 首先是关于spring batch的优秀博客链接: 1.官方文档:https://docs.spring.io/spring-batch/4.1.x/reference/html/index.html 2.精选,一文吃透…
Spring Boot + Spring Data + Elasticsearch实例 学习了:https://blog.csdn.net/huangshulang1234/article/details/78986033  springboot 1.5.1,es 2.4.4 学习了:https://www.jianshu.com/p/35f9f867f48f SpringData3.x以及SpringBoot2集成Elasticsearch5.x https://blog.csdn.net/l…
本文介绍spring boot,spring jdbc和spring transaction的使用 项目结构 依赖 application model层 mapper层 dao层 exception层 MainController 本文介绍spring boot,spring jdbc和spring transaction的使用 项目结构 依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar…
[权限管理系统]spring boot +spring security短信认证+redis整合   现在主流的登录方式主要有 3 种:账号密码登录.短信验证码登录和第三方授权登录,前面一节Spring security(三)---认证过程已分析了spring security账号密码方式登陆,现在我们来分析一下spring security短信方式认证登陆.   Spring security 短信方式.IP验证等类似模式登录方式验证,可以根据账号密码方式登录步骤仿写出来,其主要以以下步骤进行…
Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(二) 摘要 上一篇https://javaymw.com/post/59我们已经实现了基本的登录和token认证接口,但是这里有个问题,对于那些活跃用户来说如果token的过期时间设置的太短,那么就会使用户频繁的登录,这样用户体验不好,所以我们需要根据一种机制来判断什么时候应该主动刷新token,并且对于活跃用户来说应该是无感知的才行,那么我这里提供一种思路,暂且叫它2倍时间机制,那么怎么理解呢,…
标题 Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一) 技术 Spring Boot 2.Spring Security 5.JWT 运行环境 IDEA+JDK8.0+MySQL5.0+ 简述 Spring Boot 2 + Spring Security 5 + JWT 实现给RestApi增加认证控制 测试流程 下面对我们的程序进行简单的验证 1.请求获取用户列表接口:http://localhost:8080/users/userLi…
一.什么是负载均衡 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用.最大化吞吐率.最小化响应时间.同时避免过载的目的.这是来自维基百科的介绍.负载均衡的目的,就在于平衡负载,给用户提供优质,可靠,稳定的服务. 上图是个最简单的负载均衡实例, 应用服务器并不直接与用户相连, 用户连接负载均衡服务器,然后由负载均衡服务器把消息转发给实际应用服务器.…
高并发大流量专题---11.Web服务器的负载均衡 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 http{ upstream cluster{ server srv1: server srv2: server srv3: } server{ listen 80: location /{ proxy_pass http://cluster:#调用上面的upstream cluster中的内容 } } } 1.七层(应用层)负载均衡介绍及如何实现? 七…
一,引言 上一片文章我们使用 Azure Traffic Manager 分发用户请求,同时演示了两种路由策略,“Performance”,“Geographic”的两种方式,今天我们继续讲解 Traffic Manager profile 的其他几种路由策略.我们依旧先来看看我们的架构图,废话不多说,开始今天的分享. 我们需要为流量管理器配置文件配置中的每个终结点分配权重. 然后,系统会根据分配给每个终结点的权重进行用户流量路由. 该权重是从 1 到 1,000 的整数. 分配给终结点的权重值…
说明:本实验为双节点nginx为两台apache服务器提供负载均衡,本文不是做lvs,所以realserver不是配置在keepalived.conf而是在nginx的配置文件中upstream.此架构需考虑的问题:1)Master没挂,则Master占有vip且nginx运行在Master上2)Master挂了,则backup抢占vip且在backup上运行nginx服务3)如果master服务器上的nginx服务挂了,则vip资源转移到backup服务器上4)检测后端服务器的健康状态Mast…
需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 [root@host101 ~]# vim /etc/hosts 192.168.1.101 ng-master 192.168.1.161 web1 192.168.1.162 web2 [root@host101 ~]# yum clean all [root@host101 ~]# systemctl stop firewalld.service [root@h…