阶段5-高频中间件
2024-08-25 19:19:24 0 举报
AI智能生成
俊俊的中间件导图
作者其他创作
大纲/内容
kafka
kafka使用场景
实时数据分析与监控
用户行为与活动数据分析
实时用户行为追踪
行为模式识别
活动趋势预测
实时交易与支付信息处理
交易数据实时验证
支付状态实时监控
系统性能指标监控
CPU与内存使用率监控
网络流量与延迟监控
错误日志与异常检测
日志管理与实时处理
日志聚合与统一存储
多源日志数据采集
日志文件抓取
API接口日志收集
日志数据实时处理
日志解析与格式化
日志数据实时索引
日志查询与分析
关键词搜索
日志趋势分析
队列与事件源管理
异步请求处理
请求队列管理
队列容量监控
请求优先级调度
消息可靠传输与持久化
消息确认机制
消息重试与死信队列
事件源记录与存储
数据变化历史记录
事件版本控制
事件时间戳管理
事件溯源与数据分析
事件流回溯
基于事件的数据聚合
流式处理与实时数据集成
实时数据流处理
数据流接入与解析
多协议支持
数据格式转换
实时计算与统计
实时指标计算
统计数据聚合
实时数据集成与同步
数据仓库实时导入
增量数据捕获
数据一致性校验
跨系统数据同步
同步策略配置
同步进度监控
大数据生态系统集成
Hadoop与Spark集成
大数据存储与处理
HDFS存储优化
Spark作业调度
数据湖构建
数据湖架构设计
数据湖安全与权限管理
微服务架构与物联网
微服务架构设计
服务组件解耦
服务接口定义
服务依赖管理
异步通信与事件驱动
消息队列应用
事件订阅与发布
物联网数据处理
传感器数据实时采集
数据采集协议
数据采集频率控制
物联网设备监控
设备状态实时监测
设备异常告警
实时监控与告警
系统性能与健康状态监控
监控指标定义
关键性能指标(KPIs)
系统健康指标
监控数据可视化
监控仪表盘设计
监控数据报表生成
基于事件的告警
告警规则配置
阈值告警
组合条件告警
告警通知与响应
告警消息推送
告警处理流程
内容管理与移动应用
实时内容处理与存储
用户生成内容处理
内容审核
内容分类与标签
内容分发与同步
CDN加速
内容缓存策略
移动应用同步
实时消息推送
推送通知管理
推送消息优化
用户状态同步
跨设备状态一致性
用户数据备份与恢复
广告系统优化
实时用户行为分析
用户兴趣建模
兴趣标签生成
兴趣权重调整
广告效果评估
点击率(CTR)分析
转化率(CVR)分析
实时广告数据处理
广告点击与展示数据收集
数据清洗与去重
数据实时入库
广告策略调整
广告位优化
广告内容推荐
开发申请kafka资源,如何交付给他
nginx
location匹配的优先级
精确匹配
完全匹配请求的url
复制代码location = /example {
# ...
}
这里使用了等号(=),它指示 Nginx 进行精确匹配。
# ...
}
这里使用了等号(=),它指示 Nginx 进行精确匹配。
前缀匹配
匹配以特定前缀开始的 URI。
location /example {
# ...
}
如果没有指定其他匹配符,默认就是前缀匹配。
# ...
}
如果没有指定其他匹配符,默认就是前缀匹配。
正则表达式匹配
区分大小写的正则表达式匹配
使用 ~ 符号
location ~ ^/example/.*\.html$ {
# ...
}
# ...
}
不去喷大小写的正则表达式匹配
使用 ~* 符号
复制代码location ~* ^/example/.*\.html$ {
# ...
}
# ...
}
最长前缀匹配
如果有多个前缀匹配,那么最长的那个将胜出。例如,/example 和 /example/path 都会匹配 /example,但请求 /example/path 时,会使用 /example/path 的配置,因为它的前缀更长。
以下是按优先级排序的详细列表:
精确匹配(=)
不区分大小写的正则表达式匹配(~*)
区分大小写的正则表达式匹配(~)
前缀匹配(如果没有指定其他匹配符)
最长前缀匹配(如果有多个前缀匹配)
精确匹配(=)
不区分大小写的正则表达式匹配(~*)
区分大小写的正则表达式匹配(~)
前缀匹配(如果没有指定其他匹配符)
最长前缀匹配(如果有多个前缀匹配)
需要注意的是,一旦 Nginx 找到了一个匹配的 location 块,它就不会再检查其他的 location 块了。因此,更具体的匹配(如精确匹配和正则表达式匹配)应该放在前面,以避免它们被更一般的前缀匹配所覆盖。此外,location 块中的 uri 可以包含变量,这时它们将被当作前缀匹配处理。
nginx调度算法的优缺点
优点
高并发性能
Nginx能够处理数万到十万级别的并发连接,其事件驱动架构使其在高并发环境下表现卓越
由于Nginx对网络稳定性的依赖较小,即使在网络条件不佳的环境下,也能稳定运行
丰富的调度策略
提供轮询、加权轮询、IP哈希、最少连接数等多种调度算法,满足不同业务场景需求
加权轮询算法能够根据服务器性能差异进行合适的任务分配,提升资源利用率
高效的数据处理能力
Nginx可以作为反向代理服务器,有效地分发请求至后端服务器,同时可以根据服务器返回的状态码进行故障转移
对HTTP和Email的支持使得Nginx在处理这类请求时更为高效。
易宇配置和扩展
Nginx的配置相对简单,便于快速部署和测试
支持动态加载和卸载模块,使得功能扩展更为灵活
高可用性和稳定性
Nginx本身具备高可用性,能够在后端服务器故障时自动转移流量
在处理静态文件和高并发请求方面,Nginx比传统Web服务器更具优势
缺点
对udp支持不足
Nginx主要支持TCP和HTTP协议,对UDP协议的支持较弱,这可能会限制其在特定应用场景下的用途。
对内部服务器健康检查功能相对简单
相较于其他负载均衡器,如HAProxy,Nginx的服务器健康检查机制较为基础,可能需要额外工具或脚本来完善
配置复杂性
虽然Nginx的配置相对简单,但在需要进行复杂配置的场合,其配置语言的表达式和结构可能会让初学者感到困惑。
对会话保持的支持有限
Nginx的Session保持和Cookie引导能力相对较弱,可能需要借助第三方模块或额外的配置工作来实现更完善的会话保持功能
仅适用于应用层负载均衡
Nginx工作在第七层,对于非HTTP或HTTPS协议的负载均衡需求,Nginx可能不是最佳选择。
elasticsearch
elasticsearch x-pack如何配置
生成证书
任选一台服务器的Elasticsearch bin目录下执行以下命令生成证书:
./elasticsearch-certutil ca
./elasticsearch-certutil cert --ca elastic-stack-ca.p12
./elasticsearch-certutil cert --ca elastic-stack-ca.p12
将生成的证书文件移动到config目录下,并确保所有节点都有这些证书
修改配置文件
辑elasticsearch.yml文件,添加或修改以下配置参数
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /path/to/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /path/to/config/elastic-certificates.p12
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /path/to/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /path/to/config/elastic-certificates.p12
其中/path/to/config/应替换为实际路径
设置ES账号密码
在任一节点上执行以下命令设置内置用户的密码:
./elasticsearch-setup-passwords interactive
或使用auto参数自动生成密码。设置成功后,需要重启Elasticsearch服务
重启ES服务器
依次重启所有ES服务器。在生产环境中,建议每次只重启一台服务器,以避免服务中断
elasticsearch角色都有哪些
主节点(Master)
负责管理集群的元数据和索引的创建、删除等全局级别的管理任务。
决定分片的分配和集群的状态。
可以分为专用候选主节点和仅投票主节点。
数据节点(Data)
负责存储数据并执行数据的添加、删除、修改、查询、搜索和聚合等操作。
对硬件资源(如 CPU、内存和磁盘)的需求较高。jgdf
协调节点(Coordinating)
负责处理客户端的请求,将请求分发到数据节点,并汇总数据节点的响应返回给客户端。
大多数节点默认都会兼任协调节点的角色。
仅投票节点(Voting Only)
专门用于参与主节点的选举,不存储数据,也不处理搜索和索引请求。
Ingest 节点
负责在数据写入 Elasticsearch 之前预处理数据,如解析、转换和提取结构化数据。
机器学习节点(Machine Learning)
负责执行机器学习任务,如异常检测和分类。
远程节点(Remote)
用于连接远程集群,使得可以在不同集群之间进行数据迁移和同步。
转换节点(Transform)
从 Elasticsearch 7.10 版本开始引入,用于执行数据转换任务,如聚合数据的转换。
候选主节点(Candidate Master)
:可以被选举为主节点的节点。
热数据节点(Hot Data Node)
存储经常访问的数据。
温数据节点(Warm Data Node)
存储不常访问但可能需要快速访问的数据。
冷数据节点(Cold Data Node)
存储不常访问的数据,通常存储成本较低。
冷冻数据节点(Frozen Data Node)
存储很少访问的数据,通常存储在成本最低的介质上
根据集群的需求和硬件资源,一个节点可以承担多个角色,也可以专门配置为只承担一个角色。合理地分配和配置这些角色对于维护一个高效、稳定的 Elasticsearch 集群至关重要。
用命令如何查看索引的refresh_interval信息
使用HTTP GET
curl -X GET "localhost:9200/your_index_name/_settings?pretty"
curl -X GET "localhost:9200/_all/_settings?pretty"
查看所有索引的设置,不列出每一格索引的详细设置,使用通配符
curl -X GET "localhost:9200/*/_settings?pretty"
查看JSON结果
{
"your_index_name": {
"settings": {
"index": {
"refresh_interval": "1s"
}
}
}
}
"your_index_name": {
"settings": {
"index": {
"refresh_interval": "1s"
}
}
}
}
refaresh_interval设置为1秒
添加用户认证
curl -u username:password -X GET "localhost:9200/your_index_name/_settings?pretty"
0 条评论
下一页