微服务
文章平均质量分 92
青衫客36
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈 TLS / mTLS 握手过程 —— 以 gRPC 安全通信为例
摘要: TLS/mTLS 是分布式系统安全通信的核心技术。本文通过 Python+gRPC 项目实例,详解双向 TLS 握手流程:客户端与服务器通过自建 CA 证书双向验证身份(ca.pem校验server.pem/client.pem),使用 ECDHE 算法协商临时对称密钥,建立加密通道。mTLS 在 TLS 基础上增加客户端证书认证,结合 Casbin 实现应用层权限控制(如校验证书 CN 进行接口授权)。相比单向 TLS,mTLS 提供更高安全性,适用于微服务、金融等内部系统。全文通过交互时序图与对原创 2025-10-08 17:01:07 · 1619 阅读 · 0 评论 -
浅谈 Protobuf 的二进制编码:<tag + wire_type> + value
Protobuf 编码原理剖析:从字节层面理解数据序列化 本文深入解析了 Protobuf 的高效编码机制,通过两个典型示例(整数150和字符串"hi")展示了其底层实现原理。Protobuf 采用 (tag+wire_type)+value 的结构进行编码,其中 wire_type 决定了值的编码方式。对于 Varint 类型(如整数150),采用7位分组+最高位标志位的可变长编码;对于 Length-delimited 类型(如字符串),则采用长度前缀+内容的编码方式。文章详细演示了原创 2025-10-08 11:03:50 · 907 阅读 · 0 评论 -
浅谈 gRPC——以 Python 项目 secure_services_py 为例
本文深入解析gRPC框架在微服务架构中的应用,重点介绍其通过HTTP/2、Protobuf和TLS组成的四层架构实现高效安全的远程调用。文章对比了gRPC与传统REST的优势,包括类型安全、性能优化和内置mTLS认证等特性,并结合作者Python项目展示gRPC如何与Casbin授权结合构建完整的安全服务栈。通过分析通信流程和项目实现,阐明gRPC在分布式系统中作为"机器间语言"的核心价值,即提供结构化通信、高性能调用和内建安全三大能力。原创 2025-10-07 23:51:28 · 680 阅读 · 0 评论 -
浅谈 Protobuf——高效、安全的跨语言通信基石
摘要:Protocol Buffers (Protobuf) 是 Google 开发的高效数据序列化协议,相比 JSON/XML 具有更小的体积、更快的速度和更强的类型检查。文章介绍了 Protobuf 的特性、与 JSON 的对比、编译流程及生成文件解析,展示了其在 gRPC 通信中的核心作用。通过定义 .proto 文件并生成 Python 代码,Protobuf 实现了跨语言的高效数据传输,并与 TLS/mTLS、Casbin 等安全机制共同构建了完整的安全通信链路。其高性能、强类型和可扩展性优势使其原创 2025-10-07 23:28:50 · 738 阅读 · 0 评论 -
浅谈 Casbin 的三种策略效果(Policy Effect):deny-overrides、allow-override 与 priority
Casbin 是一个通用的访问控制框架,支持多种访问控制模型(ACL、RBAC、ABAC等)和灵活的决策机制。其核心思想基于策略(Policy)和模型(Model)的分离设计,通过动态匹配请求与策略实现授权判断。 Casbin 提供三种主要的效果决策模式: deny-overrides - 拒绝优先,任何 deny 策略将覆盖 allow allow-override - 允许优先,存在 allow 即放行(默认模式) priority(p.eft) - 按优先级字段决定最终结果 选择建议: 严格安全场景使原创 2025-10-07 16:15:06 · 816 阅读 · 0 评论 -
基于 Python 构建的安全 gRPC 服务——TLS、mTLS 与 Casbin 授权实战
本文介绍了一个基于mTLS和gRPC的安全日志服务系统,实现了分布式环境下的安全通信与访问控制。系统通过根CA签发服务端和客户端证书,建立双向认证机制;使用Casbin进行细粒度权限管理,基于客户端证书的CN字段验证身份;采用gRPC实现高性能通信。文章详细展示了证书体系构建、服务-,-端安全配置、访问控制策略设计以及客户端调用流程,最后提出了日志持久化、动态策略管理等扩展方向。该系统有效解决了微服务通信中的加密传输、身份认证和权限控制三大核心安全问题。原创 2025-10-07 16:01:33 · 1411 阅读 · 0 评论 -
浅谈 Kubernetes 微服务部署架构
本文解析了基于Kubernetes的微服务部署架构,从代码提交到应用上线的全流程。架构包含代码交付流水线、K8s集群调度、外部访问路由和中间件支撑四大模块,通过CI/CD实现自动化部署,利用Service和Ingress提供稳定访问入口,并整合Redis、Elasticsearch等中间件增强系统能力。该架构支持弹性伸缩、高可用等特性,是现代云原生应用的最佳实践方案,可为企业构建微服务体系提供直接参考。原创 2025-09-23 22:30:43 · 1293 阅读 · 0 评论 -
负载均衡之带权重的随机负载均衡算法详解与实现
带权随机负载均衡是一个简单而实用的策略,它能根据节点权重调整流量分布,避免“木桶短板效应”。在节点规模较小、权重变化不频繁的场景下,完全够用。如果需要更平滑的分布,可以考虑平滑加权轮询(SWRR)或加权一致性哈希等更高级的算法。原创 2025-08-26 20:26:19 · 1318 阅读 · 0 评论 -
负载均衡之平滑加权轮询(Smooth Weighted Round Robin)详解与实现
摘要(149字): 平滑加权轮询(SWRR)算法解决了传统加权轮询中高权重实例连续被选中的问题,实现更均匀的流量分配。该算法通过动态调整实例的currentWeight(初始值=固定权重),每次选择权重最高的实例后扣除总权重值,形成周期性波动。以A(5)、B(1)、C(1)为例,SWRR生成"A,A,B,A,C,A,A"的序列,既满足5:1:1比例,又避免连续请求集中。算法实现包含权重累加、最大值选择和权重扣减三个核心步骤,当总权重≤0时退化为普通轮询。Java代码通过并发锁保障线程安全原创 2025-08-26 19:58:19 · 1194 阅读 · 0 评论 -
SpringBoot- 查看Maven依赖API文档
在 Maven 中查看某个依赖的所有 API 文档,最常见的方式是通过添加 Javadoc 并使用 IDE 自动集成查看,或者直接访问 Maven 仓库网站。原创 2024-10-29 23:23:32 · 1290 阅读 · 0 评论 -
docker 安装 RabbitMQ & 安装 rabbitmq_delayed_message_exchange插件
RabbitMQ安装延迟交换机插件原创 2024-03-14 19:07:35 · 1593 阅读 · 1 评论 -
微服务- 熔断、降级和限流
熔断:自动检测服务故障,暂时切断服务调用,防止故障扩散,类似于电路中的熔断器。降级:在服务出现问题时,主动降低服务质量(如返回默认响应),保证核心服务的可用性。限流:控制访问频率和并发量,防止服务因过度使用而过载,确保服务的稳定性。这些技术手段通常在微服务架构中是相辅相成的,通过合理的设计和实现,可以显著提高分布式系统的弹性和稳定性。原创 2024-02-18 11:46:14 · 3071 阅读 · 0 评论
分享