1.调研背景
17 ClickHouse为什么快ClickHouse起源
13 客户数据平台(CDP)的存储与计算需求什么是CDP
07 手机云服务数据存储
01 列式存储
4 构筑测试体系4.1 自测试代码的价值程序员编写代码的时间仅占所有时间中很少的一部分,但是花费在调试上的时间是最多的。修复bug通常是比较快的,但找出bug所在却是一场噩梦确保所有测试都是完全自动化,让他们检查自己的测试结果一套测试就是一个强大的bug侦探器,能够大大缩减查找bug所需的时间4.2 测试代码示例4.3 第一个测试总是确保测试不该通过时,会产生失败频繁地运行测试,对于你正在处理的代
1.改名改名可能是最常用的重构手法,包括改 变函数声明(用于给函数改名)、变量改名 、字段改名等。很多人经常不愿意给程序元素改名,觉得不值得费这个劲,但好的名字能节省未来用在猜谜上的大把时间。2.重复代码最单纯的重复代码就是“同一个类的两个函数含有相同的表达式” 。这时候你需要做的就是采用提炼函数提炼出重复的代码,然后让这两个地点都调用被提炼出来的那一段代码。如果重复代码只是相似而不是完全相同,请
1.概述InfluxDB是一种流行的开源时序数据库,专门设计用于处理时间序列数据。时序数据是按时间顺序排列的数据,通常用于表示传感器数据、应用程序指标、日志和事件等。InfluxDB具有高效存储和查询的能力,采用自适应压缩算法和特定的存储引擎,可以高效地存储大量的时序数据,并通过类似SQL的查询语言(InfluxQL)提供丰富的查询功能。它支持高并发写入,适用于处理实时数据流,并可定义数据保留策略
1.什么是时序数据谈到近年来时序数据库的普及,我们不得不先聊聊时序数据,为什么它需要一种专门优化的数据库来处理?通用的关系数据库不能满足吗?所谓时序数据,非常通俗的角度来讲,就是一些随着时间变化而变化的值 (Value),同时这些值上面附带有一些 Key=Value 组成的标签。一般包括下列三个属性(来自 Wikipedia):时间线(Time series)一个名称(通常称为指标,metric)
protobuf 序列化Protobuf(Protocol Buffers)协议? Protobuf 是一种由 Google 开发的二进制序列化格式和相关的技术,它用于高效地序列化和反序列化结构化数据,通常用于网络通信、数据存储等场景。高效性:Protobuf 序列化后的二进制数据通常比其他序列化格式(比如超级常用的JSON)更小,并且序列化和反序列化的速度更快,这对于性能敏感的应用非常
1
一、分片算法哈希分片哈希分片是一种常用的分库分表方法,它通过对键值对(key-value)进行哈希运算,将数据分布到多个数据库中。哈希分片的核心算法原理是将数据按照一定的规则映射到不同的数据库中。哈希分片算法的主要步骤如下:对于每个需要查询的数据,计算其哈希值。根据哈希值将数据映射到一个或多个数据库中。在查询数据时,根据哈希值确定需要查询的数据库。 范围分片范围分片是另一种常用的分库分表方法,它通
1.延时任务海量定时任务管理的场景非常多,在实际项目中,存在大量需要定时或是延时触发的任务, 比如电商中,延时需要检查订单是否支付成功,是否配送成功,定时给用户推送提醒等等。
1.Mongodb概念MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。(1)在高负载的情况下,添加更多的节点,可以保证服务器性能。(2)MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。(3)MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。(4)MongoDB 文档类似于 JSON 对象。字段值可以包含其他
一、5.6版本MySQL特性1.InnoDb 开始支持全文索引2.InnoDb 支持设置页面大小3.通过innodb_page_size 指定,默认是16KB,4.对于工作负载和存储设备(尤其是具有小块大小的SSD设备)的 某些组合,较小的页面大小可以帮助避免冗余或低效的I / O5.InnoDB redolog总大小的限制从之前的4G扩展至512G6.InnoDB现在可以限制大量表打开的时候内存
一、Redis5.0新特性
一、垃圾回收器汇总7种经典垃圾回收器:Serial、Serial old、ParNew、Parallel Scavenge、Parallel old、CMS、G1串行回收器:Serial、Serial old并行回收器:ParNew、Parallel Scavenge、Parallel old并发回收器:CMS、G1
一、Java 11 新特性局部变量类型推断:Java 11支持在局部变量的声明中使用var关键字进行类型推断。通过省略变量的类型,可以更简洁地声明局部变量,提高代码的可读性。字符串API增强:Java 11引入了一些新的方法和功能来处理字符串。其中包括isBlank()方法用于检测字符串是否为空白,lines()方法用于将字符串拆分成行,以及strip()、stripLeading()和strip
一、初始化流程Envoy(很可能是Envoy Proxy的拼写错误)的初始化流程是一个复杂且有序的过程,涉及多个组件的初始化和配置。以下是一个大致的Envoy初始化流程概述:启动Envoy:首先,Envoy进程被启动,这通常是通过命令行工具或容器编排工具(如Docker或Kubernetes)完成的。加载配置文件:Envoy启动后,它会加载配置文件,这个配置文件通常是YAML格式的,包含了Envo
一、Envoy整体架构Envoy作为容器被注入应用pod内时处理应用流量的流程;Envoy作为北向网关时,可以将外部用户与Ingress网关合并考虑。这时Ingress网关将作为所有外部用户的代理处理进入网格的流量。
一、简介Istio向应用中注入了istio-init和istio-proxy两个sidecar容器,Pilot-agent正是istio-proxy容器的启动命令入口。通过kubectl可以看到,在istio-proxy容器中一共有pilot-agent和Envoy两个进程,pilot-agent正是Envoy的父进程。pilot-agent除了启动Envoy进程,还可以代理应用的健康检查,代理x
一、Galley整体架构Galley是Istio API配置管理的核心组件,负责用户的API配置信息校验,保证API配置的合法性;另外,Galley负责接收外部的API配置,并为其他组件包括Pilot,Citadel等提供API的查询功能。
一、Istio证书和身份管理Istio中,工作负载的身份标识完全遵循SPIFFE标准身份标识SPIFFE ID是一个统一资源标识符,包含信任域和工作负载标识。服务网格中,数据面在通信方面同样基于工作负载的身份信息进行认证,授权和遥测数据的采集
Pilot是Istio控制面管理流量的核心组件,管理服务网格中的所有Envoy代理实例。允许用户创建服务之间的流量转发及路由规则,并配置故障恢复策略,例如超时,重试及熔断。还支持认证,鉴权等安全策略,以及监控,日志,调用链等观测性数据采集策略。
一、多集群服务治理
一、Sidecar的透明注入原理在Kubernetes中,Sidecar容器与应用容器共存于同一个pod中,并且共享同一个Network Namespace,因此Sidecar容器与应用容器共享同一个网络协议栈,这也是Sidecar能够通过iptables规则拦截应用进出口流量的根本原因。
一、认证方式基于mTLS的对等身份认证基于JWT令牌的服务请求认证Istio构建了面向应用的零信任安全体系,不管来自外部服务的访问,还是内部服务的访问,默认都是不可信任的。因此所有服务间的访问都必须基于认证,内部两个服务间的访问流量在网络上也要进行加密。二、安全认证相关组件Citadel:安全核心组件istiod中的Citadel实现了一个CA,用于密钥和证书管理。Envoy:作为服务网格数据面组
一、可观测性
一、流量治理的流程控制面:管理员通过命令行或者API创建流量规则Istio的控制面Pilot将流量规则转换为Envoy的标准格式Pilot通过xDS将规则下发给服务网格数据面Envoy数据面:Envoy拦截本地业务流程的Inbound和Outbound流量,并解析流量流量经过Envoy时执行接收到的流量规则,对流量进行治理。
一、Istio的定义
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号