自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 搭建基于SornaQube的自动化安全代码检测平台

代码安全审计工具是以静态的方式在程序中查找可能存在的安全缺陷,如:缓冲区溢出、空指针引用、资源泄露和SQL注入等。安全代码测试工具目前比较多,例如Fortify、FindBugs等,大家感兴趣可以通过互联网搜索到这些工具的一些描述,本文中也不再赘述。

2024-01-16 20:36:56 1206

原创 被黑客攻击的过程记录

经过以上步骤就可以完全拿下机器,我能看到的信息也就是有一个异常的socket连接和一个一直在运行的/bin/ps 进程,而且他这个/bin/ps 进程的PID还会变。突然想到了去/proc/ 看下进程的相关信息,就看到了如下所示的内容,发现这个进程实际上就是执行/tmp/server 文件,但是文件已经被删除,但是内存中却留下来,以便黑客继续控制机器。经过查看,发现并没有被人改过,这下就奇怪了,为什么会有这个进程呢,而且还一直存在进程中?不看不知道,一看吓一跳,有一个shell 反弹,

2024-01-16 20:26:34 441

原创 K8s部署Redis cluster集群

Redis Cluster 提供了一种运行 Redis 安装的方法,其中数据 在多个 Redis 节点之间自动分片。Redis Cluster 还在分区期间提供了一定程度的可用性,这实际上是在某些节点出现故障或无法通信时继续操作的能力。但是,如果发生较大的故障(例如,当大多数主节点不可用时),集群将停止运行。那么在实践中,您从 Redis Cluster 中得到了什么?

2024-01-16 20:22:40 1059 1

原创 CentOS7部署ceph

不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

2024-01-16 20:10:36 961

原创 RabbitMQ脑裂处理

官网问题的链接是: https://www.rabbitmq.com/partitions.html。消息会翻倍,在两个集群上均存在消息,不过不用担心,带集群恢复后,message_ready会自动消除。修改配置文件: /etc/rabbitmq/rabbitmq.config。可以看到133服务器已经分裂出去了。在脑裂的服务上查看集群状态。

2024-01-16 20:06:31 533

原创 微服务接口工具Swagger2

ApiOperation(value = "增加用户", notes="执行增加用户操作")@ApiImplicitParam(name = "name", value = "用户名", required = true, paramType = "query", dataType = "String"),

2024-01-12 20:28:07 1077 2

原创 如何将重复方法封装为Aop切面并结合注解使用

【代码】如何将重复方法封装为Aop切面并结合注解使用。

2024-01-12 19:49:21 466

原创 SSM框架使用Activiti工作流

1)、概念工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。2)、工作流系统一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么?就是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上,所以一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。

2024-01-11 19:28:52 859

原创 Corn表达式详解

在使用定时调度任务的时候,我们最常用的,就是cron表达式了。通过cron表达式来指定任务在某个时间点或者周期性的执行。cron表达式配置起来简洁方便,无论是Spring的@Scheduled还是用Quartz框架,都支持cron表达式。但是理解cron表达式,还是需要花上几分钟的时间来学习的。

2024-01-11 19:25:11 420

原创 关于‘ Mybatis中的动态SQL语句 ‘解析

MyBatis中的动态SQL是一种可以根据不同条件生成不同SQL语句的技术。它允许我们在映射文件中编写灵活的SQL语句,以便根据参数的不同情况来动态生成SQL语句。这种灵活性使得我们能够根据应用程序的需求来构建动态的查询语句。

2024-01-11 19:17:30 3004

原创 如何在Spring Boot中使用EhCache缓存

在查询数据的时候,数据大多来自于数据库,我们会基于SQL语句与数据库交互,数据库一般会基于本地磁盘IO将数据读取到内存,返回给Java服务端,我们再将数据响应给前端,做数据展示。但是MySQL这种关系型数据库查询数据相对比较慢,因为有磁盘IO,或者是全盘扫描的风险,在针对一些热点数据时,会对MySQL造成比较大的压力,此时我们可以采用缓存的方式来解决。而缓存又分为很多种,相对服务端角度来说,可以采用Redis和JVM这两种方式。

2024-01-11 19:13:49 2605

原创 Java编程避坑指南之关键字专题

现在没用以后可能用到作为关键字。

2024-01-11 19:10:34 367

原创 微服务下的SpringSecurity认证端

从三板斧开始微服务下的SpringSecurity开始。

2024-01-08 10:57:58 1638

原创 Jvm内存分配与回收详解

MinorGC执行时从Eden区分配到Survivor区的时候,假设现在有多个对象需要移入,JVM会根据对象的年龄进行分组,并求出每个组的总和,然后每个年龄对象相加,如果相加结果大于Survivor区内存大小的50%,那么大于等于这批对象年龄最大值的对象就直接进入老年代;特点:是JVM采用的默认方式。通俗的讲,就是对象不会跳出出方法、作用域范围的对象,JVM会将这个对象直接分配到栈帧内存中,不会放到堆上,但是如果分配的对象的内存栈帧没有空间存放的情况下还是会分配到堆上;这个参数单位是“字节”

2024-01-08 10:53:53 889

原创 SpringSecurity权限管理

这个拓展点是整个SpringSecurity的核心部分;在实际开发过程中,最常规的方式是通过覆盖WebSecurityConfigurerAdapter中的protected void configure(HttpSecurity http)方法;通过Http来配置自定义的拦截规则,包含访问控制、界面及逻辑、退出页面及逻辑等;自定义登录http.loginPage()方法配置登录页,http.loginProcesingUrl()方法定制登录逻辑;

2024-01-07 19:40:29 1223 1

原创 SpringBoot-admin健康监控

监控-健康监控服务目的:能够理解健康监控actuator的作用背景:在一些大型的业务应用中,工程会根据业务模块做微服务拆分,后期每一个微服务在云上部署以后,都需要对其进行监控、追踪、审计、控制等操纵,这会给维护人员带来很大的运维压力。SpringBoot对此就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。实现:1、被监控工程中引入Actuator依赖2、启动项目,访问 http://localhost:80/actuator。

2024-01-07 19:06:29 1009 1

原创 (四)Spring Cloud之config注册中心

3.在微服务中导入config的客户端依赖,从config的服务端获取最新的配置信息。在微服务群下,一个服务往往有多个实例,同一个服务下的多个实例中配置内容都是一样的.当配置更新时,需要停止所有的实例,并一一修改配置,再重启.这个操作相当繁琐.2.创建config服务端,并连接gitee码云,从码云中获取配置信息。-- actuator: 监控 -->-- config的服务端 -->-- eureka客户端 -->1.在码云中创建仓库添加配置文件。--配置中心的客户端-->哪个技术可以解决这个问题?

2024-01-06 11:02:33 770 1

原创 (三)Spring Cloud之Gateway网关

底层使用的是webFlux技术(java),内部使用的服务器为Netty.WebFlux是一个响应式的技术.稍后我们在学习网关的过滤器时,使用的都是webFlux的过滤器,与我们之前学的稍有不同.Netty服务器默认端口为8080我们之前学过的所有组件,底层均依赖SpringMVC-Servlet,依赖Tomcat服务器.

2024-01-06 10:50:57 1059 1

原创 (二)Spring Cloud之feign远程调用

Bean这里指定的Level级别是FULL,Feign支持4种级别:NONE:不记录任何日志信息,这是默认值。BASIC:仅记录请求的方法,URL以及响应状态码和执行时间HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。

2024-01-06 10:34:17 885 1

原创 (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级

a.在需要降级的方法上降级注解: @HystrixCommand(fallbackMethod="降级方法名")当服务从Eureka中拉取多个服务地址时,Ribbon可以实现负载均衡(从多个地址中选择一个)雪崩问题: 在一个业务链路中,由于下游服务的故障,导致整个链路关联的所以服务宕机.服务熔断: 当出错率到达一定的阈值时,直接熔断,不再访问下游服务,直接降级.服务降级: 换一种方式快速给上游服务一个响应.降级处理的方法,与原方法返回值,参数列表保持一致。-- Hystrix启动器 -->

2024-01-06 10:12:40 1203 2

原创 Blockchain-APTrace-Fabric-master农产品溯源开源项目详解

农产品溯源系统是对农产品从种植到销售的全生命周期进行跟踪的系统。基于农产品溯源数据对相关人员进行追责是保障农产品食品质量安全的重要手段。目前,许多地区已经使用信息系统实现了农产品的溯源跟踪,但相关数据易篡改,溯源信息难可信,事故责任难落实。溯源系统的信用危机严重影响了优质企业的发展。区块链作为一种去中心化的数据存储技术,其维护的数据具备公开透明、不可篡改等特性。利用区块链技术为相关企业建立信任中心,可以有效地解决农产品溯源系统不安全不可信的问题。

2024-01-06 09:43:54 1406 2

原创 B+树索引和hash索引的区别

可以看出,查找的效率是与B+树的层数相关的,树越高,查找效率越慢,树越低,查找效率越快。MySQL数据是写在磁盘上的,一次磁盘寻址所需要的时间是10ms,如果有1亿条记录,那么执行一次查询需要10亿毫秒,也就是1百万秒,算下来需要11.5天。一个最简单的索引思路是:把所有的记录排序,通过二分查找的方式来查找元素,查询的时间复杂度是O(logN)。哈希索引常见的一种场景是针对长字符串查询的优化,例如数据库中保存了大量的URL信息,查询URL中不可能一个字符一个字符去搜索,这样效率太低。

2023-12-26 11:51:32 350 1

原创 K8s安装详解

-image-repository registry.aliyuncs.com/google_containers 指定镜像源,由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。--apiserver-advertise-address 为通告给其它组件的IP,一般应为master节点的IP地址。--pod-network-cidr 指定pod网络,不能和node网络、service网络冲突。--service-cidr 指定service网络,不能和node网络冲突。

2023-12-14 19:51:19 934

原创 OAuth2.0 详解

oauth2.0协议以及Spring Security协议详解

2023-12-13 15:11:07 944

原创 关于CAP理论的一些论证

例如,在大规模互联网服务中,通常会牺牲一致性来保证可用性和分区容错性,以提供更好的用户体验。其他系统,如RabbitMQ,可能提供了更高的一致性,但可能在可用性和分区容错性方面有所牺牲。一些缓存系统,如Redis,提供了强一致性,但可能会牺牲一定的可用性。而其他系统,如Memcached,可能会提供更高的可用性,但可能会牺牲一定的一致性。分区是指系统中的节点在逻辑上被划分成多个子集,每个子集内的节点可以互相通信,但不同子集之间无法直接通信。即使系统中的不同节点对数据进行了更新,系统也会保证数据的一致性。

2023-12-08 19:10:25 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除