技术笔记
落地干货
玄玄小道
这个作者很懒,什么都没留下…
展开
-
centos使用技巧
如果没有安装定时任务功能就先 安装yum install vixie-cron crontabs增加定时任务:service crond start //启动服务加入开机自动启动chkconfig –level 35 crond on设置开机自动启动服务chkconfig crond on查看各个开机级别的crond服务运行情况[root@CentOS ~]# chkconfig –list crondrond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭可以看原创 2020-08-26 17:21:43 · 161 阅读 · 0 评论 -
redis布隆过滤器使用核心
redis缓存 就是保护 过多的直接请求 后端数据库,造成数据库压力,但有很多情况 会导致 直接访问数据库1 redis缓存有过期时间,过期了java访问时不存在,会直去数据库查2 前端使用错误的key(或者恶意攻击) 到redis查询 ,该key确实不存在,这就没必要去数据库查,因为数据库也是不存在的3 新增加的数据,在redis暂时不存在,就直接访问数据库了这时候 就使用布隆过滤器,布隆过滤器 明确告诉你不存在的值,那数据库也一般也不会存在,所以也不用去数据库查了...原创 2020-08-17 22:34:25 · 89 阅读 · 0 评论 -
filebeat标准配置
filebeat.inputs:type: logenabled: truepaths:/usr/share/filebeat/logs/*.log自定义属性fields:type: logdocument_type: springtype: tcpenabled: truemax_message_size: 10MiBhost: “0.0.0.0:9000”fields:type: tcptype: udpenabled: truemax_message_size:原创 2020-07-27 21:16:21 · 279 阅读 · 0 评论 -
log4j2.xml标准配置文件
<?xml version="1.0" encoding="UTF-8"?> <!--变量配置--><Properties> <Property name="appName" value="log-demo" /> <Property name="version" value="1.0.0" /> <Property name="fileNamePrefix" value="${sys:use原创 2020-07-27 20:02:38 · 353 阅读 · 0 评论 -
logstash直接获取日志
input {file {type => “java-log”path => “/opt/elk-example.log”codec => multiline {pattern => “^%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{TIME}.*”negate => “true”what => “previous”}start_position => “beginning”}}filter {grok{match原创 2020-07-27 19:50:30 · 795 阅读 · 0 评论 -
centos免密登陆
1 、执行 cd ~/.ssh发现ssh目录找不到 就用 ssh 连接自己: ssh hostname 就会在根目录生成 .ssh 文件夹2、用命令 ssh-keygen -t rsa 生成密匙直接回车3、可以拷过去 ssh-copy-id 目标主机4、后续可以 用 ssh 目标主机 来登陆, 不需要密码...原创 2020-07-07 16:54:45 · 134 阅读 · 0 评论 -
zookeeper kafka集群
实现功能:1、zookepeer集群2、zookpeer管理平台3、kafka集群4、kafka-manager后台管理平台:centos 服务器 3台适合初学者搭建平台 ,解决各种疑难关注我 落地干货 [玄玄小道]原创 2020-07-03 22:02:00 · 128 阅读 · 0 评论 -
gateway简单限流
该片 是带你 了解限流 简单的配置,避免初学者弄的 云里雾里,前提: 你的gateway已搭建好了,可以运行基本路由限流 加入jar , 如下包括 熔断 和 限流,可以一次加上org.springframework.cloudspring-cloud-starter-netflix-hystrixorg.springframework.bootspring-boot-starter-webfluxorg.springframework.bootspring-boot-starter原创 2020-06-12 18:06:34 · 253 阅读 · 0 评论 -
openfeign配置参数笔记
OpenFeign超时时长设置及详解概念明确:1 hystrix可配置的部分hystrix.command.default.execution.timeout.enable=true //为false则超时控制有ribbon控制,为true则hystrix超时和ribbon超时都是用,但是谁小谁生效,默认为truehystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=3000//熔断器的超时时长默认1秒,最常原创 2020-06-06 21:50:30 · 2589 阅读 · 0 评论 -
JAVA系统开发准则-实战
1、数据库表字段 主键pk_开头 ,外键 wpk_开头 ,字段尽量用有含义的 单词,可以有 “_” 分开2、每个表字段最好不超过15个, 考虑业务逻辑复杂的 系统表之间关系 采用弱关联,除非业务相对简单,变动少,而且框架又是 hibernate,可以采用 对象编程,比如子表,级联处理3、前后端分离 , api接口对接都采用json,格式{ code:0 ,message:"",count:3,pageIndex:0,pageSize:0 ,state:"",data : [ {username:原创 2020-06-05 16:53:40 · 159 阅读 · 0 评论 -
springcloud和dubbo区别
如下问题 能看出 你对微服务 了解和熟悉程度openfeign和dubbo区别nacos和zookeeper和eureka区别hystrix和sentinel区别原创 2020-06-05 16:12:08 · 428 阅读 · 0 评论 -
openfeign落地干货
springboot2.4如下逻辑,rpc远程调用 在实际系统业务中可做 设计参考feign rpc调用逻辑要开启@EnableHystrix //开启熔断@EnableCircuitBreaker //开启断路器功能假设所有 调用 被调用 都加了 @HystrixCommandb接口 加了 fallbacka->b a内部运行错误 会调用a的 @HystrixCommand 返回a->b b内部运行错误 会调用b的 @HystrixCommand 返回a->b原创 2020-06-05 12:21:10 · 202 阅读 · 0 评论 -
tomcat多线程个人理解
一般容器 都是 一个请求就开一个线程的,不然系统性能受影响Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化这三种模式的不同之处如下:BIO:一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下,在Linux系统中默认使用这种方式。NIO:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。Tomcat8在Linux系统中默认使用这种方式。Tomcat7必须修改Connector配置来启动:connectionT原创 2020-05-25 18:22:17 · 3143 阅读 · 1 评论 -
高并发秒杀疑惑
看了很多高并发的文章和秒杀文章如果纯解决高并发 那就是 为了化解压力,导致服务器正确,准确运行, 服务器负载, java多线程 和 分布式事务锁 就可以了,这样一秒有十万访问量 通过这方案 也能化解 ,使请求有序的执行,疑问:如果高并发 ,是对统一资源 瞬间高并发访问和更新,那问题来了,上面的架构能化解 服务压力,那排队 也得排很久,就达不到 秒杀感觉,个人觉得秒杀的 概念 应该是从 应用层顺序截取前 指定数量的请求,到数据库或者缓存 完成秒杀,比如 库存就100个,实现秒杀,就通过截取 前100原创 2020-05-25 18:03:02 · 129 阅读 · 0 评论 -
为什么需要锁(并发控制)?
在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。为了解决这些并发带来的问题。 我们需要引入并发控制机制。并发控制机制最常用的处理多用户并发访问的方法是加原创 2020-05-25 17:39:17 · 665 阅读 · 0 评论 -
脏读、幻读和不可重复读 + 事务隔离级别
丢失更新:两个事务同时更新一行数据,最后一个事务的更新会覆盖掉第一个事务的更新,从而导致第一个事务更新的数据丢失,这是由于没有加锁造成的;脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。e.g.1.Mary的原工资为1000, 财务人员将Mary的工资改为了8000(但未提交事务)2.Mary读取自己的工资 ,发现自己的工资变为了8000,欢天喜地!3.而财务发现操作有误,回滚了事务,Mary原创 2020-05-25 17:05:34 · 107 阅读 · 0 评论