01.Sentinel介绍

[TOC]前言在基于 SpringCloud 构建的微服务体系中,服务间的调用链路会随着系统的演进变得越来越长,这无疑会增加了整个系统的不可靠因素。在并发流量比较高的情况下,由于网络调用之间存在一定的超时时间,链路中的某个服务出现宕机都会大大增加整个调用链路的响应时间,而瞬间的流量洪峰则会导致这条链路上所有服务的可用线程资源被打满,从而造成整体服务的不可用,这也就是我们常说的 “雪崩效应”。而在微服务系统设计的过程中,为了应对这样的糟糕情况,最常用的手段就是进行 ”流量控制“ 以及对网络服务的调用实现“熔断降级”。因此,Sentinel 就因运而生了。一、Sentinel介绍Sentin...

Java 2023-01-14 PM 906℃ 0条

04.Nacos作为服务配置中心分类配置演示

[TOC]一、分类配置1.1 分布式开发中的多环境多项目管理问题问题一实际开发中,通常一个系统会准备dev开发环境、test测试环境、prod生产环境。如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢?问题二一个大型分布式微服务系统会有很多微服务子项目,每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境。如何对这些微服务配置进行管理呢?1.2 Nacos图形化管理界面(1)配置管理(2)命名空间2.3 三者关系?对于Nacos配置管理,通过Namespace、group、Data ID能够定位到一个配置集。默认情况Namespace:publicGr...

Java 2023-01-08 PM 893℃ 0条

03.Nacos作为服务配置中心基础配置演示

[TOC]一、概述在微服务架构中,配置中心就是统一管理各个微服务配置文件的服务。把传统的单体jar包拆分成多个微服务后,配置文件也要拆分,每个微服务都要有自己的配置文件。为了统一维护,方便管理,所以出现了配置中心的概念,所有的微服务配置文件都在配置中心中管理和读取。二、配置中心的优势微服务架构下关于配置文件的一些问题:配置文件相对分散在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要到各个微...

Java 2023-01-07 AM 1204℃ 0条

02.Nacos作为服务注册中心演示

[TOC]前言版本关系Spring Cloud Alibaba Version:2.2.9.RELEASESpring Cloud Version:Spring Cloud Hoxton.SR12Spring Boot Version:2.3.12.RELEASE组件版本关系Sentinel Version:1.8.5Nacos Version:2.1.0RocketMQ Version:4.9.4Seata Version:1.5.2这个版本组合是目前找到的最新的版本组合。本人使用的为IDEA 2022.3版本,有的地方和之前版本的有所不同。一、Nacos注册中心示意图注册中心主要有三...

Java 2023-01-04 PM 873℃ 0条

MySQL迁移到达梦数据库

[TOC]前言本次通过SpringBoot+MyBatisPlus架构,将MySQL数据库替换成国产达梦数据库。注意:此次改造的项目同时兼容MySQL和达梦数据库。一、部署注意事项因为MySQL是大小写不敏感的,DM数据库支持大小写敏感和不敏感,默认是大小写敏感。在进行数据库初始化参数设置时,记得将【字符串比较大小写敏感】的勾给去掉。注意:初始化完成之后该参数是不支持再次修改的,切记去掉。二、数据迁移MySQL迁移到达梦数据库达梦官方文档:https://eco.dameng.com/document/dm/zh-cn/start/dm-create-tablespace.html达梦的...

工具 2023-01-03 PM 2397℃ 0条

01.Nacos介绍

[TOC]一、Nacos概述Nacos是Dynamic Naming and Configuration Service的首字母简称,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,是阿里巴巴的新开源项目 。Nacos主要提供三种功能:服务注册与发现、动态配置服务、动态DNS服务。Nacos = Eureka+Config+Bus服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:Kubernetes ServicegRPC & Dubbo RPC ServiceSpring Cloud RESTful S...

Java 2023-01-03 PM 959℃ 0条

09.MyBatisX插件介绍

[TOC]一、介绍MybatisX是一款基于 IDEA 的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。使用MybatisX的好处节省大量持久层代码开发时间强大的功能为业务编写提供各类支持配置简单,告别各类复杂的配置文件MyBatisX插件用法:https://baomidou.com/pages/ba5b24/二、安装方法打开 IDEA,进入 File -> Settings -> Plugins -> Marketplace,输入 mybatisx 搜索并安装。注意:本人使用的IDEA版本是2022.3版本...

Java 2022-12-24 PM 1802℃ 0条

08.MyBatis-Plus多数据源

[TOC]一、概述目前在SpringBoot框架基础上多数据源的解决方案大多手动创建多个DataSource,后续方案有三种:继承org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource,使用AOP切面注入相应的数据源 ,但是这种做法仅仅适用单Service方法使用一个数据源可行,如果单Service方法有多个数据源执行会造成误读。通过DataSource配置 JdbcTemplateBean,直接使用 JdbcTemplate操控数据源。分别通过DataSource创建SqlSessionFactory并扫...

Java 2022-12-23 PM 929℃ 0条

07.MyBatis-Plus通用枚举和代码生成器

[TOC]一、通用枚举1.1 概述MyBatis-Plus中提供了通用枚举,简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据读给用户,用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子:用户性别在数据库中存储为1(表示男)、2(表示女)。在读取数据时就会自动将1、2值转换为男或女。这样做是可以有效地节省数据库的存储空间。1.2 添加字段在t_user表中,添加一个性别字段sex。默认值为1,其中存储的值1为男,2为女。将字段添加到is_deleted字段的后面。ALTER TABLE t_user ADD COLUMN sex int(1) NULL DE...

Java 2022-12-22 PM 897℃ 0条

06.MyBatis-Plus插件介绍

[TOC]一、MyBatis插件机制MyBatis插件就是对Executor、StatementHandler、 ParameterHandler、ResultSetHandler 这四个接口上的方法进行拦截,利用JDK动态代理机制,为这些接口的实现类创建代理对象, 在执行方法时,先去执行代理对象的方法,从而执行自己编写的拦截逻辑。接口说明接口说明Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)MyBatis 的内部执行器,它负责调用 Statement...

Java 2022-12-21 PM 1249℃ 0条