- 博客(56)
- 资源 (12)
- 收藏
- 关注
原创 Spring Cloud OAuth认证中心
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。OAuth 2.0 也是目前最流行的授权机制,用来授权第三方应用,获取用户数据。授权码模式(authorization code)简化模式(implicit)密码模式(resource owner password credentials)客户端模式(client credentials)
2024-10-25 16:07:25
1125
原创 Spring Cloud Gateway 服务网关
Spring Cloud Gateway是基于Spring生态系统之上构建的API网关,包括:Spring 5.x,Spring Boot 2.x和Project Reactor。Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到API,并为它们提供跨领域的关注点,例如:安全性,监视/指标,限流等。什么是服务网关API Gateway(APIGW / API 网关),顾名思义,是系统对外的唯一入口。API网关封装了系统内部架构,为每个客户端提供定制的API。
2024-10-18 17:34:27
421
原创 冒泡排序写法
这种写法当然存在一定的弊端,就是假如这个数组内只有两个元素无序的,其他的元素都是有序的,例如:{1,3,2,4,5,6,7,8}那么其他有序的元素就没有必要再一一对比了,于是就有了下面的优化算法;可以看到,优化后的算法增加了一个标识,只遍历两轮就结束了,省去了无用的遍历开销;
2024-07-02 23:14:22
289
原创 K8s存储对象的使用
容器中的进程看到的文件系统视图是由它们容器镜像的初始内容以及挂载在容器中的卷所组成的。容器中的文件在磁盘上是临时存放的,这给在容器中运行较重要的应用带来一些问题: 当容器崩溃或停止时,此时容器状态未保存, 因此在容器生命周期内创建或修改的所有文件都将丢失。这里的意思就是将nfs的/nfs/data/nginx-pv目录挂载到容器内的/usr/share/nginx/html目录,这样两边的目录文件就可以做到实时同步了;卷的核心是一个目录,其中可能存有数据,Pod 中的容器可以访问该目录中的数据。
2024-06-04 19:45:46
1023
原创 K8s中配置使用ingress
前面也提到,Ingress资源要正常工作,集群必须有一个正在运行的 Ingress 控制器, Ingress 控制器不是随集群自动启动的,目前k8s项目中,支持和维护 AWS、 GCE 和 Nginx Ingress 控制器;当然也有一起其他三方的控制器可使用;注意:配置文件中除了镜像的地址改后,ingress-nginx-controller的Service默认的type、ingress-nginx-controller的Deployment的配置中的hostNetwork也按照需求改一下。
2024-05-29 11:34:32
1244
原创 K8s种的service配置
官方的解释是:k8s中最小的管理单元是pod;而service是 将运行在一个或一组 Pod 上的网络应用程序公开为网络服务的方法;Kubernetes 中 Service 的一个关键目标是让你无需修改现有应用以使用某种服务发现机制。你可以在 Pod 集合中运行代码,无论该代码是为云原生环境设计的,还是被容器化的老应用。你可以使用 Service 让一组 Pod 可在网络上访问,这样客户端就能与之交互。
2024-05-28 17:17:47
1411
原创 k8s配置pods滚动发布
采用微服务架构部署的应用,部署方式都要用到容器化部署+k8s容器编排,最近我在公司负载的系统也是用的上述架构部署,但是随着系统的运行,用户提的需求就会越多,每次更新的话都要停机发布,最用户侧来说就不太方便了,传统的部署方式是使用nginx来做负载均衡,然后手动来做滚动发布,殊不知k8s也有自己的一套配置,来解决滚动发布的事情,并且系统发布时用户侧其实是无感知的;默认是 0 秒,最小值是 0。如果就绪态探测失败, 端点控制器将从与 Pod 匹配的所有服务的端点列表中删除该 Pod 的 IP 地址。
2024-05-22 16:56:47
1419
原创 JS中的扩展运算符...
例如,如果 history 是 [[null,null,null], [“X”,null,null]],nextSquares 是 [“X”,null,“O”],那么新的 […history, nextSquares] 数组就是 [[null,null,null], [“X”,null,null], [“X”,null,“O”]]。history, nextSquares] 创建了一个新数组,其中包含 history 中的所有元素,后跟 nextSquares。是扩展运算符,是es6的新语法;
2024-05-09 15:28:08
454
转载 JS中map()、forEach()、filter()函数
作为一个不是专业的前端开发人员,经常会遇到遍历数组的方法,之前只会使用for循环,但是看到别人写的代码后,发现还有map()、forEach()、filter()函数;针对这三个函数使用时,有时会区分不了有什么区别;
2024-05-09 10:45:20
47
原创 mysql使用命令给指定用户配置表权限
记录使用命令为用户配置表权限,可用于使用Navicat工具配置权限报错场景下使用:首先进如部署MYSQL的服务器,然后开始按照以下步骤操作。
2024-03-12 16:44:28
476
原创 Nginx配置文件理解
这里location后的路径要注意一下,其匹配规则有一定的优先级,且这里的距离地址,就是浏览器内除了ip:port以外的其他部分,例如http:127.0.0.1:8080/seriver/api,location的内容就是控制除了http:127.0.0.1:8080这部分之外其他路径的访问情况的;当然更深入细致的理解最好去官网细致学习一下,并配和实践多多练习才是最好的;5、分别浏览器访问http://www.ly.com、http://www.weq.com会看到不同的主页内容;
2023-08-11 17:38:57
344
原创 浅谈4种redis不同部署模式的理解和对比
可以实现两个redis服务部署在不同机器上,一主一从模式;主节点有数据写入后会同步到从节点内,写操作一般在主节点上进行,从节点进行读的操作;从节点可以设置只读属性,但是主节点没有只写属性;高性能受限于单核 CPU 的处理能力(Redis 是单线程机制),CPU 为主要瓶颈,所以适合操作命令简单,排序、计算较少的场景。也可以考虑用 Memcached 替代。主从模式避免了单机部署的单点故障,实现了读写分离;存在单点故障,服务宕机后,缓存无法使用;部署方便,架构简单;数据可靠性无法保证;
2023-06-08 13:42:49
1479
原创 个人关于IaaS、Saas、Paas、DaaS平台的理解
通俗点说就是软件公司为用户提供一些基础设施,包含计算机、存储、网络、服务器等设施资源,用户可以按需购买符合自己要求的基础设施,并且不用自己再费劲搭建基础设置,可以降低用户自己监控、运维的基础设施的成本;但是,初次之外的应用程序所需的软件和框架,像操作系统、数据库、中间件、前后端代码程序都需要用户自己去维护;但是呢,这些数据可能用户自己提供比较麻烦,存储成本也比较高,而Daas则可以将数据收集、处理、分析集一身,凭借他的较强的处理、分析、计算能力,来为用户提供一种特定功能的数据接口和api;
2023-05-22 14:02:12
598
原创 mysql双游标嵌套循环
系统要上线新功能,引入了BPMN流程引擎,引入该引擎后就会涉及到历史数据处理问题,因为系统已经生成了上千条业务数据,由于不是靠BPMN引擎流转的,所以需要将业务数据和流程引擎关联起来,有多少条在执行的业务数据,就生成多少条流程实例,我们的流程引擎使用的是activiti流程引擎框架;其中一块的历史数据处理是要查询出符合条件的历史数据,然后遍历循环业务,业务数据中有个处理人的字段是多人的,要把这个多人的以逗号分隔开,有几人再次循环几次;
2023-04-07 11:30:47
860
转载 JS闭包是什么
闭包(closure): 可以访问其他函数内部定义的变量的函数。在js中,只有函数内部的子函数才能访问到局部变量,所以,闭包可以理解为"定义在一个函数内部的函数"。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
2023-01-04 17:04:39
157
转载 基于XA协议的分布式事务解决方案
2PC方案是在传统数据库层面实现的,如Oracle和MySQL都支持2PC协议,为了统一标准减少在行业内不必要的对接成本,需要制定标准化的处理模型以及接口标准,国际开放标准组织Open Group定义了分布式事务处理模型DTP(Distributed Transaction Processing Reference Model)例子用新用户注册送积分为例来解释一下应用程序(AP)连接用户库和积分库两个数据源;应用程序通过TM(事务管理器)通知用户库和积分库执行准备阶段的事务:通知RM新增用户,之
2022-03-30 17:08:54
230
转载 什么时候用InputStream,什么时候用Outputstream
读文件BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("infilename")));不管你从磁盘读,从网络读,或者从键盘读,读到内存,就是InputStream。写文件BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("outfilename")));...
2022-03-08 16:21:04
247
原创 Log4j的日志打印级别理解
之前对log4j日志打印一直没有在意过,等在自己要用的时候却又似懂非懂的样子,今天特意记录一下;常用的5种日志级别按照优先级从高到低排序:FATAL, ERROR、WARN、INFO、DEBUG;通过在配置文件中定义的级别,您可以控制应用程序打印相应级别的日志信息。比如在配置文件汇设置了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。如果设置级别为INFO,则优先级高于等于INFO级别(如:INFO、
2021-11-05 13:35:23
2104
原创 前端post请求Content-Type和后端对应的接收参数方式
今天遇到一个奇葩问题,废了大半天,原来是没有理解前端发送http请求传参方式,不同的content-type会进行不同传参,后台也要用不同的方式接受,在此记录一下;我们的程序使用的是前后端分离,前端使用vue,所有的请求都做的拦截的设置:// request拦截器设置service.interceptors.request.use( config => { switch (config.urlType) { case 'autoService': conf
2021-10-28 11:05:52
9288
1
原创 总结过滤器和拦截器区别,静态代理和动态代理区别
过滤器Filter和拦截器Intercepter的区别:拦截器是基于Java的反射机制的,而过滤器是基于函数回调。 拦截器不依赖于servlet容器,过滤器依赖于servlet容器。 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次 拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注
2021-03-29 11:01:04
567
原创 使用游标循环一个表的查询结果批量更新另一个表
create or replace procedure proc_aisg_ varchar(50);x_ varchar(50);y_ varchar(50);cursor myCursor is SELECT b.gridcode, b.x_center,b.y_center FROM T_GRID_NEW_CENTER b;--这里查询取了三个字段beginopen myCursor;--打开游标loopfetch myCursor INTO g_,x_,y_;--这里就可以int.
2021-02-24 16:19:21
387
原创 基于H5页面编写的调用手机相册和摄像头
开发背景:前端框架使用sui样式框架;页面使用jq;一、动态引入相关的js文件由于sui的路由特性,在跳转到新页面时,新页面的js是无法加载的,只有主页面的js加载且运行,新页面定义的对象和方法基本都没法调用;在调试模式下查查看页面跳转时,只有静态的页面html内容变化了,而js还是跳转前页面的js,所以,这里使用了监听页面跳转方法,动态引入调用相机js;$(document).on("pageInit", function (e, pageId, $page) { if (p
2020-12-21 10:45:06
1974
原创 Nginx入门级安装和基础使用
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。应用场景http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时
2020-10-13 16:27:57
332
1
原创 activeMQ测试demo
一、安装MQ官网下载activeMQ的Linux包,这里使用的是apache-activemq-5.12.0-bin.tar.gz,安装过程很简单,包复制到指定目录下并解压即可,不许其他配置;解压后的文件进入解压后的文件夹启动MQ:进入bin文件夹,运行activemq就行如何检查是否测试成功呢,访问http://192.168.25.128:8161/admin/,账号密码都是admin,若能打开activeMq管理后台,说明就是启动成功的;ip是你安装mq机器的IP;.
2020-08-06 14:15:29
1223
原创 redis命令记录
链接redis集群中的某个节点[root@centos ~]# ./redis-cli -h 192.168.25.128 -p 7001 -c查看节点信息命令192.168.25.128:7001> cluster nodes
2020-07-07 17:35:31
142
原创 Jedis使用案例--单机版,集群版代码编写案例
一下是jedis使用的代码测试案例,第一个是单机版,第二个方式是创建连接池,第三个方式是集群方式;public class TestJedis { @Test public void testJedis() throws Exception { //创建一个jedis对象,需要指定服务的ip和端口号 Jedis jedis = new Jedis("192.168.25.153", 6379); //直接操作数据库 jedis.set("jedis-key", "1234");
2020-07-06 17:30:06
579
转载 淘淘商城系列——Redis集群的搭建(转载)
本文我将带领大家如何搭建Redis集群。首先说一下,为何要搭建Redis集群。Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不...
2020-07-06 17:23:42
181
原创 获取select下拉框的选中条目的文本
$(data.elem).find("option:selected").text()$(data.elem)是jq对象;
2020-06-24 16:06:09
437
原创 接口相应返回的json格式工具类
public class ResultDate implements Serializable{ // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); // 响应业务状态 private Integer status; // 响应消息 private String msg; // 响应中的数据 private Object data;.
2020-06-08 17:16:05
350
原创 bootstrap-model实现双层弹框;
bootstrap默认的模态窗弹出双层时是有问题的,一般第二个弹出的窗口会在第一个窗口遮罩层的下边,并且样式也会被影响掉;按照以下方法,就可以显示双层弹出,并且如果第一层有滚动条,也不会影响第一层的滚动条;一,首先第二层的弹框要加一个隐藏的样式;例如:<div class="modal fade " id="talkAndVideo_model" tabindex="-1"...
2019-12-04 15:45:11
1443
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人