- 博客(111)
- 资源 (12)
- 收藏
- 关注
原创 Kafka集群环境搭建
本次搭建环境集群环境是三个节点的broker以及独立的注册中心节点zookeeper,共用到四台服务器,下面开始讲述详细的搭建过程
2022-07-08 11:17:49
839
原创 JDK新起之秀—楠竹(RunSoon)
楠竹(RunSoon)JDK是神州数码公司于2020年10月22日基于OpenJDK研发推出的一款国产化JDK, 与Oracle JDK性能相当,完全满足JavaSE认证,经过严格TCK认证测试,能够和Oracle同时提供关键安全补丁及强大的技术支持。并且在资质上也获得了多方的认证:2021年8月取得统信软件产品互认证明;2021年9月取得了麒麟软件产品认证;2021年10月神州数码楠(RunSoon)JDK成功入选中国信通院发布第二批开源供应商。...
2022-06-09 09:23:55
678
原创 简单三步集成使用【knife4j】项目文档自动生成框架
1)在maven项目的pom.xml中引入相关依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>
2021-09-01 16:52:01
493
转载 熔断和降级的真实关系,图文并茂
刚开始我以为熔断和降级是一体的,以为他们必须配合使用; 只不过名字不一样而已,但是当我经过思考过后,发现他们其实不是一个东西;一)降级什么是服务降级呢?降级主要有以下几种情况超时:当下游的服务因为某种原因响应过慢,下游服务主动停掉一些不太重要的业务,释放出服务器资源,增加响应速度!不可用:当下游的服务因为某种原因不可用,上游主动调用本地的一些降级逻辑,避免卡顿,迅速返回给用户!限流:防止上游服务请求太多导致服务崩溃,所以限制请求的数量,来达到保护下游服务的目的,当请求的流量到达一
2021-09-01 09:41:33
532
原创 Mysql日常使用优化--高频率使用的五招
今天学习总结了一波Mysql常见的优化方法,以此做一个笔记演示优化前的数据准备:建表语句如下:CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` varchar(20) DEFAULT NULL, `b` int(20) DEFAULT NULL, `c` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `i
2021-08-09 17:44:46
385
原创 Gitlab如何重置超级管理员密码
1)gitlab超级管理员账号密码忘记,如何重置密码?首先找到的教程是进入安装好的git目录【cd /opt/gitlab/bin】然后进入gitlab的控制台:gitlab-rails console production出现如下异常:因为gitlab版本的不同,导致出现了上面的问题,通过查询官网相关信息,使用如下命令【gitlab-rails console -e production】进入控制台,正确进入控制台如下图展示:然后执行命令...
2021-07-21 17:25:34
795
原创 面试笔记——4种创建型设计模式
一)单例模式使用场景:1.1)处理资源访问冲突例如:多个类同时往一个文件记录日志,可能在多线程的情况下写内容会相会覆盖1.2)表示全局唯一类比如,配置信息类。再比如,唯一递增 ID 号码生成器经典【双重检测】实现方式,代码如下:public class NameGenerator { private static volatile NameGenerator instance; private NameGenerator () {} public static N
2021-07-07 13:59:10
146
原创 面试笔记——Java 对象如何在JVM中进行创建、分布和访问
一.对象的创建1)类记载检查虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程2)分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大小的内存从 Java 堆中划分出来。分配方式有“指针碰撞”和“空闲列表”两种,选择哪种分配方式由 Java 堆是...
2021-07-07 10:22:01
253
3
原创 网路抖动等原因造成的系统并发问题排查过程
运行一直很稳定的质检系统突然出现了奇怪的现象,很早之前就上线的【暂存】功能出现了发布不了的bug。先说排查结果:网络抖动等原因亦或是客户端操作系统连续点击或者并发访问造成同一时刻插入多条数据。根据反应现象,质检员在做完【暂存】操作之后,同一条录音出现了两条数据,之后质检员做批量发布暂存数据操作,其中一条发布成功,一条无法发布。之后我通过录音唯一id去数据库查询数据,一个名为【t_qa_record】的质检记录表中同一条录音的质检数据出现了两条,显然是不对的,故也对应了质检员反应的现象。一
2021-07-05 11:10:19
1417
原创 面试笔记——JDK动态代理机制和CGLIB动态代理机制
JDK动态代理机制和CGLIB动态代理机制使用步骤:1)自定义一个接口及其实现类;2)实现InvocationHandler接口并重写invoke方法,并在invoke方法中调用原生方法3)通过Proxy.newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)方法创建代理对象;...
2021-06-17 14:26:24
226
2
原创 OpenRASP管理后台安装
什么是OpenRASP?用官方文档的一段话解释:OpenRASP 抛弃了传统防火墙依赖请求特征检测攻击的模式,创造性的使用RASP技术(应用运行时自我保护),直接注入到被保护应用的服务中提供函数级别的实时防护,可以在不更新策略以及不升级被保护应用代码的情况下检测/防护未知漏洞,尤其适合大量使用开源组件的互联网应用以及使用第三方集成商开发的金融类应用。好吧,官方毕竟是官方,说的感觉不够直白,简单来说就是一个具有服务器安全检测以及恶意攻击拦截的工具,用这个工具我们可以针对自己 线上的服务器(tomc
2021-04-16 17:22:57
881
原创 力扣解题:如何用栈实现队列,用队列实现栈?
1)队列的基本实现/** * 队列实现 */Queue<Integer>queue=new LinkedList<>();//添加元素queue.offer(1);queue.offer(2);queue.offer(3);//第二种方式添加/*queue.add(1);queue.add(2);queue.add(3);*///取出元素Integer poll1 = queue.poll();System.out.println(poll1);/
2021-04-13 21:29:13
161
原创 一 RPM方式Gitlab环境搭建
最近公司代码托管容器需要升级,老版本的SVN准备放弃使用,准备使用比较热的GIT,下面是搭建GItlab服务器的详细过程1)将提前下载好的软件包拖放到服务器的一个位置2)修改软件包的权限,便于下一步的安装chmod -R 777gitlab-ce-12.10.0-ce.0.el7.x86_64.rpm3)安装依赖,执行如下命令yum -y install policycoreutils openssh-server openssh-clients postfix policy.
2021-04-13 11:41:32
815
原创 bat脚本实现按照月份对文件自动归档备份功能
脚本编写需求描述:1)需要将某盘符文件夹下的pdf格式文件拷贝到另外一个文件夹用来备份;拷贝要求,需要根据文件最后的修改日期判断,保留最近60天之内的文件,60天之前的需要拷贝备份举例:将【E:\FTP\dzfp\pdf】文件夹下的符合要求的pdf文件(60天之前的)拷贝到【E:\FTP\pdfBackup\pdf】2)拷贝成功文件之后,需要在备份文件位置【E:\FTP\pdfBackup\pdf】按照每个文件最后的修改日期新建文件目录,归档整理所有的文件举例:若有两个pdf文件,一.
2021-04-01 17:37:32
2503
原创 基于springBoot框架的发邮件项目
日常项目开发中需要做一个发送邮件的服务,供一些系统调用发送一些通知类的邮件。了解完需求之后,便着手使用springBoot框架构建整个项目,详细项目代码如下:1)构建项目结构,如下图:2)构建springboot项目,引入相关涉及到的jar包<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-p
2021-03-31 14:05:39
347
3
原创 RocketMQ双主双从高可用环境的搭建
1)首先我们需要准备四台服务器192.168.11.121 主节点a192.168.11.122 主节点a的从节点192.168.11.123 主节点b192.168.11.124 主节点b的从节点依然是我们先配置搭建一个服务器节点,然后其他服务器节点都基本相同,不同的只是配置文件中,我会将不同的地方做特殊说明,相同部分直接省略192.168.11.121 主节点a搭建和配置2)配置我们的hosts信息vim /etc/hosts192.16...
2020-06-02 23:25:22
429
原创 RocketMQ主从节点环境的搭建
RocketMQ主从环境的搭建其实也比较简单,下面我们以两台服务器(主节点192.168.11.81和从节点192.168.11.82)做一个例子进行讲解。下面我们先以主节点81节点做一个搭建和配置,然后再配置82从节点。1)配置我们的hosts信息vim /etc/hosts192.168.11.81 rocketmq-nameserver1 192.168.11.81 rocketmq-master1 192.168.11.82 rocketmq-nameserv
2020-06-02 22:49:23
1038
原创 超级简单的Zookeeper集群搭建(三节点)
1)首先我们需要准备三个节点的服务器,这里本地演示的三个服务器节点分别是:192.168.124.38192.168.124.39192.168.124.40我们需要在节点1,节点2,节点3上分别安装zookeeper,并建立起这至少三个节点的集群,下载zookeeperwget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz2)拷贝到其他两台节点上scp
2020-06-02 22:11:59
1292
原创 MyCat监控管理之 MyCat-Web 工程的简单使用
在管理我们的集群的时候,往往通过命令行的方式不是很直观,这个时候我们就可以使用我们的MyCat Web 工程对我们的MyCat集群做一个管理,使用起来很方便直观。下面看一下如何使用1)准备JDK运行环境。因为是一个java的web工程,所以在我们的服务器上需要提前安装好JDK。关于如何安装JDK,这里就不再重复说明了,很简单,不是很清楚的可以查看【Linux操作系统yum方式安装JDK和MYSQL】。本机已经提前安装好2)下载我们的项目,可以通过Gitgub进行下载,这里已经下载好,需要的.
2020-05-12 22:45:20
447
原创 MyCat 之 高可用集群搭建
如何对我们的数据层做一个高可用?我想这应该是我们实际开发中面对服务器的扩容经常会遇到,看下面这张架构图,就是一个典型的对myCat做一个高可用的架构。至于mysql层面,我们可以做一个主从,当然需要使用专门的中间件进行管理,例如MHA的使用,这里不是我们今天的重点。我们需要说的是Mycat高可用的架构设计架构设计简述:首先我们会有两个【MyCat】的服务节点,然后中间通过【zookeeper】同步多个【MyCat】节点的配置信息,起到一个注册中心中间件的作用。然后我们多个【MyCat】之间.
2020-05-11 22:02:37
1048
原创 MyCat ER 分片、SQL拦截统计、SQL防火墙 的使用详解
一)ER分片【MyCat 之 水平分库实战】讲了数据库的水平分库,是对【order_master】订单主表进行了分库分表;但是若是订单主表需要关联查询订单详情表【order_detail】是无法查到数据的,因为我们已经对之前的主表进行了水平拆分,但是订单详细表却没有,这样就无法关联查询到。之前我们倒是可以使用全局表的方式对其进行改造配置,但是作为订单表,数据量过于庞大,若是我们去做全局表去...
2020-05-07 00:32:03
316
原创 MyCat 全局自增ID 的配置使用
我们的项目中数据库做了分库分表之后,会面临每一个库中表中数据的自增id重复的问题,当然我们可以利用程序或者redis去做一个全局自增ID的处理,但若是我们用了MyCat来统一管理了我们的数据库的话,使用MyCat自带的全局自增ID的配置简直不要太方便。下面就看一下如何使用。1)第一步依然是准备我们演示的环境2)我们在【192.168.124.38】节点上,登陆本地mysql 新建一个数...
2020-05-06 22:42:55
837
原创 MyCat 之 水平分库实战
上一章讲解了MyCat的垂直分库【MyCat 之垂直分库实战】,有效减轻了我们数据库模块访问的读写压力。但是针对像订单这样的数据量极大的表来说,单表访问的的性能瓶颈还是没有解决,这个时候就需要我们的水平分表来解决了1)分片原则1.1)能不切分就不要做任何的切分1.2)选择合适的切分规则和分片键1.3)尽量避免跨分片的关联查询操作2)如何选择分片?2.1)尽可能比较均匀的分布...
2020-05-04 01:36:15
300
原创 MyCat 之垂直分库实战
一)垂直分库什么是垂直切分?通俗的讲就是将我们的数据库按照模块划分成不同的数据库,以此来解决数据库访问的压力。例如,下面的案例将会把原始包含订单,用户,商品,仓配等信息的数据库划分为订单库,用户库,商品库三个数据库。但实际访问还是相当于访问一个数据库一样,这里就需要借助我们的MyCat来配置逻辑数据库了如果是在实际线上,若是为了保证在作垂直分库的时候不受影响,前一步我们需要完成各个节点的主...
2020-05-03 19:55:53
630
原创 最全 Mysql 主从复制实战演练
下面演示的主从案例皆以mysql5.7.30版本为主,亲测有效1)首先准备两台服务器:主服务器:192.168.124.38从服务器:192.168.124.392)在主服务器上创建我们演示的数据库mysql -uroot -p -e"create database mycat_db"3)将提前准备好的数据库文件导入到我们的数据库中mysql -uroot -p ...
2020-05-03 00:24:46
869
原创 MyCat 之 【server.xml】【log4j2.xml】【rule.xml】【schema.xml】四种配置文件的简述
在mycat中,我们基本使用的有四种配置文件,分别是【server.xml】【log4j2.xml】【rule.xml】【schema.xml】下面分别简述四种配置文件中的配置,掌握mycat最基本的使用一)server.xml:作用:配置系统参数;配置用户访问权限;配置SQL防火墙以及SQL拦截功能下面是详细的配置,主要针对标签【system】和【user】进行简单的配置讲解...
2020-05-01 23:33:44
503
原创 MyCat的安装
这里我们主要讲述一下MyCat的安装,比较简单,按照下面几个步骤就可以实现简单的安装。共分为以下几个步骤:1)下载并解压MyCat新建一个文件夹用来存放我们下载的mycatmkdir /usr/local/software下载MyCATwget http://dl.mycat.org.cn/1.6.7.1/Mycat-server-1.6.7.1-release-2020...
2020-05-01 16:53:50
300
原创 RocketMQ控制台的简单实用
熟悉并已经使用过RocketMQ的小伙伴们深知他的强大之处。尤其是在推出事务性消息之后,更是帮我们解决了分布式事务的难点。今天主要讲一下RocketMQ控制台的简单搭建和使用,有了这个控制台,我们就可以很方便的通过界面对我们的RocketMQ进行查看和管理。1)首先是下载我们的项目,我这里对下载下来的RocketMQ扩展项目做了删减,因为这里只是用到了控制台,所以其余部分做了删除处理。这是控制...
2020-04-27 22:03:36
2331
svn本地密码查看工具.rar
2021-04-09
mycat-web.zip
2020-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人