Spring Cloud Alibaba 基础案例 - Nacos、OpenFeign、Dubbo 以及各自的负载均衡和拦截器使用

Spring Cloud Alibaba 简介

spring cloud 和 spring cloud alibaba 的关系

简单来说,Spring Cloud 和 Spring Cloud Alibaba 之间是 “标准规范”与 “具体实现” 的关系。如果把 Spring Cloud 比作一套分布式微服务架构的 “官方设计图纸”,那么 Spring Cloud Alibaba 就是由阿里巴巴团队基于这套图纸,结合自身双十一超大规模高并发的实战经验,设计出的一套高性能 “具体施工方案” 和 “全家桶组件”。

Dubbo 3.2.x 简介、注册中心、tripe 流式调用以及跨语言支持演示

Dubbo 3.2.x 介绍

是什么?

Dubbo 是一款高性能、轻量级的开源 RPC(远程过程调用)服务框架,它最核心的功能是让分布式系统中的微服务能够像调用本地方法一样相互调用,并提供完善的服务治理能力。 它是一个为了解决分布式系统 “多节点连接难、调用慢、管理乱” 而诞生的全栈服务治理框架。 它的核心价值,就是用最少的性能损耗和最纯粹的代码体验,把一堆散落在不同机器上的服务,揉成一个有机的整体。


RPC - 基于 SPI 机制实现一个简单的 RPC 案例

为了彻底理解 RPC(远程过程调用)的底层原理,我们这里不使用任何第三方 RPC 框架(如 Dubbo 或 Spring Cloud),而是使用 SPI 机制加载我们自己写的 HTTP 和 netty 实现。HTTP 服务使用内置的 Tomcat,通过最原始的 HTTP 请求 + Java 动态代理 + 反射,纯手工打造一个迷你版 RPC 框架。整个案例分成三个模块,公共模块 demo-common,服务提供者 demo-provider,以及服务的调用者 demo-consumer。下面是这三个模块的完整实现代码。


Freeradius 3.2.10 实践 - 手动构建自己的证书签发系统

问题的引入

在之前的案例 《Freeradius 3.2.10 配置文件说明以及一个企业级网络认证案例》 中,我们已经搭建出一个在技术上非常完善的企业级网络安全认证系统。但还是存在一点不足之处,前面的 EAP-TTLS+PAP、或者 EPA-TLS 纯证书认证,使用到的证书都是 freeradius 3.2.10 自带的,这非常不安全。当然 freeradius 3.2.10 也自带了生成证书的脚本,你可以使用脚本生成自定义证书。但那不是我们的风格,我们要的是能够:

  • 自己生成 ca 根证书;

  • 自己使用 ca 根证书签发长期的 server 证书;

  • 自己可以使用 ca 证书签发长期的用户证书;

构建自主的证书签发系统,对于企业设备管理及网络准入安全具有长远的技术价值。在用户认证层面,针对传统硬件标识的局限性——MAC 地址存在伪造风险及动态随机化问题(随机 MAC/动态 MAC),而设备 SN 码又受限于 802.1X 协议无法直接传输——我们采取为每台设备下发唯一证书的策略(一机一证),将证书序列号作为设备的唯一身份标识,形成了极佳的技术补充。结合 FreeRADIUS + REST 服务,认证系统可在服务端对证书序列号进行实时安全校验,进而实现设备证书的动态吊销与即时准入控制,全面筑牢设备入网的安全防线。


Nacos 作为配置中心的使用探究

配置的演进说明

传统的本地配置

实际配置案例

在正式接入 Nacos 远程配置中心之前,我们必须先来看看传统的、本地的配置是怎么配合 Maven Profiles 玩转多环境切换的。在传统的做法中,为了隔离 dev(开发)、test(测试)、prod(生产)的配置,我们会在 src/main/resources 下整齐地排开 4 个 配置文件: