上次《百亿级数据DB秒级平滑扩容!》之后,很多朋友提问,说如果不是“双倍”扩容,能否做到平滑迁移,不影响服务呢?适用什么场景?互联网有很多“数据量较大,并发量较大,业务复杂度较高”的业务场景,其典型系统分层架构如下:(1)上游是业务层biz,实现个性化的业务逻辑;(2)中游是服务层service,封装数据访问;(3)下游是数据层db,存储固化的业务数据;服务化分层架构的好处是,服务层屏蔽下游数据层
分类:
其他好文 时间:
2020-11-16 13:59:24
阅读次数:
11
Dropbox开源自研的protobuf代码生成框架近日,Dropbox开源了自己开发的protobuf框架pb-jelly。早在2015年,当Dropbox在开发存储系统时,需要一个支持零拷贝序列化的框架,这促使他们创建了自己的库。从那以后,这个框架开始在Dropbox的多个项目中使用,包括SyncEngine。除了零拷贝序列化,框架还提供了许多Rust风格的proto扩展。pb-jelly是一
分类:
其他好文 时间:
2020-11-13 12:40:34
阅读次数:
3
Spotify技术升级的三步走策略技术升级易烂尾根据我们的经验,大规模的技术升级或迁移往往在开始的时候迅速推进,但随着时间的推移往往会陷入泥沼,最终导致大部分系统即使成功迁移,也还是会留下一些老版本的尾巴。就好比无人看管时花园里的杂草便会发芽长大,也是技术基础架构碎片化的原因之一。大约一年半前,我们开始在spotify正视这个问题。在这篇文章中,我们将分享我们的思路和方法,以及下一步将怎么做。多吃
分类:
其他好文 时间:
2020-11-13 12:39:30
阅读次数:
5
一. Log4Net简介 Log4net是从Java中的Log4j迁移过来的一个.Net版的开源日志框架,它的功能很强大,可以将日志分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库、txt文件、内存缓冲区、邮件、控制台、ANSI终端、远程接收端等等,我们这里主要介绍最常用的两种:tx ...
分类:
Web程序 时间:
2020-11-13 12:15:53
阅读次数:
13
一、用到的工具 Gitlab Jenkins Shell go test 二、实现原理 在gitlab上配置jenkins的webhook,当有代码变更时自动触发jenkins构建job,job内的shell脚本负责把覆盖率报告以钉钉群通知的方法发送出去。 三、Jenkins job配置 点击上图中 ...
分类:
其他好文 时间:
2020-11-13 12:14:17
阅读次数:
7
原文链接:https://www.changxuan.top/?p=1122 简介 字典是一种在 Redis 中高频使用的用于保存键值对的抽象数据结构,在 Java 中常用的有 HasmMap 等。 由于字典中键的唯一性,所以在 Redis 中得到了广泛的应用。 实现 Redis 中的字典是基于哈希 ...
分类:
其他好文 时间:
2020-11-12 14:17:33
阅读次数:
6
服务器数据恢复硬盘配置情况介绍:本次出现数据丢失的服务器是一组Dell服务器,vsan集群,分布式文件系统。一共包含了4个服务器,每台服务器上搭配2组raid磁盘阵列,每个磁盘阵列由6块硬盘组成,上层有虚拟机文件。服务器数据丢失过程介绍:服务器在运行过程中,某一个节点上出现一块硬盘离线,vsan的数据安全机制启动,开始进行数据重构及迁移。在数据进行迁移过程中由于机房断电导致数据重构失败,随后服务器
分类:
其他好文 时间:
2020-11-12 14:04:01
阅读次数:
8
前几天,杨紫琼同学在知识星球提问,说公司要切换MQ,从一个旧的服务商升级为新的服务商,问有没有什么好方案。这个需求估计还挺普遍的,这里分享一些经验。一、MQ架构简述如上图,使用MQ异步通信,一般分为三层:消息发送方:使用MQ客户端生成消息。MQ-client::SendMsg(topic,msg);MQ服务:中转消息。消息接收方:使用MQ客户端消费消息。MQ-client::RecvMsg(top
分类:
其他好文 时间:
2020-11-10 11:29:49
阅读次数:
8
一、基本概念概念一:单库概念二:分片分片解决“数据量太大”这一问题,也就是通常说的“水平切分”。一旦引入分片,势必面临“数据路由”的新问题,数据到底要访问哪个库。路由规则通常有3种方法:(1)范围:range优点:简单,容易扩展。缺点:各库压力不均(新号段更活跃)。(2)哈希:hash优点:简单,数据均衡,负载均匀。缺点:迁移麻烦(2库扩3库数据要迁移)。(3)统一路由服务:router-conf
分类:
数据库 时间:
2020-11-10 11:28:38
阅读次数:
11
在服务网格系列的前几篇文章中,我们讨论了如何设置服务网格基础结构以使微服务和负载平衡架构现代化,以及如何确保服务网格基础结构高度可用,以便我们可以使用其所有功能。随时随地都有出色的功能。 在本文中,我们将把注意力转移到我们的微服务如何使用服务网格相互通信上。具体来说,什么有效负载用于在它们之间发送的 ...