- 博客(170)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 nginx集群的介绍、虚拟机安装nginx和nginx集群
可以为每个武器配置一个权重值,权重值越大将会有机会分担更多的请求,该配置方式比价适合集群中各个服务器配置不均衡的情况,对高的服务器可以配置大一些的权重,对配置低的机器可以配置小一些的权重。将请求轮流分配到注册的后端服务器中,平等的对待所用的后端服务器,不关心服务器的实际连接数就负载情况。每个worker进程是互相独立的,互相不影响,一个进程的退出不影响其他的进程服务。根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器的大小进行取模计算,得到的结果作为客户端要访问的服务器的序号。
2023-06-26 11:48:14
726
2
原创 springmvc的简单理解
在接口上加上@ResponseBody 根据该方法的返回值来返回对应的json数据,底层是根据返回值序列化成json数据。
2023-06-26 11:47:52
201
原创 vm安装使用centos-7安装linux
3. 来到/etc/yum.repos.d。注:如果修改不了那么点击更改设置即可。8. 换源步骤(乌班图的版本不适应)2. 将网络和主机名(以太网)打开。4. 下载阿里的软件源配置文件。5. 常见报错以及解决方法。2. 备份原来的默认配置文件。4. 服务端口号:22。3. 设置DHCP的租约。1. 安装源,选择默认。
2023-06-26 11:47:40
1040
原创 Rabbit MQ的基本使用
虚拟主机的概念,它是对Broker的虚拟划分,将消息生产者,消费者,和它们依赖的AMQP相关的结构进行隔离,一般是从安全方面的考虑。AMQP是Advanced Message Queuing Protocol的简称,是面向消息中间件的开放式标准应用协议,这样意味着RabbitMQ可以更容易的构建异构的系统。RabbitMQ是以AMQP协议实现的一种消息中间件产品。消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。
2023-06-26 11:45:53
903
原创 Java基础面试题
注:这道题先说两者的共同点,再说出&&和&的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。(平时使用两个&就行了)
2023-06-26 11:45:24
40
原创 【无标题】
git中分支的概念和svn及cvs等vcs系统总的概念是一样的,但实现机制不同,git中的分支更轻量,创建和删除分支的开销极小。使用分支的一个典型场景:1)你需要做一个新功能的开发2)你创建了一个分支,在这个分支上进行新功能的开发此时你接到上线系统有一个需求紧急修复的问题,你的做法是:1)切换到线上系统对于的分支。2)为修改紧急问题新建一个分支(例如:issue-191206)3)在新建的分支中修改问题,测试通过后,合并这个修改到线上分支。
2023-06-26 11:45:10
568
原创 为什么需要使用Docker
1.介绍Docker是一个开源的应用容器引擎,基于Go语言开发的,并且遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖,打包到轻量级、可移植的容器中,然后发布到任何一个流行的Linux服务器上,也可以实现虚拟化。2.Docekr的主要目的是‘build , ship and run any app , anywhere’,也就是说打包了之后,可以做到将用户的app及其运行环境实现‘一次封装,到处运行’。3.作用4.优势。
2023-05-05 16:15:45
2221
2
原创 spring的简单理解
在没有学习spring之前呢,我们都是以new的方式来创建对象,那么这样就会显得代码冗余,是因为没有统一的进行管理,底层是使用反射+工程模式+解析xml实现的,最常见的方式i就是依赖注入注:ioc容器可以对每个对象创建的过程,进行一个统一管理。
2023-02-10 16:51:34
592
原创 微信小程序介绍
2017年度百度百科十大热词之一微信小程序(wei xin xiao cheng xu),简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装,用完即走,实际上是需要安装的,只不过小程序的体积特别小, 下载速度很快,用户感觉不到下载的过程 )限制:同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。
2023-02-03 18:53:52
2512
原创 Rabbit MQ的基本使用
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。是程序与程序之间传递信息的一种方式。作用:异步: 一般适用于耗时但非核心业务的处理,即:程序无需等待非核心业务处理完成,即可进行下一步操作,有点像电路中的并行电路解耦:通过引入消息总线,将模块之间的直接的调用,转化为消息的传递。消峰:对于来不及及时处理的消息,可以暂存于消息队列里排队。
2023-01-07 15:33:34
978
原创 docker安装nginx与容器之间的互相通信
在运行容器时可以通过--net参数指定网络模式,例如:host模式: --net=host 容器不会虚拟自己的网卡,使用宿主机的ip和端口none模式: --net=none 该模式等同于关闭容器的网络功能,一般在不需要网络的批处理任务中才使用bridge模式: --net=bridge 默认值,如果指定--net参数,则docker就会采用这种模式,这种模式也是最强大灵活,使用的最广的网络模式。
2023-01-07 12:54:14
2883
原创 docker网络模式
Docker每次创建容器都会同时创建一组互联的网络接口,你可以理解为一根管道的两端, 这组接口一端作为容器的eth0接口,另一端命名类似于veth966865c@if100这样的名字,作为宿主机的一个端口。可以将veth接口的理解为虚拟网线的一端,这个虚拟网线一端插在名为docker0的网桥上,另一端插到容器中。docker的最佳实践建议为每个服务创建单独的docker容器,比例:db,redis,应用服务等等,那么不同的服务需要连接以便于作为整体为客服提供服务,例如应用服务需要连接db,redis等。
2022-12-29 17:09:36
771
原创 alpine的介绍与使用
Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get,centos中式yum),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息。
2022-12-29 16:44:08
4362
1
原创 Dockfile是什么
需要注意的是使用docker run命令可以覆盖CMD指令,如果我们在Dockerfile里指定了CMD指令,而同时在docker run命令行中也指定了要运行的命令,命令行中指定的命令会覆盖Dockerfile中的CMD指令。CMD指令用于指定一个容器启动时要运行的命令,这有点儿类似于RUN指令,只是RUN指令是指定镜像被构建时要运行的命令,而CMD是指定容器被启动时要运行的命令。我们可以使用该指令为Dockerfile中后续的一系列指令设置工作目录,也可以为最终的容器设置工作目录。
2022-12-29 14:31:33
908
原创 docker中的数据卷
创建一个容器,该容器既挂载了需要备份的数据卷(有volumes-from参数指定),又挂载了用来备份数据的数据卷(可以用-v参数指定),通过tar压缩命令,将volumes-from参数指定的需要备份的数据卷,压缩到用来备份的数据卷中(等同于保存到了宿主机对应的目录中)。创建一个临时容器,既挂载了用于存放还原数据的数据卷容器,又挂载了存有备份数据的数据卷,然后使用tar命令,将备份的数据解压到存放还原数据的数据卷中。创建的数据卷默认是可以读写的,这适合于绝大多数情况,也可以将卷设置为只读的,如下所示。
2022-12-25 15:45:57
1488
原创 docker入门以及常见的命令
首先我们可以好好的看看docker的那个可能的图标,你想象到了什么?...docker是一个开源的应用容器引擎,有Docker公司(前dotCloud公司)开发,基于Apache2.0开源授权协议发行。该引擎提供了一个轻量、快递的环境,能够运行开发者的程序,并方便高效的将程序从开发者的电脑部署到测试环境,然后再部署到生产环境。docker的优点:启动速度快(秒级),由于去除了管理程序的开销,docker容器拥有很高的性能,同一台宿主机可以运行更多的容器,有效的利用了资源。
2022-12-25 13:31:58
1007
原创 gateway中的限流与熔断
Spring Cloud项目启动后,首次使用 FeignClient 请求往往会消耗大量时间,并有一定概率因此导致请求超时(java.net.SocketTimeoutException: Read timed out),因而有可能会触发熔断,这是由于在调用其他微服务接口前,会去请求该微服务的相关信息(地址、端口等),并做一些初始化操作,由于默认的懒加载特性,导致了在第一次调用时,出现超时的情况。网关是所有请求的入口,如果部分后端服务延时严重,则可能导致大量请求堆积在网关上,拖垮网关进而瘫痪整个系统。
2022-12-24 15:33:51
2432
原创 springcloud-gateway简介
SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行集成,仍然还是使用的Zuul 2.0之前的非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。
2022-12-24 12:12:00
1895
原创 Nacos的配置中心的了解
如果对Netflex公司开发的微服务组件有所了解,应该知道在Neflex服务组件中也有配置中心,但需要专门创建一个注册中心服务与GitHub(或类型的git仓库)中的配置文件仓库关联,其他服务使用配置中心时需要调用配置中心服务。nacos则比较简单,只用在需要配置中心的模块中直接配置即可。1)通过上面讲述的配置步骤,再配置一个配置文件,dataId:nacos-config-test.yml, test表示为测试环境。1)在配置中心中创建一个新的配置文件,并指定分组,dataId的规则同上。
2022-12-21 17:10:20
1039
原创 服务的消费方式和服务熔断
熔断机制相当于生活中的比较接近的例子就是电容丝,在用电量过载时会发生熔断,以避免灾难性的后果。在微服务架构中往往会包含大量的微服务,且这些微服务之间会发生互相调用,如果此时某个微服务发生故障,则可能产生连锁反应,在一些资料中将这种现象称为微服务雪崩。为了避免这种情况的发生就有了微服务调用的熔断机制,这种机制可以对发生问题的服务及时进行隔离,避免微服务雪崩的出现。在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。1)导入需要的依赖包。
2022-12-21 15:59:05
623
原创 联表查询之交叉连接、内、外连接
目录1、交叉连接(笛卡尔积)2、内连接2.1 显示内连接(inner join)2.2 隐示内连接 2.3 内连接的练习 2.3.1 查询第一或者二学期中所有的学生2.3.2 查询第一和第二期所有的学生 2.3.3 查询每个班级下的学生总数,并且按照学生总数升序在(降序)排列 2.3.4 查询班级总人数>2的班级,并且人数降序排列 3、外连接3.1 左外连接(left outer join,outer可以省略)3.1.1 左外连接练习3.1.2 所需表(学生表和班级表)编辑3.1.3 查询结果与内连接对比
2022-12-06 23:56:55
1026
原创 springcloud之微服务的介绍与服务注册案列
单应用架构 -> 应用服务器和数据库服务器分离 -> 应用服务器集群 -> 数据库压力变大,数据库读写分离 ->引入缓存机制缓解数据库的压力 -> 数据库的水平/垂直拆分(数据库分库分表) -> 应用的拆分(微服务)从系统架构上可以大体分为两种:单体应用, 分布式应用1)单体应用缺陷: 优点:2)分布式应用 springcloud官网介绍缺点:优点:常用的微服务分布式框架:1)dubbo: 阿里开源的微服务框架,2)springcloud: 基于spring,springboot的开源微服务框架
2022-12-06 23:11:02
230
原创 springboot常用工具集成
阿里开源的数据库连接池,使用java开发,提供强大的监控和扩展功能,可以替换DBCP和C3P0连接池,性能要比其他的连接池要好。项目创建完成后可以查看pom.xml文件,上面选择的的第三方组件已经加入到pom.xml中了。在需要进行事务管理的类或方法上加入事务注解就可以了(@Transactional)可以通过postman进行测试,如果正常在redis中添加key,则说明集成成功。打开application.properties文件。注:可以参考第二次课演示的操作步骤,有详细的拷图。
2022-11-17 17:09:01
427
原创 springboot-freemarker视图渲染
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。spring.freemarker.template-loader-path=classpath:/templates/,页面文件放在此目录中。注:spring.freemarker.request-context-attribute=request,就可以使用request对象了。1) 在controller。
2022-11-17 10:56:33
523
原创 springboot入门
Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等)Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都 只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。优点:1)快速的创建应用。
2022-11-17 09:35:17
258
原创 虚拟机Linux如何做快照、备份以及快照的使用
注:选中一个计算机(虚拟机(版本是Linux),centos-7只是Linux的一个版本,客户端就是为了方便操作虚拟机,),然后点击光标处(类似一个时间钟,左下角是一个加号+),然后可以打个备注和描述。注:最右边是当前位置,如果在当前位置出现了报错或者是步骤太多防止失误,而导致虚拟机报错什么的,那么就可以选中回到之前大块照的地方(途中蓝色区域为上上图的快照),然后点击下面的转到即可。注:打开虚拟机所在的目录,然后选中后压缩即可,如果需要使用直接解压拷入虚拟机中即可。
2022-11-16 19:01:42
3426
原创 vim的一般使用
1) 什么是SSHSSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全2)SSH服务端和客户端SSH服务端是一个守护进程,一遍为sshd进程,在后端运行并响应来自客户端的请求。SSH客户端常用的有BvSsh,SecureCRT,putty等。3)基本工作机制客户端发送一个请求到服务端服务端做数据验证,如包及ip地址等,在发送一个秘钥给ssh客户端客户端再将密钥发回服务端,自此建立连接。
2022-11-11 19:48:47
393
原创 Java注解式开发
自定义的注解也有(Mylog AOP。value,name两个自定义参数。注:tmpdb是数据库的名称。,web.xml的版本切换至。注:将jkd版本切换至。
2022-11-11 19:33:32
2690
3
原创 Linuxd中常见命令
tar --exclude=abc/1.txt -zcvf abc.tgz abc 作用: 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tgz。给file的所有者分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限。echo 写入内容,如果写了内容,并且已存在此文件,那么就会覆盖(也就相当于创建了一个文件,并且是写入了内容的文件)当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件。
2022-11-09 16:33:58
940
原创 his医院系统
目录1. 系统管理a. 科室管理b. 检查费用设置c. 挂号费用设置。。。2. 药品管理a. 采购药品b. 库存查询3. 看病就诊a. 门诊挂号b. 挂号收费和退费4. 收费管理a.处方收费5. 检查管理
2022-10-24 20:22:16
123
原创 Java中的权限修饰符和状态修饰符
可以看到,被private修饰了之后,在demo02这个类中无法调用parent中的privateA2方法。如果没有写public修饰符,那么这就是一个default,这样一来就只能在同级包下进行访问。在任意一个包下只要是被public修饰符修饰,那么方法,属性,类,这样一来就可以直接访。可以看到idea会提示你,你不需要写一个default,默认会加上一个default。如果需要挎包调用,那么首先继承有此方法的那个类,然后才能调用。因为private只能在本类中进行访问,就算在同包下,也不行。
2022-10-04 14:49:08
597
原创 mockjs的基本使用和登录跳转到主页加折叠事件
Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。数据类型丰富支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。拦截Ajax请求不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。官网注:easy-mock,一个在线模拟后台的数据平台。
2022-09-29 17:07:59
1037
原创 vue搭建项目、创建登录页面和后台交互之引入axios
通过观察控制台可以发现,post发送请求时,请求参数是以json格式通过request payload进行传送的,的struts的并没有处理这种方式传递的参数(起码是我们使用的struts版本),所以传递到服务器的参数并没有得到有效的解析。2)在element-ui组件,在form组件中找到与登录页面类似的组件,拷贝代码到刚新建的Login组件中,修改为自己需要的登录页面,页面包含:账户,密码, 提交按钮。在命令行,到自己的vue工程存放的目录,运行一下命令,前提是vue-cli先安装好。
2022-09-28 20:52:52
4764
1
原创 成员变量与局部变量的区别和访问修饰符(private)与get和set方法的生成
如果被private修饰的属性,只能够在我们student当前类中访问age和赋值。
2022-09-27 19:21:19
432
原创 单个、多个对象内存图
因为都是属于studnet在一个对象(栈)中,所有分别new了一个mayikt和xiaojun,但是并不影响student这个对象类中的属性,所有输出都是小军---24。属性会默认设置为默认值。
2022-09-27 19:01:46
95
空空如也
谁能告诉我答案是什么?
2021-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人