微服务
文章平均质量分 93
Dontla
Life is short, I use AI.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Prometheus如何采集Keycloak内置 Metrics?(Quarkus、Micrometer微米计、SmallRye)OOM、GC风暴、ServiceMonitor、无需exporter
Quarkus(新版本)Micrometer(微米计)实现了内置指标暴露。/metrics接口。Prometheus 可以直接抓取该接口。base_*这些都是标准 Prometheus Metrics。Keycloak 新版本已经原生支持 Prometheus Metrics。开启 Metrics↓暴露 /metrics↓Prometheus 抓取↓Grafana 展示↓AlertManager 告警无需 exporter配置简单Kubernetes 友好。原创 2026-05-11 17:00:23 · 419 阅读 · 0 评论 -
为什么要导出Keycloak Realm配置?(生产化、自动化、可迁移化)kc.sh、realm-export.json基础设施配置文件、IaC身份即代码、配置即代码、IAM平台、配置漂移
在 Keycloak 中:Realm 可以理解为:一套独立的身份认证空间用户ClientRoleGroupSMTP 配置(简单邮件传输协议)Token 配置Session 配置masterproductionstagingdevinternalcustomer-a每个 Realm 都是一套完整 IAM(身份认证)体系。Realm 导出:就是把整个 Realm 的配置导出成 JSON 文件。本质上:Realm Export = 基础设施配置文件。原创 2026-05-11 02:35:00 · 419 阅读 · 0 评论 -
DecK工具介绍(Declarative Configuration for Kong网关的声明式配置工具,可同步配置,热更新运行中的网关)类似Terraform、导出Kong配置、导出配置
decK 是Kong 官方Kong 配置管理与同步工具官方名称:从 Kong 导出配置将 YAML 配置同步到 Kong比较差异批量管理对象实现 Infrastructure as Code(IaC)decK 真正解决的是:API Gateway 配置治理问题。手工点 UI声明式配置 + GitOps + 自动化这是现代平台工程的重要组成部分。decK 是 Kong 生态里极其重要的工具。可版本化可审计可回滚可自动化可 GitOps 化。原创 2026-05-10 17:11:38 · 411 阅读 · 0 评论 -
TLS终止(TLS Termination)介绍(某个网络组件负责解密HTTPS,然后把明文流量继续转发到后端服务)HTTPS终止、负载均衡器负责处理TLS终止、TLS透传、TLS二次加密
TLS(Transport Layer Security)是一种:用于保护网络通信安全的加密协议它是 HTTPS 的核心。HTTP + TLS数据加密防止窃听防止中间人攻击身份认证数据完整性校验TLS Termination 的本质是:某个网络组件负责“解密 HTTPS”,然后把明文流量继续转发到后端服务。客户端│HTTPS(TLS)│负载均衡器 / Ingress / API Gateway│HTTP(明文)│后端服务TLS 在负载均衡器处结束。原创 2026-05-10 04:09:39 · 377 阅读 · 0 评论 -
Loki介绍(Grafana Labs轻量级日志聚合系统,不索引日志内容,只索引元数据labels)LogQL查询语言、日志监控、日志系统、ELK、Promtail、Query Frontend
Loki 是由 Grafana Labs 推出的一个轻量级日志聚合系统,其设计灵感来源于 Prometheus。不对日志全文建立索引只对标签(labels)建立索引这使得 Loki 在存储成本和查询效率之间取得了很好的平衡。Loki 的核心优势可以总结为一句话:👉用最小的成本,解决大规模日志问题它通过“只索引标签”的设计,在性能与成本之间取得了极佳平衡,非常适合云原生和微服务环境。原创 2026-05-06 18:10:50 · 400 阅读 · 0 评论 -
KIC(Kong Ingress Controller)(运行在K8s集群中的控制器,将K8s的Ingress/CRD资源,转换为Kong网关的配置)CRD自定义资源定义、KongIngress
是一个运行在 Kubernetes 集群中的控制器,它的核心作用是:将 Kubernetes 的 Ingress / CRD 资源,转换为 Kong 网关的配置。Kubernetes 负责声明“流量应该如何走”KIC 负责“翻译这些规则”Kong 负责“真正执行流量转发与治理”CRD 是 Custom Resource Definition(自定义资源定义)的缩写,它是 Kubernetes 提供的核心 API 扩展机制。原创 2026-05-04 02:55:55 · 852 阅读 · 1 评论 -
Kong:DB-less(无数据库模式)与非DB-less模式(传统数据库模式DB-backed)的区别(Cassandra、动态配置Admin API、Kong Manager、ConfigMap)
DB-less(无数据库模式)指的是:Kong不依赖任何数据库(如 PostgreSQL / Cassandra),所有配置通过声明式文件(Declarative Config)加载。services:routes:paths:- /example部署简单(无需数据库)启动速度快性能更高(少一次 DB 查询)配置即代码(GitOps 友好)更容易容器化 / Kubernetes 化不支持 Admin API 动态修改配置修改配置需要重新加载(reload)不适合频繁变更的场景。原创 2026-05-03 22:14:30 · 390 阅读 · 0 评论 -
分布式系统三平面架构(数据平面:处理业务流量、控制平面:决策与配置分发,指导数据平面、管理平面:人或外部系统操作接口,用于配置、监控和运维)介绍(SDN控制器:软件定义网络)
数据平面是系统中真正处理业务流量的部分,负责数据的转发、处理和响应。控制平面负责决策与配置分发,它不直接处理业务流量,而是指导数据平面如何工作。管理平面是面向人或外部系统的操作接口,用于配置、监控和运维。数据平面:负责“执行”(处理流量)控制平面:负责“决策”(下发规则)管理平面:负责“管理”(配置与观测)可扩展性可维护性稳定性安全性在云原生、微服务、服务网格等场景中,这种设计已经成为事实标准。理解并掌握它,是构建复杂系统的关键能力之一。原创 2026-05-03 19:14:30 · 416 阅读 · 0 评论 -
摘流(Traffic Draining)介绍(在服务实例下线前,先停止接收新的请求,但继续处理已在进行中请求,直到处理完成或超时,然后安全退出)preStop、readinessProbe
摘流(Draining / Traffic Draining)指的是:在服务实例下线前,先停止接收新的请求,但继续处理已在进行中的请求,直到处理完成或超时,然后再安全退出。❌ 不再接新流量✅ 把手头的活干完✅ 再优雅退出生产级系统的基础能力发布不中断扩缩容无感知故障可控摘流 = 优雅拒绝新请求 + 安全处理旧请求Kubernetes 运维微服务治理API 网关(如 Kong)那摘流是必须掌握的核心能力之一。原创 2026-05-01 19:51:15 · 350 阅读 · 0 评论 -
退避间隔(Backoff Interval)介绍(请求失败重试间隔)雪崩效应、固定退避、请求重试、线性退避、带抖动的指数退避、惊群效应、死信队列(DLQ)
退避间隔(Backoff Interval)指的是在请求失败后,系统在下一次重试之前等待的时间间隔。简单来说就是:❗“失败之后不要立刻重试,而是等一会再试”策略推荐程度说明固定退避❌简单但风险高线性退避⚠️有改进但不够指数退避✅常用指数退避 + 抖动⭐⭐⭐最佳实践。原创 2026-05-01 00:31:12 · 387 阅读 · 0 评论 -
为什么特定场景只重试幂等请求,不重试非幂等请求?(幂等性Idempotence)因为重复非幂等请求会对系统产生重复的副作用
一个操作执行一次和执行多次,产生的副作用(对系统状态的改变)完全相同。原创 2026-04-30 23:28:14 · 154 阅读 · 0 评论 -
Keycloak介绍(开源身份认证与访问控制解决方案)Realm租户、User用户、身份代理、用户联合、LDAP、自定义SPI、多因素认证MFA、硬件密钥WebAuthn、自定义扩展SPI、IAM平台
Keycloak 是一个开源的身份认证与访问控制解决方案,由 Red Hat 主导开发。它的目标是:👉让开发者无需重复造轮子,就能快速为应用接入安全的认证与授权能力单点登录(SSO)用户管理身份代理(Identity Brokering)社交登录(如 Google、GitHub)多因素认证(MFA)细粒度访问控制自定义认证流程自定义用户存储自定义事件监听SPI 服务提供者接口,是Java中的一种扩展机制,允许开发者自定义实现特定接口来扩展系统功能。原创 2026-04-30 01:32:19 · 450 阅读 · 0 评论 -
Kong介绍(基于Nginx和Lua(OpenResty)构建的开源API网关)Mashape、数据平面、控制平面、无数据库模式DB-less、负载均衡策略、Ingress、WAF、Envoy、KIC
Kong 是一款基于 Nginx 和 Lua(OpenResty)构建的开源 API 网关,最初由 Mashape(现为 Kong Inc.)开发。它专注于为微服务架构提供高性能、可扩展的 API 管理能力。高性能(基于 Nginx 事件驱动模型)插件化架构,功能可扩展支持多种部署模式(传统 / DB-less / Kubernetes)云原生友好(与 Kubernetes、Service Mesh 生态兼容)高性能、稳定可靠插件化设计,扩展性强云原生友好,适配 Kubernetes。原创 2026-04-30 00:27:52 · 441 阅读 · 0 评论 -
热插拔(Hot Swap、Hot Plug)介绍(在系统运行状态下,对组件进行插入、移除或替换,而不会中断服务)冷插拔(Cold Plug)、动态注册、动态注销、DRAINING排空、无状态设计
在系统运行状态下,对组件进行插入、移除或替换,而不会中断服务。场景含义硬件插拔硬盘、网卡、电源模块操作系统动态加载内核模块软件系统动态替换模块 / 服务微服务灰度发布、动态扩缩容动态切换处理节点让系统在运行中“进化”,而不是“重启”。preprocess_node(清洗 / 意图识别)可以随时优化算法可以动态切换模型可以快速回滚错误版本这正是现代系统“高可用 + 高迭代”的核心能力之一。原创 2026-04-28 01:11:09 · 415 阅读 · 0 评论 -
故障分级标准(Incident Severity)P级别 / SEV级别介绍(P0 / SEV1)
一个“好用”的分级体系应该具备:✅ 简单清晰(不超过5级)✅ 可量化(有判断标准)✅ 可执行(绑定响应机制)✅ 可复盘(持续优化)在混乱中建立秩序,在压力中做出正确决策。不争论严重性自动触发响应流程快速恢复系统说明你的分级体系已经真正落地了。原创 2026-04-26 19:18:26 · 441 阅读 · 0 评论 -
HTTP Content-Type介绍(x-www-form-urlencoded、multipart/form-data、text/plain、text/html、octet-stream)内容类型
是 HTTP 头(Header)中的一个字段,用来指明请求或响应体的数据类型(媒体类型,MIME type)。简单来说,它回答的是一个问题:👉 “这段数据是什么格式?表示 Body 中的数据是 JSON 格式。Content-Type 决定了数据如何被解析。它定义数据格式请求和响应都可以使用错了就会解析失败。原创 2026-04-25 16:11:24 · 429 阅读 · 0 评论 -
Sidecar模式介绍(边车模式)(将一个辅助功能模块以独立进程/容器形式,与主应用部署在同一运行环境中,共同提供服务)服务网格Service Mesh、Istio、Library模式
Sidecar 模式源自现实生活中的“边车”(摩托车旁边的小车厢)。将一个辅助功能模块以独立进程/容器的形式,与主应用部署在同一运行环境中,共同提供服务。一个 Pod 中运行多个容器主容器负责业务逻辑Sidecar 容器负责“通用能力”[ 主业务容器 ] <---> [ Sidecar 容器 ]↑ ↑业务逻辑 通用能力(日志、网络、安全等)解耦复用统一治理在 Kubernetes 生态中,Sidecar 已成为事实标准,尤其是在 Service Mesh 场景下。原创 2026-04-23 23:12:45 · 515 阅读 · 0 评论 -
微服务熔断机制介绍(当服务调用失败率过高时,主动切断请求,防止故障扩散,避免持续请求拖垮系统)熔断器三种状态:关闭状态、打开状态、半开状态;请求量Request Volume、低流量误判、服务网格
熔断(Circuit Breaker)是一种故障隔离与保护机制当电流异常(类似服务异常)时,电路会自动断开(熔断)防止问题扩散,保护整体系统一段时间后尝试恢复(半开状态)在微服务中,熔断的作用是:当某个服务调用失败率过高时,主动切断请求,避免持续请求拖垮系统。熔断 + 限流 + 重试组合使用必须配合降级策略合理设置阈值与时间窗口优先使用成熟组件(而非自研)结合可观测性系统进行分析与调优熔断机制是微服务架构中不可或缺的一环,它通过“主动失败”来保护系统整体稳定性。原创 2026-04-23 23:03:02 · 416 阅读 · 0 评论 -
Istio介绍(开源服务网格Service Mesh平台,用于统一管理微服务之间通信)Sidecar、数据平面Data Plane、Envoy Proxy、控制平面Control Plane、mTLS
Istio是一个开源的服务网格平台,用于统一管理微服务之间的通信。它的核心思想是:👉将服务治理能力从业务代码中剥离,下沉到基础设施层通过这种方式,开发者可以专注业务逻辑,而不用关心复杂的网络通信细节。在理解 Istio 之前,需要先了解服务网格。服务网格是一种架构模式,它通过在每个服务旁边部署一个“代理”(Sidecar),来接管所有服务间的通信。Istio 本质上是:👉微服务时代的“网络操作系统”解耦业务与通信逻辑提供统一治理能力提升系统可观测性与安全性。原创 2026-04-22 22:24:36 · 428 阅读 · 0 评论 -
可观测性Observability三大支柱:指标Metrics、日志Logs、追踪Trace介绍(通过系统外部输出,推断系统内部状态能力)全链路路径、Span跨度、OpenTelemetry、性能监控
通过系统外部输出,推断系统内部状态的能力在软件系统中,可观测性意味着:系统现在是否健康?问题发生在哪里?为什么会发生?如何修复?Metrics 是随时间变化的数值型数据,通常以时间序列(Time Series)的形式存在。CPU 使用率请求 QPS(每秒请求数)响应时间(Latency)错误率(Error Rate)Logs 是系统运行过程中记录的离散事件文本。Traces 描述一次请求在分布式系统中的完整调用链路。原创 2026-04-19 16:03:33 · 184 阅读 · 0 评论 -
Grafana Tempo介绍(分布式追踪后端系统,用于存储和查询追踪数据)OpenTelemetry、OTLP、无索引、TraceID查询、低成本、依赖对象存储、Exemplars
Tempo 是由 Grafana Labs 开源的分布式追踪后端系统,用于存储和查询 trace 数据。“一个专注于低成本、高可扩展的 trace 存储系统”不做复杂索引不承担数据采集专注存储 + 查询用“查询能力”换“极致成本与扩展性”它并不是 Jaeger 的替代品,而是不同场景下的最优解想要强查询能力 → 选 Jaeger想要低成本 + 高规模 → 选 Tempo。原创 2026-04-19 02:50:45 · 438 阅读 · 0 评论 -
Jaeger介绍(微服务架构分布式追踪利器,Distributed Tracing)(Trace追踪、Span跨度、Context上下文)OpenTelemetry、服务网格Istio、Tempo
追踪请求在微服务间的调用路径分析系统性能瓶颈排查复杂的分布式故障高可扩展性(支持大规模数据)低开销(适合生产环境)与云原生生态深度集成如今,Jaeger 已成为 Cloud Native Computing Foundation(CNCF)的毕业项目之一。✅ 强大的调用链分析能力✅ 成熟稳定的生态✅ 与 OpenTelemetry 无缝集成如果你正在构建微服务或云原生系统,Jaeger 几乎是必备工具之一。原创 2026-04-19 02:20:25 · 364 阅读 · 0 评论 -
OpenTelemetry(OTel)介绍(开源可观测性框架,统一采集和导出指标、日志、链路追踪)OTLP协议、自动埋点、采集标准、三层架构:API&SDK、Collector、Backend
OpenTelemetry(简称 OTel)Metrics(指标):如 QPS、延迟、错误率Logs(日志):系统运行日志Traces(链路追踪):请求在分布式系统中的调用路径它由 Cloud Native Computing Foundation(CNCF)孵化,是目前事实上的可观测性标准之一。OpenTelemetry = 统一的数据采集标准 + 可插拔的数据导出机制OpenTelemetry 的核心价值在于:✅ 统一标准(避免工具割裂)✅ 解耦采集与存储✅ 支持多语言、多后端。原创 2026-04-19 01:58:52 · 602 阅读 · 0 评论 -
JWT用户认证后微服务间如何认证?(双向TLS(mTLS)、API网关、Refresh Token刷新Token)建议微服务间不要传递用户认证Token
在微服务架构中,用户通过账号密码获取 JWT 后,微服务之间的调用方式和认证机制需要根据业务场景和安全需求进行设计。通过合理设计认证流程,可以在保证安全性的同时,实现微服务架构的灵活性和可扩展性。服务间通信需要确保调用方的身份合法性,但。微服务无需依赖认证服务,减少耦合。,而是服务本身的身份验证。无状态,适合分布式系统。原创 2025-08-25 21:56:31 · 1304 阅读 · 0 评论 -
Saga模式介绍(一种分布式事务解决方案,旨在解决微服务架构中跨多个服务的数据一致性问题)(分步提交,失败则补偿)(与TCC模式的对比)
Saga 模式是一种分布式事务解决方案,旨在解决微服务架构中跨多个服务的数据一致性问题。它通过将一个大事务拆分为多个本地事务(每个服务内部的原子操作),并通过事件驱动或消息传递协调这些事务。如果某个步骤失败,Saga 模式会通过补偿事务回滚之前的操作,最终实现系统的最终一致性。核心思想Saga 模式的本质是“分步提交,失败则补偿”。原创 2025-08-11 15:32:49 · 1177 阅读 · 0 评论 -
微服务架构(Microservices Architecture)(一种云原生架构模式,通过将应用程序拆分为多个小型、独立、自治的服务,每个服务专注于特定的业务功能,并通过定义明确的接口进行通信)
微服务(Microservices Architecture)是一种云原生架构模式,通过将应用程序拆分为多个小型、独立、自治的服务,每个服务专注于特定的业务功能,并通过定义明确的接口(如 REST API、消息队列等)进行通信。这种架构模式旨在提高系统的灵活性、可维护性和可扩展性。核心特点。原创 2025-08-11 15:00:09 · 944 阅读 · 0 评论
分享