相关分享
为 log 实现的无锁 Ringbuffer
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。
大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。
过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。
它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。
在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
让 Nginx 将 HTTP 请求转发到 HTTPS 安全模式
在某次博主的交流讨论时,忽然间发现自己站点原定让 HTTP 转发 HTTPS 的支持功能,实际上并不没有生效。如果是直接输入域名访问的话,那么会出现 400 的错误页面。当初为了让全站支持 HTTPS 也是耗费了不少精力,没想到却是这个结果。
定位面向未来的汽车网络安全
软件定义汽车开启了无限可能,即使汽车型号已经过时,终端客户仍然可以通过软件更新享受到市场上最新的安全、舒适和便利功能。在整个部署和操作过程中保护该软件至关重要。
结构合理的网络安全管理必须与软件定义汽车的开发齐头并进。开发人员必须兼顾各个层次的安全性,不对特定应用程序或任何支持软件的安全性做出任何假设。
简而言之,开发人员必须管理风险,从其他行业吸取教训,推进全面的网络安全管理体系,以提供应对任何未来风险的框架。安波福公司(Aptiv)通过行业组织与客户、供应商和同行合作,积极帮助提高标准。
利用HAR文件查看和诊断网络请求
HAR(HTTP 归档)是多种 HTTP 会话工具用来导出所记录数据的 一种文件格式。这种格式基本上是 JSON 对象,并具有一组特定的字段。请注意,并非所有 HAR 格式的字段都是必填字段, 很多时候,部分信息不会保存到文件中。
浅析跨站请求伪造(CSRF)攻击
狭义的CSRF攻击就是指让Client在被Server认证的情况下去访问精心设计的恶意链接完成攻击。广义的CSRF攻击,可以是通过一些手段猜测出请求参数以及用户认证信息(如果需要认证的话),这样Server就会将其识别为合理请求。
如何利用链路追踪快速定位问题
随着微服务应用数量的增加,服务与服务之间的调用关系变得复杂,导致系统问题定位困难。链路追踪可通过唯一ID标记请求的整个调用链路,记录每个节点,快速定位问题。
Filebeat中log和filestream的区别
在Elastic Stack中,Filebeat是一个轻量级的日志收集器,用于将日志数据从服务器发送到Elasticsearch或Logstash进行索引和分析。在Filebeat中,有两个不同的输入模块:log和filestream,它们用于处理不同类型的日志数据。
分布式锁之 Apache Curator InterProcessReadWriteLock
在上一篇文章 分布式锁之 Apache Curator InterProcessMutex 中介绍了基于 ZooKeeper 实现的互斥锁。除此之外,还可以实现读写锁。这篇文章就来简要介绍一下 InterProcessReadWriteLock 的实现原理。
分布式锁之 Apache Curator InterProcessMutex
对分布式锁耳熟能详。不过,一直关注的是基于 Redis 实现的分布式锁。知道 ZooKeeper 也可以实现分布式锁。但是,原来的想法是把 Redis 那个思路切换到 ZooKeeper 上来实现就好。今天了解到 Apache Curator 内置了分布式锁的实现: InterProcessMutex。查看了一下源码实现,发现跟基于 Redis 实现的源码相比,在思路上还是有很大不同的。所以,特别作文记录一下。
