4 天前 / 我是阳明
前面我们提到了 Loki 部署的单体模式和读写分离两种模式,当你的每天日志规模超过了 TB 的量级,那么可能我们就需要使用到微服务模式来部署 Loki 了。 微服务部署模式将 Loki 的组件实例化为不同的进程,每个进程都被调用并指定其目标,每个组件都会产生一个用于内部请求的 gRPC 服务器和一个用于外部 API 请求的 HTTP 服务。 ingesterdistributorquery-frontendquery-schedulerquerierindex-gatewayrulercompactor 将组件作为单独的微服务运行允许通过增加微服务的数量来进行扩展,定制的集群对各个组件具有更好的可观察性。
6 天前 / Thoughtworks
对比 mainline 和 pull request 的开发模式 2022 年 6 月 14 日 by 郑茗蔓 1 Comment 问题的提出任何复杂的软件都是团队工作的产物,所以我们会利用版本控制工具和不同的分支策略来协助团队的日常开发和交流,mainline 开发模式和 pull request 开发模式(以下简称 PR)则是最常用到的两种模式。在开发时选择哪种模式也成了一个经常被讨论的话题。 在疫情时代,远距离办公可能会阻碍团队的交流,PR 开发模式也变得越来越流行。一方面 PR 开发模式可以为代码开发带来更好的隔离性,但另一方面,PR 开发模式其实是一种更难掌握或者说要求更高的开发模式。
6 天前 / Yourtion
DX 全称 DinamicX,目前是在淘宝乃至整个阿里集团内广泛使用的 Native 动态化方案,核心优势是性能和稳定性。过去几年一直有其他淘宝 / 集团的外部文章中有涉及到 DX,但 DX 一直没有对外做过完整介绍,对外界来说这两个字母颇有些神秘色彩。本系列文章《DX 研发模式》我们就将拉下它神秘的面纱,看看过去两年 DX 在做什么。 《DX 研发模式》系列文章预告如下,欢迎持续关注: 本文:《淘宝 Native 研发模式的演进与思考|DX 研发模式》 第二篇:《列表容器 & 事件链如何帮业务提升发版迭代效率?|DX 研发模式》 第三篇:《如何持续突破性能表现|DX 研发模式...
8 天前 / sjf0115
Loki 由多个微服务组件构建而成,可以作为一个可水平扩展的分布式系统运行,Loki 的独特设计可以将整个分布式系统的代码编译成单个二进制或 Docker 映像,单个二进制文件的行为由 -target 命令行标志控制。 单体模式最简单的操作模式是设置 -target=all,这是默认的方式,不需要指定,这就是单体模式,它以单个二进制文件或 Docker 映像的形式在单个进程中运行 Loki 的所有微服务组件。 单体模式对于快速开始使用 Loki 以及每天数据量约 100GB 的读写量非常有用。
9 天前 / Yourtion
作者| Terasol Technologies 译者 | 平川策划 | 闫园园本文最初发布于 Terasol Technologies。 世界变得越来越依赖软件,软件系统已经渗透到了人类生活的方方面面,并带来了很多便利。从移动应用(用于和人联系),到医疗应用和深度学习模型,到金融技术系统,再到智能建筑(利用技术来自动化许多功能)。 为了提供所需的解决方案并获得最佳效果,必须使用恰当的架构来开发这些软件系统。 模式是特定于问题上下文的解决方案。 架构模式是针对特定环境中常见软件架构问题的通用且可重用的解决方案。 软件缺陷对组织业务有很大的影响。
13 天前 / u277623
1970 年代的许多计算概念已经过时,但 ETL (Extract-Transform-Load)及其最近的 anagram shuffleELT 并非如此,它在目的地与飞行中操纵数据。ETL 和 ELT 传统上是计划的批处理操作,但随着对始终在线、始终最新的数据服务的需求成为常态,在数据流上操作的实时 ELT 是许多组织的目标——如果不是现实的话。 在实际使用中,ETL 中的“T”代表由原始操作组装而成的各种模式。在本博客中,我们将探索这些操作并查看如何将它们实现为 SQL 语句的示例。
33 天前 / u277623
作者: Raunak Pradip Shah (Mirantis) Kubernetes v1.24 引入了一个新的 alpha 级特性,可以防止未经授权的用户修改基于 Kubernetes 集群中已有的 VolumeSnapshot[1]创建的 PersistentVolumeClaim[2] 的卷模式。 问题卷模式 [3]确定卷是格式化为文件系统还是显示为原始块设备。 用户可以使用自 Kubernetes v1.20 以来就稳定的 VolumeSnapshot 功能,基于 Kubernetes 集群中的已有的 VolumeSnapshot 创建一个 PersistentVolumeClaim ( 简称 PVC )。PVC 规约包括一个 dataSource 字段,它可以指向一个已有的 VolumeSnapshot 实例。
43 天前 / 猿天地
点击上方蓝字“设为星标” 大家好,我是【架构摆渡人】,一只十年的程序猿。这是消息队列的第五篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。 在学习消息队列的时候,大家都有一个共同的问题,那就是消息到底是服务端推送给客户端还是客户端主动去服务端拉取然后进行消费。今天这篇文章就来解答大家的这个的疑问。 推模式 首先我们来解决下什么是推模式,顾名思义,推模式就是我推给你。在 MQ 中也就是 Broker 收到消息后主动推送给 Consumer 的操作,叫做推模式。
44 天前 / aotian
版权声明 本站原创文章 由 萌叔 发表转载请注明 萌叔 | http://vearne.cc1. 引言我们都知道在Redis-Cluster集群模式下,集群中有18634个slot,slot分布在集群多个实例上,当执行一个Command时,Redis客户端会提取Command中的key 根据下面的算法得出key所属的slot slot=CRC16(key)&16383在根据客户端中的路由表,找到slot所在的Redis实例 这里的路由表存储的就是 slot -> redis-instance那么问题来了redis客户端是如何得到这个路由表的呢? 2. 分析下面以go-redis/redis的代码为例,谈谈Redis客户端如何获取和维护slot路由信息。
47 天前 / HueiFeng
导读:软件多租户是指一个软件架构的实例软件运行在一个服务器上,但存在多个租户。租户是一组共享一个公共的用户访问特定权限的软件实例。多租户架构,软件应用程序旨在提供每个租户专用的实例包括数据、配置、用户管理、租户个体功能和非功能属性。 一、行业中数据隔离模式 1.1 共享数据表,租户 ID 隔离增加业务标识字段,例如:TenantId , 需要业务隔离的资源表增加租户标识,通过当前字段的查询筛选,达到数据资源的隔离 1.2 共享数据库,Schema 隔离 同一个数据库,不同租户添加不同 Schema 的资源表...
62 天前 / hyper0x
最近接触到微服务框架 go-zero,翻看了整个框架代码,发现结构清晰、代码简洁,所以决定阅读源码学习下,本次阅读的源码位于 core/syncx/singleflight.go。 在 go-zero 中 SingleFlight 的作用是:将并发请求合并成一个请求,以减少对下层服务的压力。 应用场景 查询缓存时,合并请求,提升服务性能。假设有一个 IP 查询的服务,每次用户请求先在缓存中查询一个 IP 的归属地,如果缓存中有结果则直接返回,不存在则进行 IP 解析操作。
63 天前 / itfanr
RGB 颜色模式我们平时接触最多的像素格式 是 RGB,上学的时候就学过三原色,大多数的颜色可以通过三原色产生,这 三原色 就是 Red (红),Green(绿),Blue(蓝)。 做 web 前端的同学也会经常用过 RGB 来指定 页面元素的 颜色。RGB 格式目前主要有两类: 像素格式,这是我们比较常用的格式,R,G,B 分别分开用 N 个位来表示。例如 RGB24 格式 中 R 占 8 位,G 占 8 位,B 占 8 位,所以一个像素占 24 位。这种格式可以混合生成 256 256 256 = 16,777,216 种颜色,但缺点是占用空间大。
69 天前 / 趣编程
本文约 3800字,预计阅读时间:10分钟 引言:伴随着基础设施技术升级,应用研发环境也从最初的传统 IT 架构、虚拟化 & 容器化架构演变到现在的云原生多云架构。“应用研发新模式”本身就是一个比较大的话题,我们也不敢说一个人或者一个团队就能把这个话题聊透彻。但随着应用研发基础架构环境的演进,应用研发模式一定是在不断地调整和创新。 今天我们大胆把话题抛出来,聊聊自己的一些想法,和大家一起探讨、共创云原生时代应用研发模式后续的演进路线。
81 天前 / 花括号MC
原创:花括号 MC( 微信公众号:huakuohao-mc)。关注 JAVA 基础编程及大数据,注重经验分享及个人成长。 解释器模式经常用于语法翻译或者表达式解析,比如正则表达式解析,SQL 语句解析等等。 举个例子通过解释器模式实现一个,逻辑与和逻辑或的语法翻译器,同时实现一个 Terminal 翻译器,用于翻译问题内容。 来看一下解释器的 UML 类图 : 再来看一下代码如何实现。 先定义一个语法表达式接口 Expression publicinterfaceExpression{ booleaninterpret(Stringcontext); } 定义具体的语法解释器接口...
83 天前 / 花括号MC
原创:花括号 MC( 微信公众号:huakuohao-mc)。关注 JAVA 基础编程及大数据,注重经验分享及个人成长。 访问者模式经常用于需要使用多种不同的方式去访问容器中的元素的场景。每个访问者有不同的访问策略。比如去医院看病的时候,我们拿着大夫开的药单子去划价处划价,财务人员看到的是所有药单的价格,当我们拿着同一份药单去药房拿药时,药房的工作人员关注的是具体的药品名称。同一份药单,不同的访问者,获取药单信息的内容是不一样的。