
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前面讲过nginx热加载,有提到过nginx reload失败、未生效的问题,这篇文章就重点讲一下。解决方法如下:检查配置文件语法:使用nginx -t命令可以检查nginx配置文件的语法是否正确。如果有错误会显示错误信息,需要根据错误信息进行修正。查看日志文件:查看nginx的错误日志文件,通常在/var/log/nginx/error.log中,查看是否有相关错误信息提示。强制重启:如果无法通

ngx_lua是Nginx的一个模块,将Lua嵌入到Nginx中,从而可以使用Lua来编写脚本,这样就可以使用Lua编写应用脚本,部署到Nginx中运行,即Nginx变成了一个Web容器。注:Tengine也包含ngx_lua模块。至于二者的区别:OpenResty是Nginx的Bundle;而Tengine则是Nginx的Fork。ngx_lua模块的原理:1、每个worker(工作进程)创建一

优化方向 节省空间: 压缩字典树,但是维护成本更高; 三分搜索树压缩前缀树:合并只有一个子节点的节点,可以减少内存使用。Ternary Search Tree:每个节点有三个子节点,可以在某些情况下提供更好的平衡。使用哈希表:在每个节点使用哈希表而不是数组来存储子节点,可以处理更大的字符集。Ternary Search Tree三叉树如何优化字典树?Ternary Search Tree(三元

关于死锁,确切的说是innodb引擎表的死锁,在我们梳理的场景下,基本都是“行锁”导致的,而且隔离级别大多都是RR。今天我们去MySQL官网上搜一下关于死锁的bug。有兴趣的可以去看看这些bug是不是在我们日常操作中常见的问题,也可以看看是否被修复。其实我们前面整理的死锁案例,都可以在mysql 的bug中找到对应的bug场景。可以看到总共有65个bug,其中超过10年的老bug不少,而且mysq

支付系统的要求:安全、高效。安全是基本,高效是追求。要达成两个目标,难免会遇到各种坑,下面挑几个典型的问题来讲述,并附上简单的应对方案。若想尽量避免支付系统的坑,那么一定要保持着保守的态度,将状态或交易保持无害。有些需要事务操作,但无法使用典型事务的场景,将次要的一开始执行,即使出了问题,有重试、回滚等操作,也不会造成影响。

关于触发器详细描述见下面这个大牛的博客www.cnblogs.com/huyong/archive/2011/04/27/2030466.html编写触发器时,需要注意以下几点:l 触发器不接受参数。l 一个表上最多可有12个触发器,但同一时间、同一事件、同一类型的触发器只能有一个。并各触发器之间不能有矛盾。l
单工:信息只能单向传送;半双工:信息能双向传送但不能同时双向传送;全双工:信息能够同时双向传送。TCP协议本身是全双工的,但我们最常用的HTTP1.1,虽然是基于TCP的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景,都不太友好,因此我们需要使用支持全双工的websocket协议。在HTTP1.1里。只要客户端不问,服务端就不答。基于这样的特点,对于登录页面这样的简单场景,可

LOCK TABLE用来锁定整个表,锁定可分为共享模式或者独占模式,共享模式可以防止其他会话获得独占锁定,但是允许其他会话获得一个共享锁定,独占模式则即防止其他会话获取共享锁定,又防止其他会话获得独占锁定。ORACLE里锁有以下几种模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share Perm
当多台机器一起攻击一个目标,通过大量互联网流量淹没目标或其周围基础设施,从而破坏目标服务器、服务或网络的正常流量时,就会发生分布式拒绝服务(DDoS)攻击。DDoS攻击(Distributed Denial of Service Attack),即分布式拒绝服务攻击,是一种利用分布式网络来发起大量请求,以占用目标服务器或网络资源,从而导致目标系统无法正常提供服务的攻击方式。

这篇文章,主要讲述 Zookeeper、Eureka、Nacos、Consul 和 Etcd 这 5 种注册中心。01 注册中心基本概念1.1 什么是注册中心?注册中心主要有三种角色:服务提供者(RPC Server):在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。服务消费者(RPC Client):在启动时,向 Registry 订阅服务,把 R








