摘要: Spring Cloud系列教程: Spring Boot + Spring Cloud 构建微服务系统(一):服务注册和发现(Consul) Spring Boot + Spring Cloud 构建微服务系统(二):服务消费和负载(Ribbon) Spring Boot + Spring Clo 阅读全文
posted @ 2019-11-17 09:48 朝雨忆轻尘 阅读(6536) 评论(0) 推荐(4) 编辑
  2023年4月23日
摘要: 最近ChatGPT爆火,想必大家都想弄个账号试试水。但是无奈ChatGPT的注册实在困难重重,不仅要会魔法,还要信息接码等操作,劝退了一大批人。 然后Claude出现了,号称ChatGPT的最强竞品,免费、支持中文、无需骚操作的ChatGPT,热度一直居高不下。但是好景不长,最近又因为国家地区受限制 阅读全文
posted @ 2023-04-23 12:32 朝雨忆轻尘 阅读(59) 评论(0) 推荐(0) 编辑
  2020年12月5日
摘要: 我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:朝雨忆轻尘,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply 阅读全文
posted @ 2020-12-05 23:32 朝雨忆轻尘 阅读(1114) 评论(0) 推荐(1) 编辑
  2020年11月17日
摘要: 案例源码使用SpringBoot 2.3.2 + Dubbo 2.7.6 + Mybatis 1.3.2 + Nacos 1.3.2 + Seata 1.3.0整合来实现Dubbo分布式事务管理,使用Nacos 作为 Dubbo和Seata的注册中心和配置中心,使用 MySQL 数据库和 MyBat 阅读全文
posted @ 2020-11-17 17:39 朝雨忆轻尘 阅读(3678) 评论(0) 推荐(0) 编辑
摘要: Seata角色术语 TC - 事务协调者 维护全局和分支事务的状态,驱动全局事务提交或回滚,即Seata服务端。 TM - 事务管理器 定义全局事务的范围:开始全局事务、提交或回滚全局事务,在事务发起的客户端。 RM - 资源管理器 管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状 阅读全文
posted @ 2020-11-17 17:37 朝雨忆轻尘 阅读(3252) 评论(0) 推荐(0) 编辑
  2019年11月6日
摘要: 下载安装 VMware Workstation Player 首先下载并安装 VMware Workstation Player, VMware Workstation是一款非常强大的虚拟机软件,有pro专业版和player免费版,我们个人使用 免费的VMware Workstation Playe 阅读全文
posted @ 2019-11-06 23:04 朝雨忆轻尘 阅读(4606) 评论(1) 推荐(0) 编辑
  2019年9月24日
摘要: 在Java中,多线程主要的实现方式有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,而后 阅读全文
posted @ 2019-09-24 23:36 朝雨忆轻尘 阅读(1884) 评论(0) 推荐(0) 编辑
摘要: 锁的基础知识 锁的类型 锁从宏观上分类,只分为两种:悲观锁与乐观锁。 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上 阅读全文
posted @ 2019-09-24 23:35 朝雨忆轻尘 阅读(1525) 评论(1) 推荐(1) 编辑
  2019年7月2日
摘要: 综合概述 消息队列 消息队列就是一个消息的链表,可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息,对消息队列有读权限的进程则可以从消息队列中读走消息,而消息队列就是在消息的传输过程中保存消息的容器,你可以简单的把消息队列理解为类 阅读全文
posted @ 2019-07-02 18:49 朝雨忆轻尘 阅读(35230) 评论(3) 推荐(3) 编辑
  2019年7月1日
摘要: Spring Boot 系列教程: Spring Boot:快速入门教程 Spring Boot:整合Swagger文档 Spring Boot:整合MyBatis框架 Spring Boot:实现MyBatis分页 Spring Boot:集成Druid数据源 Spring Boot:实现MyBa 阅读全文
posted @ 2019-07-01 19:47 朝雨忆轻尘 阅读(11996) 评论(0) 推荐(3) 编辑
摘要: 综合概述 Redis是一个开源免费的高性能key-value数据库,读取速度达110000次/s,写入速度达81000次/s。Redis支持丰富的数据类型,如Lists, Hashes, Sets 及 Ordered Sets 数据类型。Redis的所有操作都是原子性的,要么成功执行要么失败完全不执 阅读全文
posted @ 2019-07-01 18:52 朝雨忆轻尘 阅读(8003) 评论(0) 推荐(5) 编辑
摘要: 综合概述 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached基于内存的key-value存储,用来存储小块的任意数据,这些数据可以是数据库调用、API调用或者是页面渲染的结果。通过Memcached缓存数据库查询结果,可以有效地减少数据库访问次数,进而提高动态We 阅读全文
posted @ 2019-07-01 16:56 朝雨忆轻尘 阅读(4969) 评论(1) 推荐(1) 编辑
  2019年6月29日
摘要: 综合概述 Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架。除了常规的认证(Authentication)和授权(Authorization)之外,Spring Security还提供了诸如ACLs,LDAP,JAAS,CAS 阅读全文
posted @ 2019-06-29 12:17 朝雨忆轻尘 阅读(130749) 评论(35) 推荐(12) 编辑
  2019年6月20日
摘要: 综合概述 Shiro是Apache旗下的一个开源项目,它是一个非常易用的安全框架,提供了包括认证、授权、加密、会话管理等功能,与Spring Security一样属基于权限的安全框架,但是与Spring Security 相比,Shiro使用了比较简单易懂易于使用的授权方式。Shiro属于轻量级框架 阅读全文
posted @ 2019-06-20 20:26 朝雨忆轻尘 阅读(47829) 评论(3) 推荐(5) 编辑
  2019年6月18日
摘要: 综合概述 JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范。其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,它为Java开发人员提供了一种ORM工具来管理Java应用中的关系数据。 简而言之,JPA提供了使用面向对象的方式操作数据库的功能 阅读全文
posted @ 2019-06-18 19:39 朝雨忆轻尘 阅读(12550) 评论(0) 推荐(3) 编辑
摘要: 综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具。我们可以借助JdbcTemplate来执行所有数据库操作,例如插入,更新,删除和从数据库中检索数据,并且有效避免直接使用jdbc带来的繁琐编码。 JdbcT 阅读全文
posted @ 2019-06-18 16:51 朝雨忆轻尘 阅读(24530) 评论(0) 推荐(3) 编辑
  2019年6月17日
摘要: 我的博客即将同步至腾讯云+社区,邀请大家一同入驻: https://cloud.tencent.com/developer/support-plan?invite_code=1362l01n2d4v5 阅读全文
posted @ 2019-06-17 19:43 朝雨忆轻尘 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 综合概述 在有些应用场景中,我们会有需要动态创建和操作表的需求。比如因为单表数据存储量太大而采取分表存储的情况,又或者是按日期生成日志表存储系统日志等等。这个时候就需要我们动态的生成和操作数据库表了。而我们都知道,以往我们使用MyBatis是需要提前生成包括Model,Mapper和XML映射文件的 阅读全文
posted @ 2019-06-17 19:22 朝雨忆轻尘 阅读(47670) 评论(3) 推荐(3) 编辑
摘要: 综合概述 在很多具体应用场景中,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动态数据源方案进行解决。接下来,我们就来讲解如何实现动态数据源,以及在过程中剖析动态数据源背后的实现原理。 阅读全文
posted @ 2019-06-17 16:23 朝雨忆轻尘 阅读(23645) 评论(5) 推荐(4) 编辑
  2019年6月15日
摘要: 综合概述 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。通过数据库连接池能明显提高对数据库操作的性能。在Java应用程序开发中,常用的连接池有D 阅读全文
posted @ 2019-06-15 18:46 朝雨忆轻尘 阅读(28297) 评论(1) 推荐(1) 编辑
摘要: 综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍的时间写 count 和 select,幸好我们有 pagehelper 分页插件,pagehelp 阅读全文
posted @ 2019-06-15 16:19 朝雨忆轻尘 阅读(131034) 评论(15) 推荐(19) 编辑
  2019年6月14日
摘要: 综合概述 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java 阅读全文
posted @ 2019-06-14 19:04 朝雨忆轻尘 阅读(16097) 评论(4) 推荐(2) 编辑
摘要: 综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中 阅读全文
posted @ 2019-06-14 11:54 朝雨忆轻尘 阅读(89479) 评论(4) 推荐(6) 编辑
  2019年6月13日
摘要: 什么是Spring Boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简而言之,Spring Boot通过提供默认配置的方式整合了所有的框架, 阅读全文
posted @ 2019-06-13 20:12 朝雨忆轻尘 阅读(41204) 评论(3) 推荐(3) 编辑
  2019年6月5日
摘要: 新书上线 大家好,笔者的新书《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》已上线,此书内容充实、材质优良,乃家中必备垫桌脚垫菜盘之良器,欢迎大家无情购买使用,欢迎大家共同学习交流,欢迎大家提出改进意见。 内容简介: 本书从项目实践出发 阅读全文
posted @ 2019-06-05 10:30 朝雨忆轻尘 阅读(24791) 评论(12) 推荐(5) 编辑
  2019年5月8日
摘要: 基于Eclipse开发 1. 安装JDK 首先进入JDK下载页面,选择需要的版本下载安装。 JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 比如我这里选择下载最新的版本 12.0.1,选择系统版 阅读全文
posted @ 2019-05-08 17:13 朝雨忆轻尘 阅读(3378) 评论(0) 推荐(1) 编辑
  2018年12月14日
摘要: 开源项目链接 Kitty 开源权限管理系统 项目地址:https://gitee.com/liuge1988/kitty 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 注册沙箱账号 到蚂蚁金服注册开发者账号,注册地址:https:// 阅读全文
posted @ 2018-12-14 15:59 朝雨忆轻尘 阅读(37891) 评论(8) 推荐(7) 编辑
  2018年12月7日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin Spring Security Oauth2 OAuth是一个关于授权的开放网络标准,在全世界得到的广泛的应用,目前是2.0的版本。OAuth2在“客户端”与“服务提供商”之间, 阅读全文
posted @ 2018-12-07 21:00 朝雨忆轻尘 阅读(77888) 评论(10) 推荐(4) 编辑
  2018年11月28日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin Spring Security Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架。除了常规的认证(Aut 阅读全文
posted @ 2018-11-28 18:10 朝雨忆轻尘 阅读(21810) 评论(16) 推荐(10) 编辑
  2018年11月27日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 到目前为止,我们使用的权限认证框架是 Shiro,虽然 Shiro 也足够好用并且简单,但对于 Spring 官方主推的安全框架 Spring Security,用户群 阅读全文
posted @ 2018-11-27 19:19 朝雨忆轻尘 阅读(7654) 评论(11) 推荐(2) 编辑
  2018年11月19日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和操作可用性的权限验证,或者叫访问控制。但这仅限于页面的显示和操作,我们的后台接口还是没有进行权限的验 阅读全文
posted @ 2018-11-19 18:00 朝雨忆轻尘 阅读(4299) 评论(0) 推荐(1) 编辑
  2018年11月8日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多。此时,往往某一个基础服务信息变更,都会导致一 阅读全文
posted @ 2018-11-08 16:17 朝雨忆轻尘 阅读(5919) 评论(0) 推荐(2) 编辑
  2018年11月7日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 在微服务架构中,随着业务发展,系统拆分导致系统调用链路愈发复杂,一个看似简单的前端请求可能最终需要调用很多次后端服务才能完成,那么当整个请求出现问题时,我们很难得知到底 阅读全文
posted @ 2018-11-07 19:25 朝雨忆轻尘 阅读(7186) 评论(1) 推荐(0) 编辑
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 前面我们通过Ribbon或Feign实现了微服务之间的调用和负载均衡,那我们的各种微服务又要如何提供给外部应用调用呢。 当然,因为是REST API接口,外部客户端直接 阅读全文
posted @ 2018-11-07 12:59 朝雨忆轻尘 阅读(9683) 评论(0) 推荐(5) 编辑
  2018年11月6日
摘要: 在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应。服务雪崩效 阅读全文
posted @ 2018-11-06 19:01 朝雨忆轻尘 阅读(2288) 评论(0) 推荐(1) 编辑
  2018年11月5日
摘要: 技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用。单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行在各自的进程之中,甚至部署在不同的主机和不同的地区。这个时候就需要相关的远程调用技术了。 Sprin 阅读全文
posted @ 2018-11-05 18:28 朝雨忆轻尘 阅读(2833) 评论(0) 推荐(3) 编辑
  2018年11月1日
摘要: 动态数据源 在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动态数据源方案进行解决。接下来,我们就来讲解如何实现动态数据源,以及在过程中剖析动态数据源背后的实现原 阅读全文
posted @ 2018-11-01 18:13 朝雨忆轻尘 阅读(39756) 评论(8) 推荐(3) 编辑
  2018年10月30日
摘要: 什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工 阅读全文
posted @ 2018-10-30 18:23 朝雨忆轻尘 阅读(3450) 评论(0) 推荐(2) 编辑
  2018年10月29日
摘要: 登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等。 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验证码。如下图为实现的效果。 实现案例 验证码的实现需要前后端协同,脱离彼此则不可用,故将前后端的实现 阅读全文
posted @ 2018-10-29 18:45 朝雨忆轻尘 阅读(6049) 评论(2) 推荐(1) 编辑
  2018年10月28日
摘要: 技术背景 我们在上一篇讲到,Spring Boot程序只在启动的时候加载配置文件信息,这样在GIT仓库配置修改之后,虽然配置中心服务器能够读取最新的提交信息,但是配置中心客户端却不会重新读取,以至于不能及时的读取更新后的配置信息。这个时候就需要一种通知刷新机制来支持了。 Refresh机制 refr 阅读全文
posted @ 2018-10-28 13:25 朝雨忆轻尘 阅读(4797) 评论(1) 推荐(2) 编辑