No title
分布式集群
选举原理
脑裂问题
客户端在和集群连接时,如何选择特定的节点执行请求?
工作原理
详细描述一下Elasticsearch索引文档的过程
详细描述一下Elasticsearch更新和删除文档的过程
详细描述一下Elasticsearch搜索的过程
Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
在并发情况下,Elasticsearch如果保证读写一致?
Elasticsearch中的倒排索引是什么?
Elasticsearch中的分析器是什么?
说说Elasticsearch常用的调优手段? (1)64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的。少于 8 GB 会适得其反。
(2)如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好。多个内核提供
的额外并发远胜过稍微快一点点的时钟频率。
(3)如果你负担得起 SSD,它将远远超出任何旋转介质。 基于 SSD 的节点,查询和索引性能 都有提升。如果你负担得起,SSD 是一个好的选择。
(4)即使数据中心们近在咫尺,也要避免 ...
No title
基于 Spark 的电商实时页面访问量统计案例场景说明本案例基于电商实时页面访问量统计场景,实现从数据生成到 Spark 流处理的完整链路。核心流程如下:
数据生成:模拟用户访问日志(含 URL、IP、时间戳等字段),推送至 Kafka;
流处理:Spark 消费 Kafka 数据,过滤无效 URL 并统计每分钟页面访问量
结果展示:聚合结果实时输出到控制台。
案例逻辑总体图123456789101112flowchart TD A[Kafka数据源] --> B[Spark Structured Streaming] B --> C{数据解析} C -->|JSON解析| D[结构化DataFrame] D --> E{数据清洗} E -->|过滤无效URL| F[有效访问数据] F --> G[按URL分组] G --> H[1分钟滑动窗口聚合] H --> I[实时Top5热门商品] I --> J[分叉输出] ...
No title
Paxos 协议分布式 KV 系统V存储系统对非结构化和半结构化数据进行高效存储,提供了很好的解决方案:
KV存储系统具有灵活的数据模型,数据表示为Key, Value对形式,为任意数据类型,且长度不定;
KV存储的访存接口非常简单,向外提供Put、Get、Scan等简单的接口进行数据读写;
KV存储还具备高可扩展性,数据基于Key进行划分和索引,无需维护额外的元数据。
由于KV存储系统具有上述诸多优点,因此被广泛应用在了NewSQL和NoSQL产品中。比如目前常见的KV存储系统:LevelDB、RocksDB、Cassandra、TiKV等。
LSM-tree(log-structured merge tree)架构作为存储引擎,其具有高效的写入效率,但同时存在严重的读写放大问题。
No title
SentryOps Day 0为帮助大家及时了解我们这个项目以及掌握后续参与项目建设与开发所需的知识和技能,下面对本项目进行一些介绍和技术栈的介绍。
项目背景和结项要求项目的灵感来自于去年和 IBM 中国 合作的一个 LinuxONE 可观测平台,主要是为了在 IBM 的 s390x 架构的大型机服务器上提供对物理机的可观测能力。云计算领域,物理服务器一般是通过虚拟化技术划分成各种逻辑分区,作为云服务器实例(可以理解为虚拟机)提供给用户使用的。而针对云服务器场景的监控方案业界一般都比较成熟了,这个项目的目标是提供一种对物理机的监控方案,以便于更好的了解物理机的运行状态,从而更好的管理物理机。
但是 IBM 大型机特有的 s390x 架构非常特殊(通常服务器基于 x86 架构),如果更换一个硬件平台,这套方案就行不通了。所以我们决定重新设计一个更通用的、更进一步的、完成原本没能完成,或者没能完成得很好的功能,打造一个面向 x86 架构的智能运维和可观测系统,这就是 SentryOps。
我们申报的是百步梯项目,项目为期一年,一般来说结项的要求是最终申请一个软著(如果能发论文、在其他例如互 ...
云函数
kata container感性认知
K8s
High-level container runtime(container engine): docker,containerd,cri-o
Low-level container runtime:kata containers、runc、gVisor、youki
OCI:Open Container Initiative
runtime-spec 运行时规范(底层运行时)
image-spec 镜像规范
distribution-spec 分发规范
registry server 仓库服务器
runccontainerdcri-o
minikube
minikube部署所需要的文件:
deployment.yaml
service.yaml
configmap.yaml
Protobuf
什么是 Protobuf?Protobuf 是 Google 开发的一种 高效的数据序列化协议,全称是 Protocol Buffers,它用来定义和传输结构化数据。它特别适合在不同系统之间进行高性能的数据交换。相比传统的数据格式(如 XML 和 JSON),Protobuf 更快、更小、更高效。
1. 为什么需要 Protobuf?问题:效率与标准化在分布式系统中,不同服务之间需要交换大量的数据。传统方法有以下局限:
JSON/XML:文本格式,臃肿且慢
例如,{"name":"Alice", "age":25},需要重复字段名(如 name 和 age),导致传输数据量大。
XML 更严重,因为还需额外的标签嵌套结构(<name>Alice</name>)。
需要强类型定义
数据格式必须明确定义,以防止发送方和接收方的理解不一致(例如数据类型、字段顺序)。
跨语言支持
不同系统可能用不同编程语言,格式需要能被所有语言解析。
Protobuf ...
Google C++ Style Guide
Google C++ Style Guidetable of contents
Section
Subsections
C++ Version
Header Files
Self-contained Headers, The #define Guard, Include What You Use, Forward Declarations, Inline Functions, Names and Order of Includes
Scoping
Namespaces, Internal Linkage, Nonmember, Static Member, and Global Functions, Local Variables, Static and Global Variables, thread_local Variables
Classes
Doing Work in Constructors, Implicit Conversions, Copyable and Movable Types, Structs vs. Classes, Struct ...