在阿里云ECS上轻松实现无域控的SQL_Server_AlwaysOn可用性组 (click.aliyun.com)

【简介】

在阿里云ECS上轻松实现无域控的SQL Server AlwaysOn可用性组 前言 SQL Server AlwaysOn功能在SQL Server 2012版本就已经出来了,AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案,可最大程度地提高一组用户数据库对企业的可用性。

点击查看原文 >>

@云栖精选 2017-05-12 10:41 / 0个评论
要不要再学学下面的文章?
为 log 实现的无锁 Ringbuffer (blog.codingnow.com)
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。

大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。

过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。

它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。

在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
by @技术头条 2024-03-12 22:45 查看详情
解析Java动态代理机制的实现 (l1n.wang)
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。
by @技术头条 2024-01-17 23:16 查看详情
golang uretprobe的崩溃与模拟实现 (www.cnxct.com)
Go程序崩溃的核心原因为Go的栈在runtime管理时,被插入了异常的内存地址。Go中常见的堆栈变化为协程goroutine的创建与销毁。栈内 被插入异常内存地址是因为eBPF的实现机制是向函数的返回地址前,插入了断点指令(i386和x86_64是INT3)。 两个条件的叠加,就出现了这个错误。
by @技术头条 2024-01-17 23:12 查看详情
如何实现 GC 的高吞吐量? (www.diguage.com)
在本篇文章中,我们将探讨垃圾回收过程中的一个关键性能指标:"GC 吞吐量"。我们将了解它的含义、在 Java 应用程序中的重要性以及它对整体性能的影响。此外,我们还将深入探讨提高 GC 吞吐量的可行策略,为现代软件开发释放其优势。
by @技术头条 2024-01-13 23:50 查看详情
利用gorm自身提供的方法实现存在更新不存在则创建的能力 (wiki.eryajf.net)
MySQL 有一个语句是 UPSERT 的操作,它结合了 update 和 insert 两种操作的功能。当执行 upsert 操作时,如果指定的记录已经存在,则执行更新操作;如果指定的记录不存在,则执行插入操作。这种操作可以用来确保数据的一致性,并且可以减少对数据库的访问次数。
by @技术头条 2024-01-13 23:49 查看详情
用 rspamd 来实现反垃圾邮件 (blog.delphij.net)
在过去二十年中的大部分时间,我采用的是 amavisd-new,与直接使用 SpamAssassin 相比,它还增加了病毒扫描等一系列功能和 milter接口,这让它与 MTA 更容易集成。

最近我发现 FreeBSD.org 把反垃圾系统替换成了 rspamd,所以在11月初把我的邮件系统也换成了 rspamd,经过两个月的使用,总体的感觉是「我tm早干嘛去了」。
by @技术头条 2024-01-13 23:34 查看详情
SQL优化(3)-索引与优化原理(上) (example.com)
这一篇我们回归现实中的MySQL数据库,初步学习具体的SQL优化原则,并尝试从索引底层原理出发,分析为什么会有那么多的“规则”。
by @技术头条 2024-01-13 23:28 查看详情
SQL优化(2)-索引与B+树 (example.com)
对于60%的程序员而言,Java的三层架构Controller、Service、Dao可以说是“越往后走天越黑”,特别是到了Dao层,提着灯笼也只能看到脚边一米开外的河边小石子,只闻对岸风啸马嘶却不知到底是人是鬼,只能借着MyBatis或JPA这些ORM框架隔着宽宽的河举行一场又一场的刺刀战,你砍我一刀,我刺你一剑。

诚然,很多人对MySQL数据库的印象就是一个模糊的大铁柜,闭上眼睛深吸一口气仿佛还能嗅到一股铁锈味。只知柜子里藏着很多张表,表里面存着很多行数据,再详细一点的呢?不知道。

MySQL有太多太多细节,根本无法用四、五篇文章说透,但我仍希望这个系列的文章能成为非常好的入门教程,让从来没接触过SQL优化的同学也能快速建立较为系统的知识框架,方便日后学习其他专栏时进一步拓展。
by @技术头条 2024-01-13 23:28 查看详情
从零实现 AES 加密算法 (sxyz.blog)
这篇文章介绍从零实现一个简单的 AES-128-ECB,其中 128 指采用 128 位密钥块,ECB 指采用 Electronic codebook 分组模式,并为长度不足 128 位的数据块填充 0x00。

本文代码部分选择使用 Python,因为其语法简单而强大,我想把更多时间、精力花在加解密流程上,而非语法细节上。本文所有代码仅供学习研究之用,不要用在生产环境!生产环境请使用流行、成熟的专用密码库,否则可能导致潜在的 Side-channel attack 和其它安全问题。
by @技术头条 2023-12-11 23:21 查看详情
ChCore 构建系统实现思路 (stdrc.cc)
读研期间的一个工作是为实验室的 ChCore 操作系统重写了新的构建系统——ChBuild,主要包括各级 CMake 脚本、配置系统和构建入口脚本。目前构建系统已经跟随 第二版 ChCore Lab 开源,所以现在可以尝试分享一下思路。如果你不了解 ChCore Lab,也没有关系,这里主要是想粗浅地介绍一些 CMake 很有趣且有用的特性和技巧,可以只看关于这些的内容。

下面的讨论基于 ChCore Lab v2 的 lab5 分支,因为这里包含了比较完整的操作系统代码结构。在阅读之前,建议你首先理解 Modern CMake By Example 中的绝大部分内容。
by @技术头条 2023-12-11 23:07 查看详情