- 博客(224)
- 收藏
- 关注
原创 微服务02
无论是还是都支持自定义,只不过编码方式、使用方式略有差别。自定义不是直接实现,而是实现。@Component@Override@Override// 获取请求// 编写过滤器逻辑System.out.println("过滤器执行了");// 放行注意:该类的名称一定要以为后缀!spring:cloud:gateway:- PrintAny # 此处直接以自定义的GatewayFilterFactory类名称前缀类声明过滤器@Component。
2024-07-18 13:03:30
647
原创 微服务01
什么时候需要拆分微服务?如果是创业型公司,最好先用单体架构快速迭代开发,验证市场运作模型,快速试错。当业务跑通以后,随着业务规模扩大、人员规模增加,再考虑拆分微服务。如果是大型企业,有充足的资源,可以在项目开始之初就搭建微服务架构。如何拆分?首先要做到高内聚、低耦合从拆分方式来说,有横向拆分和纵向拆分两种。纵向就是按照业务功能模块,横向则是拆分通用性业务,提高复用性服务拆分之后,不可避免的会出现跨微服务的业务,此时微服务之间就需要进行远程调用。微服务之间的远程调用被称为RPC,即远程过程调用。
2024-07-18 12:56:41
970
原创 Docker基础及使用
在前两天学习了Linux操作系统的常见命令以及如何在Linux上部署一个单体项目。大家想一想自己最大的感受是什么?我相信,除了个别天赋异禀的同学以外,大多数同学都会有相同的感受,那就是麻烦。核心体现在三点:其实上述问题不仅仅是新手,即便是运维在安装、部署的时候一样会觉得麻烦、容易出错。特别是我们即将进入微服务阶段学习,微服务项目动辄就是几十台、上百台服务需要部署,有些大型项目甚至达到数万台服务。而由于每台服务器的运行环境不同,你写好的安装流程、部署脚本并不一定在每个服务器都能正常运行,经常会出错。这就给系统
2024-07-18 12:21:27
898
原创 yum 报错:Could not retrieve mirrorlist http://mirrorlist.centos.org
警告,在编辑文件的时候,你肯定是复制黏贴下面的内容的。但是,vim 编辑器会有个黏贴反应时间,所以大概率你在黏贴了内容之后,最开头的内容会缺少 1-5 个字符,你需要手动补全,下面的编辑也是一样!很多人只有 CentOS-Base.repo 文件,没有后两个,这也没问题,有几个备份几个,不用额外创建!5.编辑 CentOS-SCLo-scl-rh.repo 文件(如果没有这个文件,不用管)6.编辑 CentOS-SCLo-scl.repo 文件(如果没有这个文件,不用管)6.重新生成 yum 缓存。
2024-07-17 17:59:09
1760
12
原创 centos7 安装
一般做多:8G,16G,如果系统使用到了swap分区,就直接添加物理内存或排查一下服务器有没有被黑。作用:系统启动,在boot分区存放着grub,内核文件等,一般200M就够了。3、CentOS-7-Everything版本:对完整版安装盘的软件进行补充,集成所有软件。11.最大磁盘大小根据自身电脑磁盘空间大小选择,最小不要少于10G,这里选择默认的20G。自定义安装:自定义安装可以针对性的把一些资源加强,把不需要的资源移除。1、CentOS-7-DVD版本:DVD是标准安装盘,一般下载这个就可以了。
2024-07-17 17:33:48
442
原创 MybatisPlus
我们可以利用MyBatisPlus的Wrapper来构建复杂的Where条件,然后自己定义SQL语句中剩下的部分。需求:将id在指定范围的用户(例如1、2、4 )的余额扣减指定值MyBatisPlus的sql自己拼接违背了企业的开发规范,更新查询都会碰到,不用的话就有点麻烦,所以把条件用mp构建,那些表的字段啥的就用xml。我们可以利用MyBatisPlus的Wrapper来构建复杂的Where条件,然后自己定义SQL语句中剩下的部分。基于Wrapper构建where条件。
2024-07-16 18:52:29
1088
原创 分区函数Partition By的用法
由以上的例子得出,rank()和dense_rank()都可以将并列第一名的都查找出来;由以上的例子得出,在求第一名成绩的时候,不能用row_number(),因为如果同班有两个并列第一,row_number()只返回一个结果。2、分区函数Partition By与rank()的用法“对比”分区函数Partition By与row_number()的用法。2、分区函数Partition By与rank()的用法“对比”分区函数Partition By与dense_rank()的用法。(1)使用rank()
2024-07-15 10:02:54
492
原创 mysql 排名函数 ROW_NUMBER、RANK、DENSE_RANK、NTILE
定义:RANK()函数,顾名思义排名函数,可以对某一个字段进行排名,这里为什么和ROW_NUMBER()不一样那,ROW_NUMBER()是排序,当存在相同成绩的学生时,ROW_NUMBER()会依次进行排序,他们序号不相同,而Rank()则不一样出现相同的,他们的排名是一样的。DENSE_RANK()密集的排名他和RANK()区别在于,排名的连续性,DENSE_RANK()排名是连续的,RANK()是跳跃的排名,所以一般情况下用的排名函数就是RANK()。比如查询前10个 查询10-100个学生。
2024-07-15 08:51:31
1087
原创 Collection包结构,与Collections的区别
Collection包结构,与Collections的区别。(2)Set 接口: 元素无序、不可重复。(1)List 接口:元素有序、可重复。Collection 单列数据。
2024-05-30 16:35:26
213
原创 HashMap排序题
分析 :要做出这道题必须对集合的体系结构非常的熟悉。已知一个 HashMap集合, User 有 name(String)和 age(int)属性。请写一个方法实现对 HashMap 的排序功能,该方法接收 HashMap为形参,返回类型为 HashMap, 要求对 HashMap 中的 User 的 age 倒序进行排序。排序时 key=value 键值对不得拆散。
2024-05-30 16:17:53
322
原创 【java面试】接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
这个时候,如基础知识(1) 中所说,系统不再给你默认无参构造器, B的构造器根据(2)中的规则去调用super(),却找不到A的无参构造器,所以导致abstract class B extends A{} 编译不能通过。(因为A中没有任何构造器可供子类调用,其实这个时候A只能够供内部类继承,我用的Eclipse的3.4版本会建议给B改名,但是这解决不了这个问题。其实从Object就是个实体类,java的API文档里,每个抽象类的条目里都明确写着直接或间接继承自Object,所以这点是没有疑问的。
2024-05-30 15:34:41
489
原创 Java 断言(Assert)
基本概念:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后, assertion检查通常是关闭的。在实现中,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式计算为false,那么系统会报告一个AssertionError。Java中的断言通过测试我们认为是正确的代码来帮助检测错误。
2024-05-30 15:16:20
960
原创 阿里云存储图片
数据存储到阿里云OSS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。这种方式是手动上传图片,实际上我们可以在程序中设置自动上传图片到阿里云对象存储。
2024-05-27 11:32:41
639
原创 windows安装nacos
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。
2024-05-22 11:59:28
379
原创 Docker Search 异常
出错原因:执行docker search xxx出现Error response from daemon异常时,一般是镜像加速地址配置的问题,如果已经配置过加速还是如上问题,多配置几个加速地址:Docker 官方中国区:网易:中国科技大学:阿里云:vi /etc/docker/daemon.json#添加如下内容重启服务:
2024-05-22 01:52:02
301
原创 docker安装mysql
docker exec -it 容器id或容器名称 /bin/bash。服务端使用的字符集默认为8比特编码的latin1字符集。/var/log/mysql:mysql日志文件目录。可以进入容器,查看容器中mysql配置文件也会存在。/var/lib/mysql:mysql数据文件。/etc/mysql:mysql配置文件目录。设置mysql数据库的数据的存放目录。设置mysql客户端默认字符集。#解决mysql连接慢的问题。group by 查询报错。设置mysql的安装目录。可能会出现下面的情况。
2024-05-22 01:47:15
948
原创 centos7安装docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。建议使用阿里云的镜像仓库地址,比国外的块。看到这个就说明docker安装成功。1.卸载服务器上旧的docker。6.运行 hello world。2.删除docker的文件夹。1.什么是Docker?4.安装Docker引擎。二、Docker的安装。2.Docker官网。3.Docker文档。三、卸载docker。
2024-05-21 17:20:26
764
原创 Redis 知识目录
1、基础篇Redis 概述 链接: Redis 概述-CSDN博客 Redis 10大类型 链接:Redis 10大类型-CSDN博客 redis 键(key) 链接:redis 键(key)-CSDN博客 redis 5大基本类型 链接: redis 5大基本类型-CSDN博客 redis 后5大基本类型 链接:redis 后5大基本类型-CSDN博客 redis 持久化 链接:redis 持久化-CSDN博客 redis事务介绍 链接:redis事务介绍-CSDN博客 Redis管道
2024-05-13 17:39:27
212
原创 Redis集群
定义:由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集 的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。一图:一句话:Redis集群是一个提供在多个Redis节点间共享数据的程序集,Redis集群可以支持多个master。
2024-05-13 17:27:23
808
原创 Redis哨兵
吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务作用:俗称无人值守运维。
2024-05-13 16:50:06
626
原创 Redis复制
一句话:就是主从复制,master以写为主,slave以读为主,当master数据变化的时候,自动将新的数据异步同步到其他的slave数据库。
2024-05-13 16:22:47
937
原创 Redis发布订阅
定义:是一种消息通信模式:发送者(PUBLISH)发送消息,订阅者(SUBSCRIBE)接收消息,可以实现进程间的消息传递一句话:Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息的引导和分流。但是目前不推荐使用该功能,专业的事情交给专业的中间件处理,redis就做好分布式缓存功能订阅给定的一个或多个频道的信息推荐先执行订阅然后在发布,订阅成功之前发布的消息是收不到的。推荐先执行订阅然后在发布,订阅成功之前发布的消息是收不到的订阅的客户端每次可以收到一个3个参数的消息消息种类。
2024-05-13 15:50:45
293
原创 Redis管道
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤:1、客户端向服务端发送命令分四步(发送命令→命令排队→命令执行-返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。2、服务端处理命令,并将结果返回给客户端。上述两步称为: Round Trip Time(简称RTT,数据包往返于两端的时间)。
2024-05-13 14:42:31
517
原创 redis事务介绍
Docs可以一次执行多个命令,本质是一组命令的集合,一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞按顺序地串行化执行而不会被其他命令插入,不许加塞开启开启:以multi开始一个事务入队入队:将多个命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面执行执行:有exec命令触发事务本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!新手小白,欢迎留言指正!
2024-05-13 14:33:57
747
原创 redis 持久化
Docs为什么需要持久化以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但是不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作默认情况下,redis是没有开启AOF的。开启AOF功能需要设置配置:appendonly yes可否共存?如果共存听谁的?Redis配置文档解答:RDB和AOF共存时会优先加载AOF文件数据恢复顺序和加载流程。
2024-05-13 14:16:46
908
原创 redis 后5大基本类型
移动互联网时代LBS应用越来越多,交友软件中附近的小姐姐、外卖软件中附近的美食店铺、高德地图附近的核酸检查点等等,那这种附近各种形形色色的XXX地址位置选择是如何实现的?地球上的地理位置是使用二维的经纬度表示,经度范围(-180,180],纬度范围(-90,90],只要我们确定一个点的经纬度就可以取得他在地球的位置。但是这样会有什么问题呢?1.查询性能问题,如果并发高,数据量大这种查询是要搞垮数据库的 2.这个查询的是一个矩形访问,而不是以我为中心r公里为半径的圆形访问。
2024-05-13 13:35:26
575
原创 Ajax 了解
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件,但需要用户允许 JavaScript 在浏览器上执行。XMLHttpRequest 只是实现 Ajax 的一种方式。
2024-05-11 15:38:39
334
原创 监听器知识
监听器:专门用于对域对象对象身上发生的事件或状态改变进行监听和相应处理的对象监听器是GOF设计模式中,观察者模式的典型案例观察者模式: 当被观察的对象发生某些改变时, 观察者自动采取对应的行动的一种设计模式监听器使用的感受类似JS中的事件,被观察的对象发生某些情况时,自动触发代码的执行监听器并不监听web项目中的所有组件,仅仅是对三大域对象做相关的事件监听监听器的分类(1)web中定义八个监听器接口作为监听器的规范,这八个接口按照不同的标准可以形成不同的分类(2)按监听的对象划分。
2024-05-11 15:30:47
659
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人