- 博客(87)
- 收藏
- 关注
原创 1.用例图
用矩形加系统名称表示,是用例图的一个组成部分,代表的是一个软/硬件或-一个活动等,并不是真正实现的软件系统。用例图(Use Case Diagram)是用户与系统交互的最简单的表示形式,展现了用户和与TA相关的用例之间的关联关系。用例图由参与者、用例、系统边界、各元素之间的关系四个元素组成。表示为一个人形符号,是与系统交互的外部实体,如用户或其他系统。表示为椭圆,描述系统的一个功能或行为。
2024-08-29 13:37:25
248
原创 k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)
再yml部署文件中(k8s),将important.properties文件的内容放到configMap中,然后将configMap挂载到编译后的important.properties文件地址下。这样只要进行部署,important.properties文件的内容就会被yml部署文件里的内容替换。但是密文只能放到指定的配置文件中(important.properties),该配置文件又不能接收环境变量,所以就很难区分不同环境的不同配置(不同环境的数据库密码、redis密码一般都不一样)。
2023-11-07 17:54:27
964
原创 Nacos本地修改编译源码2.2.3
nacos设置数据密码的位置在:nacos-config模块下:src/main/java/com/alibaba/nacos/config/server/service/datasource/ExternalDataSourceProperties.java 类下的build方法下。nacos密码加密修改源码的方式有很多,由于我们这边项目要求,只能使用内部的jar包。在nacos-config模块下创建libs文件夹,让后将jar放到改文件夹下。或者直接下载2.2.3的源码。源码导入idea,然后编译。
2023-11-03 11:34:50
565
原创 内网环境制作nacos镜像
修改docker-startup.sh的编码格式,默认是windows,改成Unix,在notepad++就可以更改。执行docker构建命令:docker build -t nacos-server:2.2.2 .一些高版本要收到加上这三个环境变量,否则启动会报错。认证也要开启,不然可以直接通过接口创建用户。将下载的压缩包,放到build文件夹。认证可以在Dockerfile中开启。也可以在yml部署文件开启。以2.2.2版本为例。
2023-05-29 16:46:45
1285
原创 快速学习JUC并发编程,应对时间紧迫的面试突击。
1. JUC概述JUC是java.util.concurrent工具包的简称,这是一个处理线程的工具包,jdk1.5开始出现的。
2022-04-19 15:23:16
209
原创 常见面试题
1. 微服务篇1.SpringCloud常见组件有哪些?注册中心组件: Eureka、Nacos等负载均衡组件: Ribbon远程调用组件:OpenFeign网关组件:Zuul、Gateway服务保护组件:Hystrix、Sentinel服务配置管理组件: SpringCloudConfig、Nacos2.Nacos与Eureka的区别有哪些?nacos与euraka都实现了服务注册、发现功能nacos实例有永久和临时之分,eureka只有临时实例健康检测方面nacos对临时实例
2022-04-19 15:22:56
1357
原创 MySQL面试知识点总结 - 超强超详细的mysql优化教程,不要只会收藏呦,要好好学习才是王道呀。
本课程不会从0开始,只列出一些可能会在面试环节出现的知识点
2022-04-13 17:28:34
297
原创 Sentinel簇点链路只显示/error和/**
原因这里先说明产生的原因及解决方案。原因是我用了Spring Cloud Alibaba 2.2.0.RELEASE版本,把版本换成其他版本就可以了,比如Spring Cloud Alibaba 2.1.0.RELEASE详细过程请求/seckill/test路径,却不能在簇点链路里显示出来。只显示/error和/**研究了好长时间才发现是Spring Cloud Alibaba 2.2.0.RELEASE版本的问题。换成其他版本就没问题了。换成Spring Cloud Alibaba 2.
2022-04-07 14:03:01
962
2
原创 秒杀专题-秒杀系统怎么支持高并发而又不影响其他业务?快速响应式秒杀系统设计方案
1. 秒杀业务1.1 特点瞬时高并发独立部署如果不独立部署的话,比如放到订单系统中。如果秒杀时间一到,订单系统可能瞬间就会有大量的并发进来,订单系统中其他的业务(比如正常下单、取消订单等)可能会收到影响甚至瘫痪。因此秒杀系统应该独立部署,哪怕秒杀服务器应对不了这么高的并发,也不会影响其他服务。...
2022-04-02 16:13:18
1494
原创 Redis 手摸手教程(番外篇)Redis在电商系统中的使用场景及问题分析
文章目录前言1. 商品分类缓存1.1 介绍1.2 可能遇到的问题及解决方案1.3 代码片段2. 购物车3. 秒杀前言在介绍redis使用场景之前,首先要明白为什么使用?哪些情况下使用?使用的时候可能会遇到哪些常见问题等。不要为了想用而用,更不能为了那虚无缥缈的成就感而过度设计redis,增加系统的复杂度。哪些数据不适合放到redis中?强一致性、实时性较高的数据写多读少的数据数据量较少,查询简单快速哪些数据适合放到redis中写少读多的数据实时性要求不是很高的数据数据量较大,查询复
2022-02-22 13:29:23
3318
原创 微服务入门到入土(06)-Sentinel
1. 初始SentinelSentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。1.1 微服务雪崩问题解决雪崩问题的几种常见方式1.2 Sentinel和Hystrix1.3 微服务整合Sentinel2. 流量控制2.1 快速入门2.1.1 簇点链路2.1.1 流控规则流控模式流控模式 - 关联流控模式 - 链路流控效果流控效果-w
2021-12-09 15:24:12
411
原创 微服务入门到入土(05)-Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
2021-12-06 13:47:12
320
原创 微服务入门到入土(04)-统一网关 Gateway
1. 网关的作用2. Gateway快速入门总结3. 路由断言工厂我们在路由中写的断言规则只是字符串,这些字符串会被Predicate Factory读取并处理,转变为路由判断的条件。Spring中提供了11中基本的断言工厂:总结4. 过滤器4.1 路由过滤器 GatewayFilterGatewayFilter是网关中提供的一种过滤器,可以对网关的请求以及微服务返回的相应做处理。4.2 全局过滤器 GlobalFilter全局过滤器的作用与GatewayFilte
2021-12-01 16:18:47
389
原创 微服务入门到入土(03)-Feign
1. 介绍Feign是一种声明式的http客户端(意思就是只需要把http请求需要的东西告诉Spring就行了,Spring会帮我们封装请求信息)。其作用就是帮助我们更优雅的实现http请求,使用起来比RestTemplate简单、灵活。Feign是基于Ribbon开发的,所以自带负载均衡。2. 使用Feign的步骤3. 自定义配置Feign默认日志级别就是NONE4. Feign的性能优化Feign底层的客户端实现:URLConnection:默认实现,不自持连接池Apache
2021-12-01 14:30:01
396
原创 微服务入门到入土(02)-Nacos
1. 简介nacos最主要以及最常用的功能就是作为微服务生态体系中的服务注册中心以及服务配置中心.它的安装很简单,这里就不做介绍了,安装完之后默认的登录名和密码都是nacos2. 注册中心2.1 服务分级储存模型启动三个userservice实例,其中两个设置为HZ集群,一个设置为SH集群,在nacos查看服务详情如下所示:总结Nacos服务分级存储模型一级是服务,例如用户服务:userservice。二级是集群,例如杭州或上海。三级是实例,例如杭州机房部署了userservi
2021-11-30 17:48:59
389
原创 微服务入门到入土(01)-Ribbon
1.Ribbon1.1 负载均衡源码/原理ribbon可实现微服务中单个服务多个实例的负载均衡,其实现负载均衡的核心代码如下图所示:1.2 负载均衡策略负载均衡规则的接口是IRule,默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询。配置文件的方式修改负载均衡策略1.3 开启饿加载Ribbon默认采用懒加载,也就是第一次访问时才会去创建LoadBalanceClient,请求时间会很长。而饥饿加载会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启
2021-11-30 11:10:49
303
原创 Redis 手摸手教程(1/3) - Redis基础部分
本章内容主要是Redis的基础部分,主要包含redis简介,5种基本类型,通用命令,案例解析等.
2021-11-19 17:41:17
774
原创 MySql高级-02:优化步骤以及优化方法【重点】
文章目录第一章:优化SQL步骤1.1 查看SQL执行频率1.2 定位低效率SQL1.3 explain分析执行计划1.3.1 环境准备第二章:索引的使用第三章:SQL优化第一章:优化SQL步骤在应用程序开发过程中,由于前期数据量小,开发人员更注重功能上的实现。功能上线后随着数据量越来越大,有些SQL可能就会变得很慢,成为系统的瓶颈,这时候就需要对SQL就行系统的优化。本章主要介绍应该从何处以及怎么快速定位SQL问题。1.1 查看SQL执行频率MySQL客户端链接成功后,通过命令来查看服务器的统计结
2021-10-18 17:39:13
362
原创 MySql高级-01:索引、视图、储存过程、触发器
本教程引自黑马程序员MySQL视频:https://www.bilibili.com/video/BV1zJ411M7TB文章目录第一章:索引1.1 概述1.2 优势和劣势1.3 索引结构1.3.1 BTree结构1.3.2 B+Tree结构第一章:索引1.1 概述MySQL官方定义为:索引是帮助MySQL高效获取数据得数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法得数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索.
2021-10-11 15:06:20
146
原创 Shell教程
目录第1章 Shell概述第2章 解析器第3章 Shell脚本入门第4章 Shell中的变量第1章 Shell概述为什么要学习Shell脚本?1.需要看懂 运维人员编写的Shell脚本2.会编写一些简单Shell程序来管理集群、提高开发销量概述Shell是一个命令行解释器,它接收客户端的命令,然后调用操作系统内核。第2章 解析器查看Linux系统提供的解析器有哪些cd /binll | grep bash查看系统默认的解析器echo $SHELL第3章 Shell脚本入门
2021-09-24 11:24:47
473
原创 linux docker常用命令
重启dockersystemctl restart docker重启jenkinssystemctl restart jenkins重启harbor在harbor安装目录下执行docker-compose down./preparedocker-compose up -d重启所有docker服务docker restart $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)设置开机启动docker update mysql --rest
2021-09-03 09:42:15
133
原创 k8s安装
关闭防火墙systemctl stop firewalldsystemctl disable firewalld关闭selinuxsed -i ‘s/enforcing/disabled/’ /etc/selinux/config #永久关闭 swapsed -ri ‘s/.swap./#&/’ /etc/fstab设置主机名hostnamectl set-hostname 将桥接的IPv4流量传递到iptables的链cat > /etc/sysctl.d/k8s.co
2021-09-03 09:40:26
142
原创 Harbor安装
离线安装docker-compose首先现在安装包:https://github.com/docker/compose/tags然后上传到linux服务器并执行以下命令mv docker-compose-Linux-x86_64 /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composedocker-compose -v安装harbor下载Harbor的压缩包https://github.com/goharbor
2021-09-03 09:37:00
247
原创 离线安装Harbor
离线安装docker-compose安装Harbor之前要先安装docker-compose。下载地址:https://github.com/docker/compose/tagssudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose -v离线安装Harbor下载地址:https://github.c
2021-08-31 14:22:14
336
原创 jenkins 配置Java和Maven
下载并配置mavenwget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gztar -xzf apache-maven-3.6.3-bin.tar.gzmkdir -p /opt/mavenmv apache-maven-3.6.3/* /opt/maven#**配置环境变量**vi /etc/profileexport JAVA_HOME=/usr
2021-08-27 14:51:31
343
原创 Jenkins插件管理
Manage Jenkins->Manage Plugins点击Available 等待插件加载完成在然后将插件地址替换成国内地址,命令如下:cd /var/lib/jenkins/updatessed -i ‘s/http://updates.jenkinsci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g’ default.json && sed -i ‘s/http://www.google.com
2021-08-26 22:37:24
175
原创 centos7安装jenkins
1.首先安装jdk1.8的环境:yum install java-1.8.0-openjdk* -y2.下载jenkins地址:http://mirrors.jenkins.io/redhat-stable/3.安装jenkins:rpm -ivh jenkins-2.277.1-1.1.noarch.rpm4.修改jenkins配置:vi /etc/sysconfig/jenkinsJENKINS_USER=“root”JENKINS_PORT=“8081”5.启动jenkinssy
2021-08-26 18:06:15
107
原创 MySql高级-03:MySql优化快速学习
索引索引时帮助mysql高效获取数据的数据结构优点提高数据库的检索速度,降低IO消耗降低数据排序的成别,降低CPU消耗缺点索引也展内存空间提高了查询的速度却会降低更新表的速度分类单值索引唯一索引:允许有空值复合索引:一个索引包含多列什么情况下需要建索引频繁查找的字段查询中与其他表关联的字段频繁更新的字段不适合创建索引where条件里用不到的字段不创建索引高并发下最好创建组合索引查询中排序的字段适合创建索引查询中统计或分组字段什么情况下不要创建索引表
2021-04-15 15:05:24
115
原创 多线程基础
多线程的几种创建方法方法一:基础Thread类方法二:实现Runnable接口方法三:FutureTask配合Thread线程的生命周期一个线程完整的生命周期 一般要经历一下5个状态:新建:刚被创建的线程就处于新建状态。就绪:新建状态的线程被执行start()方法后,将进入线程队列等待CPU的调用,它已经具备了运行的条件,只是没有分配到 CPU资源运行:就绪状态的线程获得CPU资源并且被调度,就进入运行状态,运行状态下调用yield()会重新变成就绪状态,调
2021-03-23 15:38:23
86
原创 22、设计模式之代理模式
概述由于某些原因需要给对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。Java中代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理类在编译器生产,而动态代理类是在java运行时动态生成。动态代理又有JDK代理和CGLib代理两种。结构抽象代理类(Subject):通过接口或抽象类声明真实主题和代理对象实现的业务方法。真实主题类(Real Subject):实现了抽象代理类中的具体业务,是代理对象所代表的真实对
2021-01-05 14:35:35
83
原创 21、设计模式之解释器模式【难】
定义给定一个语言,定义的它文法(描述语言的语法结构)表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。‘’文法规则:expression ::= value | plus | minusplus ::= expression ‘+’ expressionminus ::= expression ‘-’ expressionvalue ::= integer注意:这里的“::=”表示“定义为”的意思,竖线 | 表示或,引号内为字符本身,引号外为语法。上述的规则可以描述为:
2020-12-31 14:15:28
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人