自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 同城双活和异地多活架构

活” 指的是可以提供服务,与之对应的是 “备” ,备份是冷数据,不能对外提供服务,仅仅是会同步数据,当活的机器都不可提供服务时,需要启动备份服务来先提供服务,备份的缺点是,启动备份后需要验证后才能使用,有延时性,不能保证服务每时每刻都可用;同城双活,指的是同一个城市内,部署两个机房,如果一个机房不可用,另一个机房都能够单独对外提供完整的服务;两地三中心,指的是同城双活的基础上,增加一个冷备份的机房,当双活都不可用时,启动备份机房提供服务;首先这些架构,都是为了保证服务的高可用;那么怎么实现路由呢?

2023-08-24 10:53:28 570

原创 源码阅读要点

设 keepAlive 为 true;则使用底层操作系统 TCP 的 keepAlive 来保活,其本质也是定时发送心跳,但是只是一个 ACK 响应,报文极小,具体可查询 TCP KeepAlive 深入了解;

2023-05-29 15:29:18 100

原创 Centos7 固定 ip

由于 VM Player 为简化版,没有虚拟网络配置选项卡,所以设置固定 ip 需要我们在路由器进行固定桥接模式与宿主机在一个网段,可以被外部机器访问1、配置适配器为指定的物理网卡选择桥接的物理网卡2、配置静态ip修改 vi /etc/sysconfig/network-scripts/ifcfg-ens33#修改,static 表示 静态,dhcp 为动态获取,用dhcp 则注释掉添加的固定ipBOOTPROTO=static#添加#表示关..

2022-03-14 18:33:22 6273

原创 撮合系统的数据流转过程

可以看到,数据源有两个,一个是 DB,另一个是消息队列。主要的流程都是,数据源发送到 Disruptor 框架的 ringBuffer 里,通过 Disruptor 自带的队列监听机制,触发放入 ringBuffer 里 Event 对应的 EventHandler 的 onEvent 方法,在 onEvent 方法完成具体的撮合逻辑。1、从 DB 来的数据源程序启动时,直接从数据库捞数据,实现 springboot 的一个启动类@Componentpublic class DataLoaderC.

2021-08-06 11:52:06 878

原创 spring security 实际应用总结

两个重要概念:授权服务 、资源服务主要流程用户在登入、切换角色 时,通过授权服务验证,验证通过后,授权服务会返回一个 token,前端存这个 token ,当用户访问其他资源时,资源服务 通过这个 token 获取到实际的用户信息,根据配置的资源规则来判断是否能够访问。授权服务通过配置开启授权服务器@EnableAuthorizationServer // 开启授权服务器的功能@Configurationpublic class AuthorizationServerConfig extend

2021-08-05 17:14:58 314

原创 idea 提交代码到远程仓库

1、首先在本地创建仓库,VCS --> Import into Version Control --> Create Git Repository2、在根目录下添加 .gitignore 文件忽略不必要的文件# Created by .ignore support plugin*.classtarget/*.iml.idea/logs/.classpath.project.settings/.amateras/target**.log**.lockgit

2021-08-04 21:50:02 574

原创 docker 相关命令

拉取镜像docker pulldocker pull elasticsearch:5.6.11查看镜像docker images启动容器docker rundocker run [OPTIONS] IMAGE常用的参数:--name,给启动后的镜像实例命名,以后可以通过 docker start 来启动这个实例-p,指定端口映射,格式为:主机(宿主)端口:容器端口-v,主机的目录 文件 映射到容器的 文件-e,设置环境变量-d,实例运行后返回容器实..

2021-08-04 17:30:52 109

原创 idea设置导入不为 *

因为安全工具要求,精简最终打包的大小,常常会让处理 import 为 * 的 import,所以在 IDEA 中如下设置,将数值改为 999 或者更大的数,保证单个包里的引入类低于这个数时不会变为 *

2021-08-04 12:31:43 1874

原创 maven library has broken path

发现代码报错,提示没有找到某个类,查看 Project Structure --》libraries发现对应的依赖为这种样子查看仓库发现包是存在的,在 pom 文件中,右键 Run Maven --》 Reimport 解决

2021-08-04 12:26:31 431

原创 pg 数据库备份

copy备份copy (select * from tablename)to filename-xxx.csv with csv执行时末尾不需要分号,with csv 表示 格式为csv ,with csv header 表示表头一起如果要保存为 txt 格式,则需要添加分割符号,txt 的分隔符可以自己定义,如逗号 WITH (DELIMITER ‘,’) 或空格 WITH (DELIMITER ’ ') ;那么导入时,就要指定相应的分隔符导入\copy testa(status) from

2021-05-09 23:59:40 1851

原创 Linux 常用命令

Linux 常用命令查找find -name ‘xxx’ 查找 xxx 所在目录看日志tail -f 100 server.log 实时输出 server.log 后一百行内容tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 ‘192.168.0.10’ ,查看mysql慢日志中ip地址为192.168.0.10发送过来的SQL语句的后面三行grep -C 5 ‘abc’ catalina.out 显示匹配abc那行以及上下5行gre

2021-05-09 16:25:15 151

原创 Java Stream 的一些技巧

Java Stream 的一些技巧调试在流处打上断点在 idea 中,即可直接看到流各个的情况,包括抛出异常异常和非空的判断1、空集合变成流不管怎么操作返回都是空集合,不会抛异常2、通过进入源码可发现,filter、map 等方法中一般是对 function 进行非空判断filter 如果条件为 null 会抛出异常,但并不是因为这里 predicate 为 null,predicate 在这里是函数 getDefault(),而是因为 predicate 接收的是 java

2021-03-27 12:42:16 2043 2

原创 javax.servlet.ServletException: Could not resolve view with name ‘xxx‘ in servlet with ...

这个错误,通常是 @Controller 没有标注 @RespBody,导致我们springMVC 没有找到你 return 对象 的 视图解析器,所以就无法对你返回的结果进行解析

2020-07-06 17:44:27 1467 1

原创 @RequestParam、@PathVariable()、@RequestBody 的使用

@RequestParam、@PathVariable()、@RequestBody1、用法首先 @RequestParam、@PathVariable 通常是放在url中,而@RequestBody 是用在请求体 body@RequestParam、@PathVariablehttp://localhost:8080/springmvc/hello/101?param1=10&param2=20@RequestMapping("/hello/{id}") //@PathVariabl

2020-07-06 17:36:21 207

原创 maven安装 jar 包到本地仓库

mvn install:install-file -DgroupId=com.gexin.platform -DartifactId=gexin-rp-sdk-http -Dversion=4.0.1.7 -Dpackaging=jar -Dfile=gexin-rp-sdk-http-4.0.1.7.jar-DgroupId:groupId-DartifactId:artifactId-Dversion:version-Dpackaging:打包方式-Dfile:要加载的 jar 包当前在哪个

2020-07-04 12:05:24 324

原创 手写简单版 ReenrantLock

手写简单版 ReenrantLockpackage ReenrantLock;import java.util.concurrent.LinkedBlockingDeque;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Condition;import java.util.concurrent.lock

2020-05-12 22:32:00 171

原创 零碎的知识点 C++

目录public修饰的成员变量private修饰的成员变量protected是受保护变量explicit关键字对象的生命周期利用虚函数实现多态sizof c++浅拷贝深拷贝消息协议设计智能指针lambda表达式回调函数函数模板public修饰的成员变量在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例...

2019-11-17 23:10:21 120

原创 Go net/http 分析

net/http 库如何实现 http 服务器功能要使一个 http 服务器能够正常工作,必须至少实现如下的核心功能:监听主机的某个端口 当在监听的端口上有客户端的请求到来时,接收该客户端的请求 处理客户端的请求net/http 库对应这三个功能都有相应的实现:监听端口监听主机上的某个窗口应该使用函数http.ListenAndServe,该函数的源码定义如下:fu...

2019-09-15 23:32:05 1220

原创 golang elasticsearch Client的使用

elasticsearch 的client ,通过NewClient 建立连接,通过NewClient 中的Set.URL设置访问的地址,SetSniff设置集群获得连接 后,通过 Index 方法插入数据,插入后可以通过 Get 方法获得数据(最后的测试用例中会使用 elasticsearch client 的Get 方法)func Save(item interface{})...

2019-07-28 10:52:28 3264

原创 JZ2440 telnet

开发板已经自带,但是不知道root用户的密码,所以:1.添加root用户,开发板端输入:adduser root提示没有/etc/passwd ,/etc/group等,依次用touch命令添加文件即可2.adduser成功后,passwd root如果提示unknown uid 0修改/etc/passwd文件,将x:后的两个数字改为0此时再次passwd root 修改...

2018-10-08 22:03:08 334

原创 数码相框--电子书 之 完全分析

怎么显示一个电子书? 获得电子书的编码格式,利用库解析该编码,转换为可显示的位图,将数据描画出来。模块化思想:编码格式模块,库模块,显示模块,描画,输入模块。根据传入参数面向对象思想:每个模块创建一个结构机构体链表,如编码模块,有一个编码链表,各编码格式设置为一个结构体,注册入链表以后我们操作,只需要操作到链表,而不需要到操作到底层各编码格式的具体函数。操作过程:根据传入参数,找到...

2018-07-25 19:53:54 750

SpringSecurity课程文档.pdf

上手直接从第 6 点开始看

2021-08-05

空空如也

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

TA关注的人

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