clion nginx debug

远古时代研究学习、调试 nginx 相当痛苦

visual studio 体积大安装慢

vs build tools 默认装完也2G左右

jetbrains家clion玩起来更轻量些

发布于 | Tags nginx

rabbbitmq 堆积分析

业务洗数据,binlog变更发至rabbitmq, 堵死现象分析

发布于 | Tags mq

扫码登陆

通过二维码,用可信任设备(如自己手机)控制不可信任设备上的登录行为

  • 更方便

省去不便手动输入的设备(如电视)上输入的环节

  • 更安全

避免在安全等级低的设备和环境(公共电脑、Web页面)输入密码

发布于 | Tags 安全

cache

计算机访问数据经常会呈现出局部性原理,包括空间局部性和时间局部性

  • 空间局部性:,计算机访问数据,存储在邻近的数据也经常会被访问
  • 时间局部性:相对的一小段时间内,计算机经常会访问相同的数据

计算机从硬盘中读块,不会只读你要的特定块,附近的快很有可能接下来要被访问,会把这些块也一起预读出来

接下来要读附近的快的时候,就不需要再访问硬盘了。这样,运用局部性原理就减少了访问磁盘的次数。附近的块就被缓存了起来,加快了运行速度

发布于 | Tags dev

网站架构的伸缩性设计

1.1 不同功能物理分离实现伸缩

纵向分离

业务流程不同部分分离部署,实现伸缩

横向分离

不同业务模块分离部署,实现伸缩

1.2 单一功通过集群规模实现伸缩

应用服务器集群性和数据服务器集群伸缩,对数据状态管理的不同,技术实现有很大区别

一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车

发布于 | Tags arch

mysql explain

一个常见的理解错误:mysql在执行explain时不会执行sql语句,事实上如果查询的from字段有子查询,explain会执行子查询

explain只能解释select查询,对update,delete,insert需要重写为select

发布于 | Tags mysql

当我们在讨论架构时,该用什么姿势?

架构的本质

任何系统,自然情况下,都是从有序到无序

热力学第二定律,自然界一切自发过程都有方向性,孤立系统由有序变为无序,即它的熵不断增加,最终寂灭

但生物可以通过和外界交互,主动进行新陈代谢,制造 “负熵” 来保证自身有序,继续生存

同样,软件随着功能增多,调用量增长,逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来越无序

架构的本质就是对系统进行有序化重构,不断减少系统的 “熵”,使系统不断进化

架构是如何实现无序到有序的? 基本的手段就是分和合,先把系统打散,然后重新组合

发布于 | Tags dev